Проблема Laravel с тестированием при использовании астротомического / переводимого с помощью Laravel - PullRequest
0 голосов
/ 11 октября 2019

У меня есть модель, которая использует переводы

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);
    }
}

Я все еще не печатаю их, но тест вернул true. Я проверил почему, и кажется, что переведенные значения категории возвращают нуль. Я попытался добавить переменную $category, и кажется, что она не может загрузить отношение переводов. Все отлично работает, когда я подаю свое приложение в браузере. На заводе нет проблем или что-то еще.

...