refactor: Divi library adapters with manifest and submit-layout mirror
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,8 @@ use Brain\Monkey\Functions;
|
||||
use LIT\MCP\Abilities\WriteFailed;
|
||||
use LIT\MCP\Integrations\Divi\Library\DiviLibraryStore;
|
||||
use LIT\MCP\Integrations\Divi\Library\LibraryItemSpec;
|
||||
use LIT\MCP\Integrations\Divi\Release\DiviAdapters;
|
||||
use LIT\MCP\Integrations\Divi\Release\Manifest;
|
||||
use LIT\MCP\Integrations\WordPress\Content\NewDraft;
|
||||
use LIT\MCP\Tests\Support\FakeChangeLog;
|
||||
use LIT\MCP\Tests\Unit\TestCase;
|
||||
@@ -114,6 +116,32 @@ final class DiviLibraryStoreTest extends TestCase
|
||||
self::assertSame(12, $captured['author']);
|
||||
}
|
||||
|
||||
public function testIsTheRegisteredLibraryAdapterWithTheSubmitLayoutMirror(): void
|
||||
{
|
||||
$manifest = DiviLibraryStore::manifest();
|
||||
|
||||
self::assertContains(DiviLibraryStore::class, DiviAdapters::CLASSES);
|
||||
self::assertSame(Manifest::LIBRARY, $manifest->area);
|
||||
self::assertSame(['et_pb_layout'], $manifest->postTypes);
|
||||
self::assertSame(
|
||||
['scope', 'layout_type', 'module_width', 'layout_category', 'layout_tag'],
|
||||
$manifest->taxonomies
|
||||
);
|
||||
self::assertSame(['library-submit-layout'], array_map(static fn ($m): string => $m->id, $manifest->mirrors));
|
||||
self::assertSame('et_pb_submit_layout()', $manifest->mirrors[0]->label());
|
||||
}
|
||||
|
||||
public function testBuiltForReadsTheSourceType(): void
|
||||
{
|
||||
Functions\when('get_post_meta')->alias(
|
||||
static fn (int $id, string $key): string => $id === 1054
|
||||
&& $key === '_et_pb_built_for_post_type' ? 'post' : ''
|
||||
);
|
||||
|
||||
self::assertSame('post', DiviLibraryStore::builtFor(1054));
|
||||
self::assertSame('', DiviLibraryStore::builtFor(1055));
|
||||
}
|
||||
|
||||
public function testReportsMissingTaxonomies(): void
|
||||
{
|
||||
Functions\when('taxonomy_exists')->alias(static fn (string $taxonomy): bool => $taxonomy !== 'scope');
|
||||
|
||||
Reference in New Issue
Block a user