Skip to content

Commit 6f30d82

Browse files
authored
Merge pull request #23 from justbetter/feature/compare-only-existing
Only compare products that exist in Magento
2 parents 9095a57 + 8398929 commit 6f30d82

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

src/Jobs/Comparison/DispatchComparisonsJob.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Illuminate\Bus\Queueable;
66
use Illuminate\Contracts\Queue\ShouldBeUnique;
77
use Illuminate\Contracts\Queue\ShouldQueue;
8+
use Illuminate\Database\Eloquent\Builder;
89
use Illuminate\Foundation\Bus\Dispatchable;
910
use Illuminate\Queue\InteractsWithQueue;
1011
use Illuminate\Support\Facades\Bus;
@@ -24,6 +25,9 @@ public function __construct()
2425
public function handle(): void
2526
{
2627
$batch = Stock::query()
28+
->whereHas('product', function (Builder $query): void {
29+
$query->where('exists_in_magento', '=', true);
30+
})
2731
->get()
2832
->mapInto(CompareStockJob::class);
2933

src/Models/Stock.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
* @property string $checksum
2929
* @property int $fail_count
3030
* @property ?Carbon $last_failed
31+
* @property ?MagentoProduct $product
3132
*/
3233
class Stock extends Model
3334
{

tests/Jobs/Comparison/DispatchComparisonsJobTest.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Illuminate\Support\Facades\Bus;
66
use Illuminate\Support\Testing\Fakes\PendingBatchFake;
7+
use JustBetter\MagentoProducts\Models\MagentoProduct;
78
use JustBetter\MagentoStock\Jobs\Comparison\CompareStockJob;
89
use JustBetter\MagentoStock\Jobs\Comparison\DispatchComparisonsJob;
910
use JustBetter\MagentoStock\Models\Stock;
@@ -18,7 +19,16 @@ public function it_dispatches_comparisons(): void
1819
Bus::fake([CompareStockJob::class]);
1920

2021
Stock::query()->create([
21-
'sku' => '::sku::',
22+
'sku' => '::sku_1::',
23+
]);
24+
25+
Stock::query()->create([
26+
'sku' => '::sku_2::',
27+
]);
28+
29+
MagentoProduct::query()->create([
30+
'sku' => '::sku_1::',
31+
'exists_in_magento' => true,
2232
]);
2333

2434
DispatchComparisonsJob::dispatch();

0 commit comments

Comments
 (0)