32 lines
1.2 KiB
PHP
32 lines
1.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Tests\Site;
|
|
|
|
use App\Site\UI\Twig\SiteSettingsExtension;
|
|
use Netig\Netslim\Settings\Contracts\SettingsReaderInterface;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
final class SiteSettingsExtensionTest extends TestCase
|
|
{
|
|
public function testGlobalsExposeConfiguredSiteSettings(): void
|
|
{
|
|
$settings = $this->createStub(SettingsReaderInterface::class);
|
|
$settings->method('getString')->willReturnMap([
|
|
['site.title', 'Netslim Blog', 'Mon site'],
|
|
['site.tagline', 'Un blog éditorial construit sur netslim-core.', 'Ma baseline'],
|
|
['site.meta_description', 'Application blog construite sur netslim-core.', 'Ma description'],
|
|
['blog.home_intro', 'Bienvenue sur le blog.', 'Mon intro'],
|
|
]);
|
|
|
|
$extension = new SiteSettingsExtension($settings);
|
|
$globals = $extension->getGlobals();
|
|
|
|
$this->assertSame('Mon site', $globals['site']['title']);
|
|
$this->assertSame('Ma baseline', $globals['site']['tagline']);
|
|
$this->assertSame('Ma description', $globals['site']['metaDescription']);
|
|
$this->assertSame('Mon intro', $globals['site']['homeIntro']);
|
|
}
|
|
}
|