|
15 | 15 | use BatteryIncludedSdk\Shop\BrowseResponse; |
16 | 16 | use BatteryIncludedSdk\Shop\BrowseSearchStruct; |
17 | 17 | use BatteryIncludedSdk\Shop\BrowseService; |
| 18 | +use BatteryIncludedSdk\Shop\Extension\CodesExtension; |
| 19 | +use BatteryIncludedSdk\Shop\Extension\PromotionsExtension; |
| 20 | +use BatteryIncludedSdk\Shop\Extension\RedirectsExtension; |
| 21 | +use BatteryIncludedSdk\Shop\Extension\TeaserExtension; |
18 | 22 | use BatteryIncludedSdk\Shop\FacetCategoryDto; |
19 | 23 | use BatteryIncludedSdk\Shop\FacetDto; |
20 | 24 | use BatteryIncludedSdk\Shop\FacetRangeDto; |
|
31 | 35 | #[CoversClass(ApiClient::class)] |
32 | 36 | #[CoversClass(CurlHttpClient::class)] |
33 | 37 | #[CoversClass(BrowseSearchStruct::class)] |
| 38 | +#[CoversClass(CodesExtension::class)] |
| 39 | +#[CoversClass(PromotionsExtension::class)] |
| 40 | +#[CoversClass(RedirectsExtension::class)] |
| 41 | +#[CoversClass(TeaserExtension::class)] |
34 | 42 | #[CoversClass(Response::class)] |
35 | 43 | #[UsesClass(CategoryDto::class)] |
36 | 44 | #[UsesClass(FacetDto::class)] |
@@ -103,4 +111,33 @@ public function testBrowseMethodWithPresetAgainstLiveApi() |
103 | 111 | $this->assertEquals($result->getPage(), 1); |
104 | 112 | $this->assertEquals($result->getPages(), 1); |
105 | 113 | } |
| 114 | + |
| 115 | + public function testBrowseMethodWithExtensionsAgainstLiveApi() |
| 116 | + { |
| 117 | + $products = Helper::generateProducts(20); |
| 118 | + $apiClient = Helper::getApiClient(); |
| 119 | + $syncService = new SyncService($apiClient); |
| 120 | + |
| 121 | + $result = $syncService->syncOneOrManyElements(...$products); |
| 122 | + $this->assertCount(720, $result->getBody()); |
| 123 | + $browseService = new BrowseService(Helper::getApiClient()); |
| 124 | + $searchStruct = new BrowseSearchStruct(); |
| 125 | + $searchStruct->setQuery('extension'); |
| 126 | + $result = $browseService->browse($searchStruct); |
| 127 | + |
| 128 | + $this->assertContainsOnlyInstancesOf(FacetDto::class, $result->getFacets()); |
| 129 | + |
| 130 | + $this->assertInstanceOf(BrowseResponse::class, $result); |
| 131 | + $this->assertCount(0, $result->getHits()); |
| 132 | + $this->assertCount(4, $result->getAllExtensions()); |
| 133 | + $this->assertCount(1, $result->getCodesExtensions()); |
| 134 | + $this->assertCount(1, $result->getRedirectsExtensions()); |
| 135 | + $this->assertCount(1, $result->getPromotionsExtensions()); |
| 136 | + $this->assertCount(1, $result->getTeaserExtensions()); |
| 137 | + |
| 138 | + $this->assertEquals(0, $result->getFound()); |
| 139 | + |
| 140 | + $this->assertEquals(1, $result->getPage()); |
| 141 | + $this->assertEquals(0, $result->getPages()); |
| 142 | + } |
106 | 143 | } |
0 commit comments