create(); $response = $this->getJson(route('team-member.list', ['project' => Project::query()->first()->id])); $response->assertStatus(200) ->assertJsonStructure([ 'data' => [ '*' => [ 'id', 'user', 'user_id', 'role', 'limited', 'join_at', ] ] ]); } public function test_team_member_delete(): void { $teamMember = TeamMember::factory()->create(); $response = $this->delete(route('team-member.destroy', ['team_member' => $teamMember->id])); $response->assertStatus(204); $this->assertNull(TeamMember::find($teamMember->id)); } public function test_team_member_manage(): void { $project = Project::factory()->create(); $formData = []; for ($i = 0; $i < 10; $i++) { $formData[] = [ 'user_id' => User::query()->create([ ...User::factory()->make()->toArray(), "company_id" => Auth::user()->company_id, "password" => uniqid(), ])->id, 'role' => fake()->text(20), 'limited' => 1 ]; } $response = $this->postJson(route('team-member.manage-members', ['project' => $project->id]), $formData); dump($response->getContent()); $response->assertStatus(201); $this->assertEquals(count($formData), TeamMember::query()->where("project_id", $project->id)->count()); } }