Проблема Laravel с тестированием при использовании astrotomic/laravel-translatable
У меня есть модель, в которой используются переводы
class Category extends Model
{
use Translatable, SoftDeletes;
public $translatedAttributes = ['name', 'description'];
protected $fillable = [];
/**
* The relations to eager load on every query.
*
* @var array
*/
protected $with = ['translations'];
public function getShortDescriptionAttribute()
{
return Str::limit($this->description, 30, '...');
}
}
Я пишу тест, чтобы проверить, печатаю ли я название и краткое описание категории при посещении страницы списка категорий.
class CategoriesTest extends TestCase
{
use RefreshDatabase;
/**
* A basic feature test example.
*
* @test
* @return void
*/
public function categories_listing()
{
$category = factory(Category::class)->create();
$response = $this->get(route('categories.index'));
$response->assertStatus(200)
->assertSee($category->name)
->assertSee($category->shortDescription);
}
}
Я их пока не печатаю, но тест вернул истину. Я проверил, почему, и похоже, что переведенные значения категории возвращают null. Я попробовал$category
переменная, и кажется, что она не может загрузить отношение переводов. Когда я показываю свое приложение в браузере, все работает нормально. Проблем нет ни на заводе, ни в чём ещё.