Я пытаюсь протестировать довольно простые вещи с помощью Laravel Dusk (PHP).
У меня есть div
, содержащий описание продукта, сгенерированное с несколькими тегами html внутри примерно так:
<div class="col-xs-12 product_description_container">
{!! $product->description !!}
</div>
My CSS устанавливает максимальную высоту и скрывает все, что переполняет эту высоту:
.product_description_container {
max-height: 380px;
overflow: hidden;
}
Чтобы проверить, что описание хорошо усечено мой тест устанавливает описание из 20 строк:
create(Product::class, ['description' => 'line 01 <br>line 02 <br>line 03 <br>line 04 <br>line 05 <br>line 06 <br>line 07 <br>line 08 <br>line 09 <br>line 10 <br>line 11 <br>line 12 <br>line 13 <br>line 14 <br>line 15 <br>line 16 <br>line 17 <br>line 18 <br>line 19 <br>line 20 <br>']);
$this->browse(function (Browser $browser) {
$browser
->visit('/myproductroute')
->assertSee('line 01')
->assertSee('line 10')
->assertSee('line 15')
->assertDontSee('line 16')
});
При выполнении теста у меня появляется эта ошибка: Saw unexpected text [line 16] within element [body].
Но вот скриншот, полученный мне от Dusk: Снимок экрана с ошибкой
Кажется, что assertSee()
не только sees
, но и способен достичь того, что скрыто.
Как бы я сделал эту работу?