AssetGroupTest.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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([
  13. 'data' => [
  14. '*' => [
  15. 'name',
  16. 'sequence'
  17. ]
  18. ]
  19. ]);
  20. }
  21. public function test_asset_group_create(): void
  22. {
  23. $response = $this->post(route('asset-group.store'), [
  24. 'name' => 'test',
  25. 'sequence' => 1,
  26. ]);
  27. $response->assertStatus(201);
  28. }
  29. public function test_asset_group_update(): void
  30. {
  31. $assetGroup = AssetGroup::factory()->create();
  32. $response = $this->put(route('asset-group.update', ['asset_group' => $assetGroup->id]), [
  33. 'name' => 'test',
  34. 'sequence' => 1,
  35. ]);
  36. $response->assertStatus(204);
  37. $newAssetGroup = AssetGroup::find($assetGroup->id);
  38. $this->assertEquals('test', $newAssetGroup->name);
  39. $this->assertEquals(1, $newAssetGroup->sequence);
  40. }
  41. public function test_asset_group_delete(): void
  42. {
  43. $assetGroup = AssetGroup::factory()->create();
  44. $response = $this->delete(route('asset-group.destroy', ['asset_group' => $assetGroup->id]));
  45. $response->assertStatus(204);
  46. $this->assertNull(AssetGroup::find($assetGroup->id));
  47. }
  48. }