Пишу тест по поиску моделей с помощью Scout. Я на Laravel 5.4 и использую провайдера "tamayo/laravel-scout-elastic": "^3.0"
.
Кажется, что в моих тестах индексация созданных элементов не завершается, когда я начинаю поиск модели. Это правда? Как я могу это исправить? Моя очередь уже установлена на sync
, а SCOUT_QUEUE
установлена на false
.
Вот пример теста, который продолжает давать сбой (сбой, утверждающий, что результаты поиска содержат данный пост). Любая помощь приветствуется.
<?php
namespace Tests\Unit;
use App\Models\Category;
use App\Models\Post;
use App\Models\User;
use Tests\TestCase;
class SearchTest extends TestCase
{
/** @test * */
public function it_searches_the_whole_category_tree_for_posts()
{
// Given
/** @var Category $parentCategory */
$parentCategory = \factory(Category::class)->create([
'title' => 'myParentCategory',
]);
/** @var Category $childCategory */
$childCategory = \factory(Category::class)->create();
$childCategory->makeChildOf($parentCategory);
/** @var Post $post */
$post = \factory(Post::class)->create([
'user_id' => \factory(User::class)->create()->id,
]);
$post->requestCategories()->attach($childCategory);
// When
$searchResults = Post::search('myParentCategory')->get();
// Then
$this->assertTrue($searchResults->contains($post), 'Failed asserting that search results contain the given post.');
}
}