From e40cba23a1cd367609ba4bbf4f807f5f951cde2d Mon Sep 17 00:00:00 2001 From: fs Date: Thu, 19 Mar 2026 19:29:45 +0100 Subject: [PATCH] Split list titlebar contracts --- phpunit.xml | 3 ++- ...Test.php => ListTitlebarContractFiles.php} | 24 ++----------------- .../ListTitlebarMarkupContractTest.php | 18 ++++++++++++++ .../ListTitlebarTemplateContractTest.php | 18 ++++++++++++++ tests/README.md | 2 +- 5 files changed, 41 insertions(+), 24 deletions(-) rename tests/Architecture/{ListTitlebarContractTest.php => ListTitlebarContractFiles.php} (53%) create mode 100644 tests/Architecture/ListTitlebarMarkupContractTest.php create mode 100644 tests/Architecture/ListTitlebarTemplateContractTest.php diff --git a/phpunit.xml b/phpunit.xml index a97444c..d5e14ad 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -78,7 +78,8 @@ tests/Architecture/ListActionContractTest.php tests/Architecture/ListDataEndpointContractTest.php tests/Architecture/ListTemplateContractTest.php - tests/Architecture/ListTitlebarContractTest.php + tests/Architecture/ListTitlebarMarkupContractTest.php + tests/Architecture/ListTitlebarTemplateContractTest.php tests/Architecture/ListUiSharedPartialsContractTest.php diff --git a/tests/Architecture/ListTitlebarContractTest.php b/tests/Architecture/ListTitlebarContractFiles.php similarity index 53% rename from tests/Architecture/ListTitlebarContractTest.php rename to tests/Architecture/ListTitlebarContractFiles.php index 9dd7974..0e33cc5 100644 --- a/tests/Architecture/ListTitlebarContractTest.php +++ b/tests/Architecture/ListTitlebarContractFiles.php @@ -2,16 +2,12 @@ namespace MintyPHP\Tests\Architecture; -use PHPUnit\Framework\TestCase; - -class ListTitlebarContractTest extends TestCase +final class ListTitlebarContractFiles { - use ProjectFileAssertionSupport; - /** * @return list */ - private function titlebarTemplateFiles(): array + public static function titlebarTemplateFiles(): array { return [ 'pages/admin/users/index(default).phtml', @@ -30,20 +26,4 @@ class ListTitlebarContractTest extends TestCase 'pages/help/hotkeys(default).phtml', ]; } - - public function testTemplatesUseSharedListTitlebarPartial(): void - { - foreach ($this->titlebarTemplateFiles() as $file) { - $content = $this->readProjectFile($file); - $this->assertStringContainsString("require templatePath('partials/app-list-titlebar.phtml');", $content, $file); - } - } - - public function testTemplatesDoNotInlineLegacyListTitlebarMarkup(): void - { - foreach ($this->titlebarTemplateFiles() as $file) { - $content = $this->readProjectFile($file); - $this->assertSame(0, preg_match('/readProjectFile($file); + $this->assertSame(0, preg_match('/readProjectFile($file); + $this->assertStringContainsString("require templatePath('partials/app-list-titlebar.phtml');", $content, $file); + } + } +} diff --git a/tests/README.md b/tests/README.md index 94acff5..3b43ac5 100644 --- a/tests/README.md +++ b/tests/README.md @@ -35,4 +35,4 @@ ohne dass jede Aenderung immer die komplette Suite im Kopf behalten muss. - `tests/Architecture/ContainerFactoryContractTest.php` - `tests/Architecture/SecurityCryptoContractTest.php` - `tests/Architecture/AuthzApiBootstrapContractTest.php` -- `tests/Architecture/ListTitlebarContractTest.php` +- `tests/Architecture/ListUiSharedPartialsContractTest.php`