id()); self::assertTrue($integration->isAvailable()); self::assertSame( self::EXPECTED, array_map(static fn (Ability $ability): string => $ability->name(), $integration->abilities()) ); } public function testEveryAbilityHasAnObjectInputSchemaThatRejectsUnknownKeys(): void { $integration = new WordPressIntegration(Mockery::mock(ContentSchema::class), Mockery::mock(ChangeLog::class)); foreach ($integration->abilities() as $ability) { $schema = $ability->inputSchema(); self::assertSame('object', $schema['type'], $ability->name()); self::assertFalse($schema['additionalProperties'], $ability->name()); self::assertMatchesRegularExpression('#^lit/[a-z]+(-[a-z]+)+$#', $ability->name()); } } }