Skip to content

Commit 8a83230

Browse files
committed
Expand scout integration coverage
1 parent 519dc0a commit 8a83230

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

tests/Integration/OpenSearchScoutDriverTest.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@
4040
'email' => [
4141
'type' => 'keyword',
4242
],
43+
'__soft_deleted' => [
44+
'type' => 'integer',
45+
],
4346
],
4447
]);
4548
});
@@ -70,3 +73,27 @@
7073

7174
expect(Client::search('')->get())->toHaveCount(0);
7275
});
76+
77+
it('filters stale opensearch hits when database records no longer exist', function (): void {
78+
$engine = app(EngineManager::class)->engine('opensearch');
79+
80+
$engine->update(Client::query()->orderBy('id')->get());
81+
82+
Client::query()->whereKey(2)->forceDelete();
83+
84+
expect(Client::search('Jane')->get())->toHaveCount(0);
85+
});
86+
87+
it('indexes and filters soft deleted models when scout soft deletes are enabled', function (): void {
88+
config()->set('scout.soft_delete', true);
89+
90+
$engine = app(EngineManager::class)->engine('opensearch');
91+
92+
Client::query()->whereKey(3)->delete();
93+
94+
$engine->update(Client::withTrashed()->orderBy('id')->get());
95+
96+
expect(Client::search('')->get()->pluck('id')->sort()->values()->all())->toBe([1, 2])
97+
->and(Client::search('')->withTrashed()->get()->pluck('id')->sort()->values()->all())->toBe([1, 2, 3])
98+
->and(Client::search('')->onlyTrashed()->get()->pluck('id')->sort()->values()->all())->toBe([3]);
99+
});

0 commit comments

Comments
 (0)