Files
breadcrumb-the-shire/tests/Architecture/AsideNavigationRuntimeContractTest.php
2026-03-19 19:13:51 +01:00

35 lines
1.2 KiB
PHP

<?php
namespace MintyPHP\Tests\Architecture;
use PHPUnit\Framework\TestCase;
final class AsideNavigationRuntimeContractTest extends TestCase
{
use ProjectFileAssertionSupport;
public function testAsidePanelsUseSharedDetailsOpenStateHelper(): void
{
$content = $this->readProjectFile('web/js/components/app-toggle-aside-panels.js');
$this->assertStringContainsString(
"import { initPersistedDetailsGroup } from '../core/app-details-open-state.js';",
$content
);
$this->assertStringContainsString('initPersistedDetailsGroup({', $content);
$this->assertStringContainsString("panel.dataset.asideDetailsOpenActive === '1'", $content);
}
public function testDetailStateUsesSharedDetailsOpenStateHelper(): void
{
$content = $this->readProjectFile('web/js/components/app-details-state.js');
$this->assertStringContainsString(
"import { initPersistedDetailsGroup } from '../core/app-details-open-state.js';",
$content
);
$this->assertStringContainsString('initPersistedDetailsGroup({', $content);
$this->assertStringNotContainsString('window.localStorage.setItem(storageKey, JSON.stringify(openKeys));', $content);
}
}