Проблема 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переменная, и кажется, что она не может загрузить отношение переводов. Когда я показываю свое приложение в браузере, все работает нормально. Проблем нет ни на заводе, ни в чём ещё.

0 ответов

Другие вопросы по тегам