1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?php
- namespace Tests\Feature\API;
- use App\Models\Asset;
- use App\Models\Plan;
- use App\Models\Requirement;
- use Database\Factories\AssetFactory;
- use Illuminate\Foundation\Testing\RefreshDatabase;
- use Illuminate\Foundation\Testing\WithFaker;
- use Tests\Feature\TestCase;
- class RequirementTest extends TestCase
- {
- public function test_requirement_create(): void
- {
- $form = Requirement::factory()->make();
- $response = $this->post(route('requirement.store'), $form->toArray());
- $response->assertStatus(201);
- }
- public function test_requirement_query_by_site_id(): void
- {
- $asset = AssetFactory::new()->create();
- Requirement::factory(30)->create([
- 'asset_id' => $asset->id,
- ]);
- $response = $this->get(route('requirement.byAsset', ['asset_id' => $asset->id]));
- $response->assertStatus(200)->assertJsonStructure($this->simplePaginateResponseStructure([
- 'id',
- 'priority',
- 'title',
- 'created_by',
- 'plan',
- 'status',
- ]));
- }
- public function test_requirement_show(): void
- {
- $requirement = Requirement::factory()->create();
- $response = $this->get(route('requirement.show', ['requirement' => $requirement->id]));
- $response->assertStatus(200)->assertJsonStructure([
- 'data' => [
- 'title',
- 'status',
- 'asset_id',
- 'plan_id',
- 'requirement_group_id',
- 'requirement_group',
- 'asset',
- 'reviewed_by',
- 'priority',
- 'note',
- 'description',
- 'acceptance',
- 'mailto',
- 'created_by',
- 'created_at',
- 'updated_at',
- ]
- ]);
- }
- public function test_link_plan(): void
- {
- $asset = Asset::factory()->create();
- $plan = Plan::factory()->create([
- 'asset_id' => $asset->id,
- ]);
- $requirementIds = [];
- for ($i = 0; $i < 10; ++$i) {
- $requirementIds[] = Requirement::factory()->create(['asset_id' => $asset->id])?->id;
- }
- $response = $this->patch(route('requirement.linkPlan', ['plan_id' => $plan->id]), [
- 'requirement_ids' => $requirementIds,
- ]);
- $response->assertStatus(204);
- }
- }
|