Split public page contracts
This commit is contained in:
@@ -37,7 +37,8 @@
|
|||||||
<file>tests/Architecture/FileStorageContractTest.php</file>
|
<file>tests/Architecture/FileStorageContractTest.php</file>
|
||||||
<file>tests/Architecture/PostEndpointCsrfContractTest.php</file>
|
<file>tests/Architecture/PostEndpointCsrfContractTest.php</file>
|
||||||
<file>tests/Architecture/PostRedirectGetContractTest.php</file>
|
<file>tests/Architecture/PostRedirectGetContractTest.php</file>
|
||||||
<file>tests/Architecture/PublicPageContractTest.php</file>
|
<file>tests/Architecture/PublicPageAdminContractTest.php</file>
|
||||||
|
<file>tests/Architecture/PublicPageRoutingContractTest.php</file>
|
||||||
<file>tests/Architecture/SecurityCryptoContractTest.php</file>
|
<file>tests/Architecture/SecurityCryptoContractTest.php</file>
|
||||||
<file>tests/Architecture/SecurityLoggingContractTest.php</file>
|
<file>tests/Architecture/SecurityLoggingContractTest.php</file>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
@@ -51,7 +52,8 @@
|
|||||||
<file>tests/Architecture/DetailActionPolicyContractTest.php</file>
|
<file>tests/Architecture/DetailActionPolicyContractTest.php</file>
|
||||||
<file>tests/Architecture/DetailPageContractTest.php</file>
|
<file>tests/Architecture/DetailPageContractTest.php</file>
|
||||||
<file>tests/Architecture/DetailValidationSummaryContractTest.php</file>
|
<file>tests/Architecture/DetailValidationSummaryContractTest.php</file>
|
||||||
<file>tests/Architecture/FilterDrawerContractTest.php</file>
|
<file>tests/Architecture/FilterDrawerRuntimeContractTest.php</file>
|
||||||
|
<file>tests/Architecture/FilterDrawerTemplateContractTest.php</file>
|
||||||
<file>tests/Architecture/FrontendRuntimeComponentContractTest.php</file>
|
<file>tests/Architecture/FrontendRuntimeComponentContractTest.php</file>
|
||||||
<file>tests/Architecture/FrontendRuntimeEntrypointContractTest.php</file>
|
<file>tests/Architecture/FrontendRuntimeEntrypointContractTest.php</file>
|
||||||
<file>tests/Architecture/FrontendRuntimeHostContractTest.php</file>
|
<file>tests/Architecture/FrontendRuntimeHostContractTest.php</file>
|
||||||
|
|||||||
23
tests/Architecture/PublicPageAdminContractTest.php
Normal file
23
tests/Architecture/PublicPageAdminContractTest.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace MintyPHP\Tests\Architecture;
|
||||||
|
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
class PublicPageAdminContractTest extends TestCase
|
||||||
|
{
|
||||||
|
use ProjectFileAssertionSupport;
|
||||||
|
|
||||||
|
public function testPageMutationsUseSettingsUpdateCapabilityGuard(): void
|
||||||
|
{
|
||||||
|
$indexAction = $this->readProjectFile('pages/page/index($slug).php');
|
||||||
|
$copyAction = $this->readProjectFile('pages/page/copy-language().php');
|
||||||
|
|
||||||
|
$this->assertStringContainsString('UiAccessService::class', $indexAction);
|
||||||
|
$this->assertStringContainsString('SettingsAuthorizationPolicy::ABILITY_ADMIN_SETTINGS_UPDATE', $indexAction);
|
||||||
|
$this->assertStringNotContainsString('$canEdit = $currentUserId > 0;', $indexAction);
|
||||||
|
|
||||||
|
$this->assertStringContainsString('UiAccessService::class', $copyAction);
|
||||||
|
$this->assertStringContainsString('SettingsAuthorizationPolicy::ABILITY_ADMIN_SETTINGS_UPDATE', $copyAction);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,13 +4,13 @@ namespace MintyPHP\Tests\Architecture;
|
|||||||
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
class PublicPageContractTest extends TestCase
|
class PublicPageRoutingContractTest extends TestCase
|
||||||
{
|
{
|
||||||
use ProjectFileAssertionSupport;
|
use ProjectFileAssertionSupport;
|
||||||
|
|
||||||
public function testPublicStaticPageRoutesPointToPublicPageTargets(): void
|
public function testPublicStaticPageRoutesPointToPublicPageTargets(): void
|
||||||
{
|
{
|
||||||
$routes = include $this->projectRootPath() . '/config/routes.php';
|
$routes = include dirname(__DIR__, 2) . '/config/routes.php';
|
||||||
$this->assertIsArray($routes);
|
$this->assertIsArray($routes);
|
||||||
|
|
||||||
$byPath = [];
|
$byPath = [];
|
||||||
@@ -34,23 +34,10 @@ class PublicPageContractTest extends TestCase
|
|||||||
|
|
||||||
public function testPageTemplatesAreSeparatedByContext(): void
|
public function testPageTemplatesAreSeparatedByContext(): void
|
||||||
{
|
{
|
||||||
$root = $this->projectRootPath();
|
$root = dirname(__DIR__, 2);
|
||||||
|
|
||||||
$this->assertFileExists($root . '/pages/page/index(default).phtml');
|
$this->assertFileExists($root . '/pages/page/index(default).phtml');
|
||||||
$this->assertFileDoesNotExist($root . '/pages/page/index(page).phtml');
|
$this->assertFileDoesNotExist($root . '/pages/page/index(page).phtml');
|
||||||
$this->assertFileExists($root . '/pages/public-page/index(page).phtml');
|
$this->assertFileExists($root . '/pages/public-page/index(page).phtml');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testPageMutationsUseSettingsUpdateCapabilityGuard(): void
|
|
||||||
{
|
|
||||||
$indexAction = $this->readProjectFile('pages/page/index($slug).php');
|
|
||||||
$copyAction = $this->readProjectFile('pages/page/copy-language().php');
|
|
||||||
|
|
||||||
$this->assertStringContainsString('UiAccessService::class', $indexAction);
|
|
||||||
$this->assertStringContainsString('SettingsAuthorizationPolicy::ABILITY_ADMIN_SETTINGS_UPDATE', $indexAction);
|
|
||||||
$this->assertStringNotContainsString('$canEdit = $currentUserId > 0;', $indexAction);
|
|
||||||
|
|
||||||
$this->assertStringContainsString('UiAccessService::class', $copyAction);
|
|
||||||
$this->assertStringContainsString('SettingsAuthorizationPolicy::ABILITY_ADMIN_SETTINGS_UPDATE', $copyAction);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -32,8 +32,8 @@ ohne dass jede Aenderung immer die komplette Suite im Kopf behalten muss.
|
|||||||
|
|
||||||
## Naechste Refactor-Kandidaten
|
## Naechste Refactor-Kandidaten
|
||||||
|
|
||||||
- `tests/Architecture/FilterDrawerContractTest.php`
|
|
||||||
- `tests/Architecture/PublicPageContractTest.php`
|
|
||||||
- `tests/Architecture/CodexSkillsContractTest.php`
|
- `tests/Architecture/CodexSkillsContractTest.php`
|
||||||
- `tests/Architecture/ModuleRegistryContractTest.php`
|
- `tests/Architecture/ModuleRegistryContractTest.php`
|
||||||
- `tests/Architecture/AgentSystemContractTest.php`
|
- `tests/Architecture/AgentSystemContractTest.php`
|
||||||
|
- `tests/Architecture/DetailValidationSummaryContractTest.php`
|
||||||
|
- `tests/Architecture/DetailActionPolicyContractTest.php`
|
||||||
|
|||||||
Reference in New Issue
Block a user