id()); self::assertSame('Pods', $integration->label()); self::assertSame([], $integration->abilities()); self::assertEquals([PodsCompatibility::profile()], $integration->compatibilities()); } public function testIsAvailableOnlyWithPods(): void { self::assertSame(defined('PODS_VERSION'), (new PodsIntegration())->isAvailable()); } /** An available integration without abilities is no tool group, but it is an active integration. */ public function testAnAvailableIntegrationWithoutAbilitiesIsNoGroupButIsNamedAsActive(): void { $pods = new class implements Integration { public function id(): string { return 'pods'; } public function label(): string { return 'Pods'; } public function isAvailable(): bool { return true; } public function abilities(): array { return []; } }; $registry = new IntegrationRegistry($pods); self::assertSame([], $registry->grouped()); self::assertSame([], $registry->groupMap()); self::assertStringContainsString('Aktive Integrationen: pods.', (new InstructionsBuilder($registry))->build()); } }