Тестирование страниц Laravel с меньшим количеством данных - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь снизить время тестирования. В настоящее время у меня есть тест, в котором мне нужно проверить ссылки на страницы и метаданные.

В моем контроллере моя пагинация установлена ​​на 15, однако в моем тесте я должен создать 16 экземпляров, используя фабрику, чтобы иметь возможность утверждать данные на странице 2.

TestGetStudents.php

public function testGetStudents() {
    Students::saveMany(factory(Student::class, 16)->make());

    $this->get('url/students/list?page=2')
         ->assertJson([
              'meta' [
                   'current_page' => 2 
              ]
         ]);
}

StudentController.php

public function list() {
    return Students::paginate();
}

Как мне написать тест, не создавая 16 учеников для проверки данных на 2-й странице?

1 Ответ

0 голосов
/ 05 мая 2018

Замените ваш контроллер, чтобы получить параметр paginate от пользователя:

public function list(Request $request) {
    $per_page = !($request->input('per_page')) ? 15 : $request->input('per_page');
    return Studentes::paginate($per_page);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...