add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
|
|
|
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.0/phpunit.xsd"
|
|
|
|
|
bootstrap="tests/bootstrap.php"
|
|
|
|
|
colors="true">
|
2026-03-19 20:15:48 +01:00
|
|
|
<source ignoreIndirectDeprecations="true">
|
|
|
|
|
<include>
|
|
|
|
|
<directory>config</directory>
|
|
|
|
|
<directory>lib</directory>
|
|
|
|
|
<directory>modules</directory>
|
|
|
|
|
<directory>pages</directory>
|
|
|
|
|
<directory>tests</directory>
|
|
|
|
|
</include>
|
|
|
|
|
</source>
|
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
<testsuites>
|
2026-03-11 20:11:01 +01:00
|
|
|
<testsuite name="CoreCore">
|
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
<directory>tests</directory>
|
feat: extend module platform with UI slots, runtime components, CLI tooling and {{userId}} search support
Completes the generic module platform that enables modules to contribute
UI elements, runtime JS components, and search resources without any
core hardcoding.
New generic UI slot types:
- topbar.right_item: module-contributed topbar buttons
- layout.body_end_template: module-contributed dialog/overlay templates
- layout.head_style: module-contributed global CSS
- runtime.component: declarative JS component registration with phase ordering
New infrastructure:
- ModuleAutoloader: PSR-4 autoloading for module-local PHP classes
- ModuleRuntimePageBuilder: symlinks module pages into runtime directory
- ModuleRuntimeAssetPublisher: publishes module CSS/JS to web/modules/
- ModulePermissionSynchronizer: syncs module permissions to DB
- CLI scripts: module-runtime-sync, module-build, module-migrate,
module-permissions-sync, module-assets-sync
- {{userId}} placeholder in SearchDataService for user-scoped search queries
- Component runtime with phased initialization (early/default/late)
- AppContainer.protectExistingBindings() to prevent module→core overwrites
- Architecture tests: ModuleStructureContractTest, CoreTemplateIsolationTest,
FrontendComponentRuntimeContractTest, AppContainerIsolationContractTest
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 22:19:56 +01:00
|
|
|
<directory>modules/*/tests</directory>
|
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
</testsuite>
|
2026-03-19 18:25:19 +01:00
|
|
|
<testsuite name="Architecture">
|
|
|
|
|
<directory>tests/Architecture</directory>
|
|
|
|
|
</testsuite>
|
|
|
|
|
<testsuite name="ArchitectureCore">
|
|
|
|
|
<file>tests/Architecture/AppContainerIsolationContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/ContainerFactoryContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/CoreStarterkitContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/CoreTemplateIsolationTest.php</file>
|
|
|
|
|
<file>tests/Architecture/DatabaseUpdatesContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/FrontendTelemetryContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/I18nKeyCompletenessContractTest.php</file>
|
2026-03-19 18:30:14 +01:00
|
|
|
<file>tests/Architecture/ModuleBoundaryContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/ModuleManifestContractTest.php</file>
|
2026-03-19 19:00:29 +01:00
|
|
|
<file>tests/Architecture/ModuleRegistryBootstrapContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/ModuleRegistryFailFastContractTest.php</file>
|
2026-03-19 18:30:14 +01:00
|
|
|
<file>tests/Architecture/ModuleProviderContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/ModuleUiContractTest.php</file>
|
2026-03-19 18:25:19 +01:00
|
|
|
<file>tests/Architecture/RepositoryInterfaceContractTest.php</file>
|
2026-03-19 19:11:03 +01:00
|
|
|
<file>tests/Architecture/StatusTaxonomyDataContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/StatusTaxonomyEnumContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/StatusTaxonomyFilterSchemaContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/StatusTaxonomyLiteralGuardContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/StatusTaxonomyUiContractTest.php</file>
|
2026-03-19 18:25:19 +01:00
|
|
|
</testsuite>
|
|
|
|
|
<testsuite name="ArchitectureSecurity">
|
|
|
|
|
<file>tests/Architecture/AuthzAdminMasterDataContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AuthzAdminSettingsContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AuthzAdminTenantsContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AuthzAdminUsersContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/ApiResourceContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AuthzApiBootstrapContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/FileStorageContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/PostEndpointCsrfContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/PostRedirectGetContractTest.php</file>
|
2026-03-19 18:48:16 +01:00
|
|
|
<file>tests/Architecture/PublicPageAdminContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/PublicPageRoutingContractTest.php</file>
|
2026-03-19 18:25:19 +01:00
|
|
|
<file>tests/Architecture/SecurityCryptoContractTest.php</file>
|
2026-03-19 19:08:28 +01:00
|
|
|
<file>tests/Architecture/SecurityLoggingRedactionContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/SecurityLoggingRuntimeContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/SecurityLoggingTelemetryContractTest.php</file>
|
2026-03-19 18:25:19 +01:00
|
|
|
</testsuite>
|
|
|
|
|
<testsuite name="ArchitectureUI">
|
2026-03-19 19:13:51 +01:00
|
|
|
<file>tests/Architecture/AsideNavigationAdminContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AsideNavigationRuntimeContractTest.php</file>
|
2026-03-19 19:05:29 +01:00
|
|
|
<file>tests/Architecture/AuthHelpLinksPageContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AuthHelpLinksPartialContractTest.php</file>
|
2026-03-19 19:12:25 +01:00
|
|
|
<file>tests/Architecture/AuthLoginFieldAccessibilityContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AuthLoginPasswordToggleContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AuthLoginTemplateAccessibilityContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AuthLoginTenantSelectionContractTest.php</file>
|
2026-03-19 18:25:19 +01:00
|
|
|
<file>tests/Architecture/AuthzUiActionContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AuthzUiLayoutContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AuthzUiTemplateContractTest.php</file>
|
2026-03-19 19:03:10 +01:00
|
|
|
<file>tests/Architecture/DetailActionPolicyMigrationContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/DetailActionPolicyPartialContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/DetailActionPolicyRuntimeContractTest.php</file>
|
2026-03-19 19:04:28 +01:00
|
|
|
<file>tests/Architecture/DetailPageFormContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/DetailPageRuntimeContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/DetailPageTitlebarContractTest.php</file>
|
2026-03-19 19:02:04 +01:00
|
|
|
<file>tests/Architecture/DetailValidationActionContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/DetailValidationAssetContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/DetailValidationTemplateContractTest.php</file>
|
2026-03-19 18:48:16 +01:00
|
|
|
<file>tests/Architecture/FilterDrawerRuntimeContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/FilterDrawerTemplateContractTest.php</file>
|
2026-03-19 18:34:02 +01:00
|
|
|
<file>tests/Architecture/FrontendRuntimeComponentContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/FrontendRuntimeEntrypointContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/FrontendRuntimeHostContractTest.php</file>
|
2026-03-19 18:25:19 +01:00
|
|
|
<file>tests/Architecture/ListActionContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/ListDataEndpointContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/ListTemplateContractTest.php</file>
|
2026-03-19 19:29:45 +01:00
|
|
|
<file>tests/Architecture/ListTitlebarMarkupContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/ListTitlebarTemplateContractTest.php</file>
|
2026-03-19 18:25:19 +01:00
|
|
|
<file>tests/Architecture/ListUiSharedPartialsContractTest.php</file>
|
|
|
|
|
</testsuite>
|
|
|
|
|
<testsuite name="ArchitectureModules">
|
2026-03-19 18:57:03 +01:00
|
|
|
<file>tests/Architecture/AddressBookModuleIsolationContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/BookmarksModuleIsolationContractTest.php</file>
|
2026-03-19 19:00:29 +01:00
|
|
|
<file>tests/Architecture/ModuleRegistryBootstrapContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/ModuleRegistryFailFastContractTest.php</file>
|
2026-03-19 18:30:14 +01:00
|
|
|
<file>tests/Architecture/ModuleBoundaryContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/ModuleManifestContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/ModuleProviderContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/ModuleUiContractTest.php</file>
|
2026-03-19 18:25:19 +01:00
|
|
|
</testsuite>
|
|
|
|
|
<testsuite name="ArchitectureMeta">
|
|
|
|
|
<file>tests/Architecture/ApiSchemaContractTest.php</file>
|
2026-03-19 18:52:36 +01:00
|
|
|
<file>tests/Architecture/AgentSystemCatalogContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AgentSystemFileContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/AgentSystemReferenceContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/CodexAutomationContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/CodexDocsIntegrityContractTest.php</file>
|
|
|
|
|
<file>tests/Architecture/CodexSkillReferenceContractTest.php</file>
|
2026-03-19 18:25:19 +01:00
|
|
|
</testsuite>
|
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
</testsuites>
|
|
|
|
|
</phpunit>
|