Skip to content
Prev Previous commit
test(SearchComposerTest): add unit test for getProviders with mixed o…
…rder values

Signed-off-by: Misha M.-Kupriyanov <[email protected]>
  • Loading branch information
printminion-co committed Aug 11, 2025
commit 55f55984f052da8e4ae97ff918bb50b1f20f27d2
22 changes: 22 additions & 0 deletions tests/lib/Search/SearchComposerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,28 @@ public function testGetProvidersFiltersByAllowedProvidersCompletely(): void {
$this->assertEmpty($providers);
}

public function testGetProvidersWithMixedOrderValues(): void {
$providerConfigs = [
'provider1' => ['service' => 'provider1_service', 'appId' => 'app1', 'order' => 100],
'provider2' => ['service' => 'provider2_service', 'appId' => 'app2', 'order' => 1],
'provider3' => ['service' => 'provider3_service', 'appId' => 'app3', 'order' => 50],
];

$mockData = $this->createMockProvidersAndRegistrations($providerConfigs);
$this->setupRegistrationContextWithProviders($mockData['registrations']);
$this->setupAppConfigForAllowedProviders();

$providers = $this->searchComposer->getProviders('/test/route', []);

$this->assertCount(3, $providers);
$this->assertProvidersAreSortedByOrder($providers);

// Verify correct ordering: provider2 (1), provider3 (50), provider1 (100)
$this->assertEquals('provider2', $providers[0]['id']);
$this->assertEquals('provider3', $providers[1]['id']);
$this->assertEquals('provider1', $providers[2]['id']);
}

public function testProviderIconGeneration(): void {
$providerConfigs = [
'provider1' => ['service' => 'provider1_service', 'appId' => 'app1', 'order' => 10],
Expand Down
Loading