feat: Divi release status, store, resolver and gate

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-30 01:46:05 +02:00
co-authored by Claude Opus 5.5
parent 6b93df94c3
commit cf3c5dfe76
14 changed files with 838 additions and 1 deletions
+6
View File
@@ -6,6 +6,8 @@ namespace LIT\MCP\Tests\Unit;
use Brain\Monkey;
use Brain\Monkey\Functions;
use LIT\MCP\Integrations\Divi\Release\ReleaseGate;
use LIT\MCP\Integrations\Divi\Release\ReleaseStatus;
use LIT\MCP\Tests\Support\AssertsToolErrors;
use LIT\MCP\Tests\Support\FakeChangeLog;
use Mockery\Adapter\Phpunit\MockeryPHPUnitIntegration;
@@ -32,10 +34,14 @@ abstract class TestCase extends BaseTestCase
'wp_unslash' => static fn ($value) => $value,
'sanitize_text_field' => static fn ($value): string => trim(strip_tags((string) $value)),
]);
// Divi is released unless a test says otherwise (the release gate would ask WordPress and Divi).
ReleaseGate::useResolver(static fn (): ReleaseStatus => ReleaseStatus::released('5.2.1'));
}
protected function tearDown(): void
{
ReleaseGate::useResolver(null);
Monkey\tearDown();
parent::tearDown();
FakeChangeLog::verify();