AssetGroupTest.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace Tests\Feature\API;
  3. use App\Models\AssetGroup;
  4. use Tests\Feature\TestCase;
  5. class AssetGroupTest extends TestCase
  6. {
  7. public function test_asset_group_list()
  8. {
  9. AssetGroup::factory(30)->create();
  10. $response = $this->get(route('asset-group.index'));
  11. $response->assertStatus(200)
  12. ->assertJsonStructure($this->simplePaginateResponseStructure([
  13. 'name',
  14. 'sequence',
  15. ]));
  16. }
  17. public function test_asset_group_create(): void
  18. {
  19. $response = $this->post(route('asset-group.store'), [
  20. 'name' => 'test',
  21. 'sequence' => 1,
  22. ]);
  23. $response->assertStatus(201);
  24. }
  25. public function test_asset_group_update(): void
  26. {
  27. $assetGroup = AssetGroup::factory()->create();
  28. $response = $this->put(route('asset-group.update', ['asset_group' => $assetGroup->id]), [
  29. 'name' => 'test',
  30. 'sequence' => 1,
  31. ]);
  32. $response->assertStatus(204);
  33. $newAssetGroup = AssetGroup::find($assetGroup->id);
  34. $this->assertEquals('test', $newAssetGroup->name);
  35. $this->assertEquals(1, $newAssetGroup->sequence);
  36. }
  37. public function test_asset_group_delete(): void
  38. {
  39. $assetGroup = AssetGroup::factory()->create();
  40. $response = $this->delete(route('asset-group.destroy', ['asset_group' => $assetGroup->id]));
  41. $response->assertStatus(204);
  42. $this->assertNull(AssetGroup::find($assetGroup->id));
  43. }
  44. }