refactor(compat): Capability-Interface, DiviFeature implementiert es
Grundlage der generischen Kompatibilitätsschicht für Fremd-Plugins mit inoffiziellen Schnittstellen (Plan docs/superpowers/plans/2026-11-06-kompatibilitaetsschicht.md). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
691231f776
commit
9beb55e228
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace LIT\MCP\Tests\Unit\Compatibility;
|
||||
|
||||
use LIT\MCP\Compatibility\Capability;
|
||||
use LIT\MCP\Integrations\Divi\Release\DiviFeature;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
final class CapabilityTest extends TestCase
|
||||
{
|
||||
public function testDiviFeatureIsACapability(): void
|
||||
{
|
||||
self::assertInstanceOf(Capability::class, DiviFeature::PageRead);
|
||||
}
|
||||
|
||||
public function testTheIdIsTheStableValueOfTheFeature(): void
|
||||
{
|
||||
self::assertSame('page-read', DiviFeature::PageRead->id());
|
||||
self::assertSame('tb-write', DiviFeature::ThemeBuilderWrite->id());
|
||||
}
|
||||
|
||||
public function testTheIdsAreUniqueAcrossTheDiviFeatures(): void
|
||||
{
|
||||
$ids = array_map(static fn (Capability $capability): string => $capability->id(), DiviFeature::cases());
|
||||
|
||||
self::assertCount(count(DiviFeature::cases()), array_unique($ids));
|
||||
}
|
||||
|
||||
public function testWriteAndLabelStayAsTheyWere(): void
|
||||
{
|
||||
self::assertFalse(DiviFeature::PageRead->isWrite());
|
||||
self::assertTrue(DiviFeature::PageWrite->isWrite());
|
||||
self::assertSame('Seiten lesen', DiviFeature::PageRead->label());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user