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); } }