Context
The plugin declares three PHPUnit suites in phpunit.xml.dist: unit (no kernel), integration (booted kernel and database) and functional (routes driven in-process through Symfony's KernelBrowser). A lane is one of. the plugin's docker-provisioned Shopware installations per supported version (6.5, 6.6, trunk) that CI tests against. The unit suite runs in the php-quality CI job. The functional suite runs inside the lane job, where bin/ci-smoke.sh provisions a docker-based Shopware per version and then runs PHPUnit inside it.
tests/Integration/ holds two tests, Migration/Migration1780328112CreateUcpConfigTableTest.php and System/SystemConfig/SystemConfigSchemaReadableTest.php, and neither runs anywhere: nothing in .github/ or bin/ calls that suite. phpstan.neon.dist excludes tests/Functional but not tests/Integration, so the two files are analysed by PHPStan and never executed. SystemConfigSchemaReadableTest guards a bug that shipped once: the 6.5 configuration schema applied by CompatConfigReader broke the Basic Information page under Settings on Shopware 6.7.
Acceptance criteria
Context
The plugin declares three PHPUnit suites in
phpunit.xml.dist:unit(no kernel),integration(booted kernel and database) andfunctional(routes driven in-process through Symfony'sKernelBrowser). A lane is one of. the plugin's docker-provisioned Shopware installations per supported version (6.5, 6.6, trunk) that CI tests against. The unit suite runs in thephp-qualityCI job. The functional suite runs inside the lane job, wherebin/ci-smoke.shprovisions a docker-based Shopware per version and then runs PHPUnit inside it.tests/Integration/holds two tests,Migration/Migration1780328112CreateUcpConfigTableTest.phpandSystem/SystemConfig/SystemConfigSchemaReadableTest.php, and neither runs anywhere: nothing in.github/orbin/calls that suite.phpstan.neon.distexcludestests/Functionalbut nottests/Integration, so the two files are analysed by PHPStan and never executed.SystemConfigSchemaReadableTestguards a bug that shipped once: the 6.5 configuration schema applied byCompatConfigReaderbroke the Basic Information page under Settings on Shopware 6.7.Acceptance criteria
bin/ci-smoke.shruns--testsuite integrationnext to--testsuite functionalin the block currently enabled by the environment variableCI_SMOKE_RUN_FUNCTIONAL(line 528). Both suites needKernelLifecycleManagerand the lane's own PHPUnit binary, which is why they share the block. The variable is renamed toCI_SMOKE_RUN_PHPUNITand every caller in.github/workflows/is updated.bin/console ucp:config:set --sales-channel=<id> --signature-policy=strict, which writes the stored config row and therefore actually takes effect.tests/Functional/Ucp/UcpRequestContextGuardTest.phpgets three tests, each sending an unsigned request under strict: on/ucp/v1/catalog/searchit returns 401 (this is expected to pass today); on/ucp/a2ait returns 401 (expected to fail today); onan/ucp/embedded/route it returns 401 (expected to fail today)/ucp/embedded/cart/{id}, with an allowlisted origin, the page is still served with 200 andtext/html, because under the Embedded Checkout Protocol the page is loaded in an iframe that can't be signed and is authorized by the token in the URL.The two failing tests are marked incomplete or skippedThe failing A2A test is marked incomplete with a link to the issue tracking the SDK deviation: the SDK'sRequestContextListener::isUcpRequest()excludes/ucp/mcp,/ucp/a2aand/ucp/embedded/ucp/a2afrom the signature check.