Skip to content

Commit 1a48059

Browse files
committed
Test
1 parent 361177f commit 1a48059

File tree

2 files changed

+32
-3
lines changed

2 files changed

+32
-3
lines changed

Diff for: src/Actions/DiscoverMagentoProducts.php

+7-3
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,19 @@ public function discover(int $page, Batch $batch): void
3434
$hasNextPage = $products->count() == config('magento-products.page_size');
3535

3636
if ($hasNextPage) {
37-
/* $batch->add(new DiscoverMagentoProductsJob($page + 1)); */
37+
$batch->add(new DiscoverMagentoProductsJob($page + 1));
3838
}
3939

4040
$skus = $products->pluck('sku');
41-
/* $this->skuProcessor->process($skus); */
41+
$this->skuProcessor->process($skus);
4242

4343
foreach ($products as $productData) {
4444
$product = MagentoProduct::query()->firstOrNew(['sku' => $productData['sku']]);
45-
$checksum = md5(json_encode($productData));
45+
46+
/** @var non-empty-string $encoded */
47+
$encoded = json_encode($productData);
48+
49+
$checksum = md5($encoded);
4650

4751
if ($product->checksum !== $checksum) {
4852
event(new ProductDataModifiedEvent($product->sku, $product->data, $productData));

Diff for: tests/Actions/DiscoverMagentoProductsTest.php

+25
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,17 @@ public function it_does_not_dispatch_event_when_checksum_has_not_changed(): void
143143
#[Test]
144144
public function it_dispatches_next_job(): void
145145
{
146+
Http::fake([
147+
'magento/rest/all/V1/products?searchCriteria%5BpageSize%5D=1&searchCriteria%5BcurrentPage%5D=0' => Http::response([
148+
'items' => [
149+
['sku' => '123'],
150+
],
151+
]),
152+
'magento/rest/all/V1/products?searchCriteria%5BpageSize%5D=1&searchCriteria%5BcurrentPage%5D=1' => Http::response([
153+
'items' => [],
154+
]),
155+
])->preventingStrayRequests();
156+
config()->set('magento-products.page_size', 1);
146157

147158
$this->mock(ProcessesMagentoSkus::class, function (MockInterface $mock) {
148159
$mock->shouldReceive('process')->once();
@@ -168,6 +179,12 @@ public function it_dispatches_next_job(): void
168179
#[Test]
169180
public function it_sets_retrieved_false(): void
170181
{
182+
Http::fake([
183+
'magento/rest/all/V1/products?searchCriteria%5BpageSize%5D=2&searchCriteria%5BcurrentPage%5D=0' => Http::response([
184+
'items' => [],
185+
]),
186+
])->preventingStrayRequests();
187+
171188
MagentoProduct::query()->create([
172189
'sku' => '123',
173190
'exists_in_magento' => true,
@@ -198,6 +215,14 @@ public function it_sets_retrieved_false(): void
198215
#[Test]
199216
public function it_sets_retrieved_true(): void
200217
{
218+
Http::fake([
219+
'magento/rest/all/V1/products?searchCriteria%5BpageSize%5D=2&searchCriteria%5BcurrentPage%5D=0' => Http::response([
220+
'items' => [
221+
['sku' => '123'],
222+
],
223+
]),
224+
])->preventingStrayRequests();
225+
201226
MagentoProduct::query()->create([
202227
'sku' => '123',
203228
'exists_in_magento' => true,

0 commit comments

Comments
 (0)