AssetTest.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace Tests\Feature\API;
  3. use App\Models\Asset;
  4. use Tests\Feature\TestCase;
  5. class AssetTest extends TestCase
  6. {
  7. public function test_asset_group_list()
  8. {
  9. Asset::factory(30)->create();
  10. $response = $this->get(route('asset.index'));
  11. $response->assertStatus(200)
  12. ->assertJsonStructure([
  13. 'data' => [
  14. '*' => [
  15. 'id',
  16. 'name',
  17. 'code',
  18. 'description',
  19. 'status',
  20. 'created_by',
  21. 'owner',
  22. 'address',
  23. 'group_id',
  24. 'geo_address_code',
  25. 'acl',
  26. 'whitelist',
  27. 'latitude',
  28. 'longitude',
  29. ]
  30. ]
  31. ]);
  32. }
  33. public function test_asset_group_create(): void
  34. {
  35. $form = Asset::factory()->make();
  36. $form->whitelist = [1];
  37. $response = $this->post(route('asset.store'), $form->toArray());
  38. $response->assertStatus(201);
  39. }
  40. public function test_asset_group_update(): void
  41. {
  42. $asset = Asset::factory()->create();
  43. $form = Asset::factory()->make();
  44. $form->whitelist = [1];
  45. $response = $this->put(route('asset.update', ['asset' => $asset->id]), $form->toArray());
  46. $response->assertStatus(204);
  47. $newAsset = Asset::find($asset->id);
  48. $this->assertEquals($form->name, $newAsset->name);
  49. }
  50. public function test_asset_group_delete(): void
  51. {
  52. $asset = Asset::factory()->create();
  53. $response = $this->delete(route('asset.destroy', ['asset' => $asset->id]));
  54. $response->assertStatus(204);
  55. $this->assertNull(Asset::find($asset->id));
  56. }
  57. }