. */ declare(strict_types=1); namespace App\Services\InfoProviderSystem\Providers; use App\Services\InfoProviderSystem\DTOs\FileDTO; use App\Services\InfoProviderSystem\DTOs\PartDetailDTO; use App\Services\InfoProviderSystem\DTOs\ProviderInfoDTO; use App\Services\InfoProviderSystem\DTOs\SearchResultDTO; use Symfony\Component\DependencyInjection\Attribute\When; /** * This is a provider, which is used during tests. It always returns no results. */ #[When(env: 'test')] class EmptyProvider implements InfoProviderInterface { public const PROVIDER_KEY = 'empty'; public function getProviderInfo(): ProviderInfoDTO { return new ProviderInfoDTO( key: self::PROVIDER_KEY, name: 'Empty Provider', description: 'This is a test provider', disabledHelp: 'This provider is disabled for testing purposes', capabilities: [ ProviderCapabilities::BASIC, ProviderCapabilities::FOOTPRINT, ], ); } public function isActive(): bool { return true; } public function searchByKeyword(string $keyword, array $options = []): array { return [ ]; } public function getDetails(string $id, array $options = []): PartDetailDTO { throw new \RuntimeException('No part details available'); } }