Fixed test coverage and naming

main
Igor Scheller 3 years ago
parent c8901610bd
commit 4825c2de2b

@ -49,7 +49,7 @@ class Globals extends TwigExtension implements GlobalsInterface
} }
if (array_key_exists($themeId, $themes) === false) { if (array_key_exists($themeId, $themes) === false) {
$themeId = 1; $themeId = array_key_first($themes);
} }
$theme = $themes[$themeId]; $theme = $themes[$themeId];

@ -12,7 +12,7 @@ class AssetsTest extends ExtensionTest
* @covers \Engelsystem\Renderer\Twig\Extensions\Assets::__construct * @covers \Engelsystem\Renderer\Twig\Extensions\Assets::__construct
* @covers \Engelsystem\Renderer\Twig\Extensions\Assets::getFunctions * @covers \Engelsystem\Renderer\Twig\Extensions\Assets::getFunctions
*/ */
public function testGetGlobals() public function testGetFunctions()
{ {
/** @var UrlGenerator|MockObject $urlGenerator */ /** @var UrlGenerator|MockObject $urlGenerator */
$urlGenerator = $this->createMock(UrlGenerator::class); $urlGenerator = $this->createMock(UrlGenerator::class);

@ -29,16 +29,18 @@ class GlobalsTest extends ExtensionTest
$theme = ['name' => 'Testtheme', 'navbar_classes' => 'something']; $theme = ['name' => 'Testtheme', 'navbar_classes' => 'something'];
$theme2 = ['name' => 'Bar']; $theme2 = ['name' => 'Bar'];
$theme3 = ['name' => 'Lorem']; $theme3 = ['name' => 'Lorem'];
/** @var User $user */
$user = User::factory() $user = User::factory()
->has(Settings::factory(['theme' => 42])) ->has(Settings::factory(['theme' => 42]))
->create(); ->create();
$config = new Config(['theme' => 23, 'themes' => [42 => $theme, 23 => $theme2, 1337 => $theme3]]); $config = new Config(['theme' => 23, 'themes' => [42 => $theme, 23 => $theme2, 1337 => $theme3]]);
$auth->expects($this->exactly(3)) $auth->expects($this->exactly(4))
->method('user') ->method('user')
->willReturnOnConsecutiveCalls( ->willReturnOnConsecutiveCalls(
null, null,
$user, $user,
$user,
null null
); );
@ -46,17 +48,25 @@ class GlobalsTest extends ExtensionTest
$extension = new Globals($auth, $request); $extension = new Globals($auth, $request);
// No user
$globals = $extension->getGlobals(); $globals = $extension->getGlobals();
$this->assertGlobalsExists('user', [], $globals); $this->assertGlobalsExists('user', [], $globals);
$this->assertGlobalsExists('request', $request, $globals); $this->assertGlobalsExists('request', $request, $globals);
$this->assertGlobalsExists('themeId', 23, $globals); $this->assertGlobalsExists('themeId', 23, $globals);
$this->assertGlobalsExists('theme', $theme2, $globals); $this->assertGlobalsExists('theme', $theme2, $globals);
// User
$globals = $extension->getGlobals(); $globals = $extension->getGlobals();
$this->assertGlobalsExists('user', $user, $globals); $this->assertGlobalsExists('user', $user, $globals);
$this->assertGlobalsExists('themeId', 42, $globals); $this->assertGlobalsExists('themeId', 42, $globals);
$this->assertGlobalsExists('theme', $theme, $globals); $this->assertGlobalsExists('theme', $theme, $globals);
// User with not available theme configured
$user->settings->theme = 9999;
$globals = $extension->getGlobals();
$this->assertGlobalsExists('themeId', 42, $globals);
// Request query parameter
$request->query->set('theme', 1337); $request->query->set('theme', 1337);
$globals = $extension->getGlobals(); $globals = $extension->getGlobals();
$this->assertGlobalsExists('user', [], $globals); $this->assertGlobalsExists('user', [], $globals);

Loading…
Cancel
Save