deadloop
@deadloop
Активно осваиваю PHP

Как правильно создать unit test для сводной таблицы?

Добрый день. Я хочу создать тест для контроллера. Есть три таблицы, roles, categories и categories_roles, связь многие ко многим.

Контроллер
/**
     * Update connections.
     *
     * @return \Illuminate\Contracts\Support\Renderable
     */
    public function update(Request $request) {

        $input = $request->get('category', []);
        foreach (Category::all() as $category) {
            $category->roles()->sync(Arr::get($input, $category->id, []));
        }
        return view('home');
    }


Не могу сообразить как написать тест, в голове предстовление есть а вот как реализовать не знаю. Как я начал пока делать.

UnitTest
/** @test */
    public function test_admin_user_can_edit_categories_roles()
    {
        $this->actingAs(\App\Models\User::factory()->create(['role_id' => 1]));
        $input = [
            "1" => [
                "1" => "1"
            ],
            "2" => [
                "1" => "1"
            ],
        ];
        $this->post('/admin/connections', $input);
    }
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы