From f7787465f7418f28cef40a45d12e2c9ef13b1531 Mon Sep 17 00:00:00 2001 From: fs Date: Thu, 19 Mar 2026 19:13:51 +0100 Subject: [PATCH] Split aside navigation contracts --- phpunit.xml | 3 +- ...p => AsideNavigationAdminContractTest.php} | 20 +---------- .../AsideNavigationRuntimeContractTest.php | 34 +++++++++++++++++++ tests/README.md | 2 +- 4 files changed, 38 insertions(+), 21 deletions(-) rename tests/Architecture/{AsideNavigationContractTest.php => AsideNavigationAdminContractTest.php} (50%) create mode 100644 tests/Architecture/AsideNavigationRuntimeContractTest.php diff --git a/phpunit.xml b/phpunit.xml index f5f5883..a97444c 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -50,7 +50,8 @@ tests/Architecture/SecurityLoggingTelemetryContractTest.php - tests/Architecture/AsideNavigationContractTest.php + tests/Architecture/AsideNavigationAdminContractTest.php + tests/Architecture/AsideNavigationRuntimeContractTest.php tests/Architecture/AuthHelpLinksPageContractTest.php tests/Architecture/AuthHelpLinksPartialContractTest.php tests/Architecture/AuthLoginFieldAccessibilityContractTest.php diff --git a/tests/Architecture/AsideNavigationContractTest.php b/tests/Architecture/AsideNavigationAdminContractTest.php similarity index 50% rename from tests/Architecture/AsideNavigationContractTest.php rename to tests/Architecture/AsideNavigationAdminContractTest.php index c0a9f4a..74d5674 100644 --- a/tests/Architecture/AsideNavigationContractTest.php +++ b/tests/Architecture/AsideNavigationAdminContractTest.php @@ -4,7 +4,7 @@ namespace MintyPHP\Tests\Architecture; use PHPUnit\Framework\TestCase; -class AsideNavigationContractTest extends TestCase +final class AsideNavigationAdminContractTest extends TestCase { use ProjectFileAssertionSupport; @@ -23,22 +23,4 @@ class AsideNavigationContractTest extends TestCase $this->assertStringContainsString("'key' => 'admin-logs'", $content); $this->assertStringContainsString("'key' => 'admin-system'", $content); } - - 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); - } } diff --git a/tests/Architecture/AsideNavigationRuntimeContractTest.php b/tests/Architecture/AsideNavigationRuntimeContractTest.php new file mode 100644 index 0000000..22d50b8 --- /dev/null +++ b/tests/Architecture/AsideNavigationRuntimeContractTest.php @@ -0,0 +1,34 @@ +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); + } +} diff --git a/tests/README.md b/tests/README.md index 5a7f6ef..94acff5 100644 --- a/tests/README.md +++ b/tests/README.md @@ -34,5 +34,5 @@ ohne dass jede Aenderung immer die komplette Suite im Kopf behalten muss. - `tests/Architecture/ContainerFactoryContractTest.php` - `tests/Architecture/SecurityCryptoContractTest.php` -- `tests/Architecture/AsideNavigationContractTest.php` - `tests/Architecture/AuthzApiBootstrapContractTest.php` +- `tests/Architecture/ListTitlebarContractTest.php`