|
@@ -0,0 +1,66 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace Tests\Feature\API;
|
|
|
+
|
|
|
+
|
|
|
+use App\Models\RequirementGroup;
|
|
|
+use Tests\Feature\TestCase;
|
|
|
+
|
|
|
+class RequirementGroupTest extends TestCase
|
|
|
+{
|
|
|
+ public function test_requirement_group_list()
|
|
|
+ {
|
|
|
+ RequirementGroup::factory(30)->create();
|
|
|
+
|
|
|
+ $response = $this->get(route('requirement-group.index'));
|
|
|
+
|
|
|
+ $response->assertStatus(200)
|
|
|
+ ->assertJsonStructure([
|
|
|
+ 'data' => [
|
|
|
+ '*' => [
|
|
|
+ 'name',
|
|
|
+ 'abbr_name'
|
|
|
+ ]
|
|
|
+ ]
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function test_requirement_group_create(): void
|
|
|
+ {
|
|
|
+ $response = $this->post(route('requirement-group.store'), [
|
|
|
+ 'abbr_name' => fake()->text(10),
|
|
|
+ 'name' => fake()->text(100),
|
|
|
+ ]);
|
|
|
+
|
|
|
+ $response->assertStatus(201);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function test_requirement_group_update(): void
|
|
|
+ {
|
|
|
+ $group = RequirementGroup::factory()->create();
|
|
|
+
|
|
|
+ $form = [
|
|
|
+ 'name' => fake()->text(100),
|
|
|
+ 'abbr_name' => fake()->text(15),
|
|
|
+ ];
|
|
|
+
|
|
|
+ $response = $this->put(route('requirement-group.update', ['requirement_group' => $group->id]), $form);
|
|
|
+
|
|
|
+ $response->assertStatus(204);
|
|
|
+
|
|
|
+ $newRequirementGroup = RequirementGroup::find($group->id);
|
|
|
+ $this->assertEquals($form['name'], $newRequirementGroup->name);
|
|
|
+ $this->assertEquals($form['abbr_name'], $newRequirementGroup->abbr_name);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function test_requirement_group_delete(): void
|
|
|
+ {
|
|
|
+ $group = RequirementGroup::factory()->create();
|
|
|
+
|
|
|
+ $response = $this->delete(route('requirement-group.destroy', ['requirement_group' => $group->id]));
|
|
|
+
|
|
|
+ $response->assertStatus(204);
|
|
|
+
|
|
|
+ $this->assertNull(RequirementGroup::find($group->id));
|
|
|
+ }
|
|
|
+}
|