Skip to content

Commit f09b802

Browse files
test(SearchComposerTest): add unit test for getProviders with mixed order values
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
1 parent 82eeb59 commit f09b802

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

tests/lib/Search/SearchComposerTest.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,28 @@ public function testGetProvidersFiltersByAllowedProvidersCompletely(): void {
215215
$this->assertEmpty($providers);
216216
}
217217

218+
public function testGetProvidersWithMixedOrderValues(): void {
219+
$providerConfigs = [
220+
'provider1' => ['service' => 'provider1_service', 'appId' => 'app1', 'order' => 100],
221+
'provider2' => ['service' => 'provider2_service', 'appId' => 'app2', 'order' => 1],
222+
'provider3' => ['service' => 'provider3_service', 'appId' => 'app3', 'order' => 50],
223+
];
224+
225+
$mockData = $this->createMockProvidersAndRegistrations($providerConfigs);
226+
$this->setupRegistrationContextWithProviders($mockData['registrations']);
227+
$this->setupAppConfigForAllowedProviders();
228+
229+
$providers = $this->searchComposer->getProviders('/test/route', []);
230+
231+
$this->assertCount(3, $providers);
232+
$this->assertProvidersAreSortedByOrder($providers);
233+
234+
// Verify correct ordering: provider2 (1), provider3 (50), provider1 (100)
235+
$this->assertEquals('provider2', $providers[0]['id']);
236+
$this->assertEquals('provider3', $providers[1]['id']);
237+
$this->assertEquals('provider1', $providers[2]['id']);
238+
}
239+
218240
public function testProviderIconGeneration(): void {
219241
$providerConfigs = [
220242
'provider1' => ['service' => 'provider1_service', 'appId' => 'app1', 'order' => 10],

0 commit comments

Comments
 (0)