Translated using Weblate (Portuguese)
[phpmyadmin.git] / tests / unit / ApplicationTest.php
blobd1a6cc5cb9a03c89acdb4a5bde2c75285a757a6a
1 <?php
3 declare(strict_types=1);
5 namespace PhpMyAdmin\Tests;
7 use PhpMyAdmin\Application;
8 use PhpMyAdmin\Config;
9 use PhpMyAdmin\Container\ContainerBuilder;
10 use PhpMyAdmin\Error\ErrorHandler;
11 use PhpMyAdmin\Exceptions\ConfigException;
12 use PhpMyAdmin\Http\Factory\ResponseFactory;
13 use PhpMyAdmin\Template;
14 use PHPUnit\Framework\Attributes\BackupStaticProperties;
15 use PHPUnit\Framework\Attributes\CoversClass;
17 #[CoversClass(Application::class)]
18 final class ApplicationTest extends AbstractTestCase
20 public function testInit(): void
22 $application = ContainerBuilder::getContainer()->get(Application::class);
23 self::assertInstanceOf(Application::class, $application);
24 self::assertSame($application, Application::init());
27 #[BackupStaticProperties(true)]
28 public function testRunWithConfigError(): void
30 $errorHandler = self::createStub(ErrorHandler::class);
32 $config = self::createMock(Config::class);
33 $config->expects(self::once())->method('loadFromFile')
34 ->willThrowException(new ConfigException('Failed to load phpMyAdmin configuration.'));
35 $config->config = new Config\Settings([]);
37 $template = new Template($config);
38 $expected = $template->render('error/generic', [
39 'lang' => 'en',
40 'error_message' => 'Failed to load phpMyAdmin configuration.',
41 ]);
43 $application = new Application($errorHandler, $config, $template, ResponseFactory::create());
44 $application->run();
46 $output = $this->getActualOutputForAssertion();
47 self::assertSame($expected, $output);