1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace Tests\Feature\API;
- use App\Models\Project;
- use App\Models\TeamMember;
- use App\Models\User;
- use Illuminate\Foundation\Testing\RefreshDatabase;
- use Illuminate\Foundation\Testing\WithFaker;
- use Illuminate\Support\Facades\Auth;
- use Tests\Feature\TestCase;
- class TeamMemberTest extends TestCase
- {
- public function test_team_members_list()
- {
- TeamMember::factory(30)->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());
- }
- }
|