diff --git a/app/Http/Controllers/V3/RoadItemsProjectController.php b/app/Http/Controllers/V3/RoadItemsProjectController.php index 93858c95..c985f85c 100644 --- a/app/Http/Controllers/V3/RoadItemsProjectController.php +++ b/app/Http/Controllers/V3/RoadItemsProjectController.php @@ -65,6 +65,15 @@ class RoadItemsProjectController extends Controller allowedFilters: $allowedFilters, allowedSortings: $allowedSortings); + + foreach ($data['data'] as $road_item) { + if (Gate::allows('gate-supervise-road-item', $road_item)) { + $road_item['can_supervise'] = 1; + } else { + $road_item['can_supervise'] = 0; + } + } + return response()->json($data); } diff --git a/tests/Feature/V3/CMMSMachine/ListTest.php b/tests/Feature/V3/CMMSMachine/ListTest.php new file mode 100644 index 00000000..05e98ba2 --- /dev/null +++ b/tests/Feature/V3/CMMSMachine/ListTest.php @@ -0,0 +1,36 @@ +create(); + + CMMSMachine::factory(5)->create(); + + $response = $this->actingAs($user)->getJson(route('v3.cmms_machines.list')); + + $response->assertOk(); + + $response->assertJsonStructure([ + 'data' => [ + '*' => [ + "machine_code", + ], + ] + ]); + } +} diff --git a/tests/Feature/V3/Rahdaran/ListTest.php b/tests/Feature/V3/Rahdaran/ListTest.php new file mode 100644 index 00000000..eddb11c4 --- /dev/null +++ b/tests/Feature/V3/Rahdaran/ListTest.php @@ -0,0 +1,36 @@ +create(); + + Rahdaran::factory(5)->create(); + + $response = $this->actingAs($user)->getJson(route('v3.rahdaran.list')); + + $response->assertOk(); + + $response->assertJsonStructure([ + 'data' => [ + '*' => [ + "name", + "code", + ], + ] + ]); + } +} diff --git a/tests/Feature/V3/RoadItemsProject/SupervisorIndexTest.php b/tests/Feature/V3/RoadItemsProject/SupervisorIndexTest.php index f7351f52..13a080d4 100644 --- a/tests/Feature/V3/RoadItemsProject/SupervisorIndexTest.php +++ b/tests/Feature/V3/RoadItemsProject/SupervisorIndexTest.php @@ -24,17 +24,17 @@ class SupervisorIndexTest extends TestCase $response->assertForbidden(); } - public function test_operator_can_see_the_data_table(): void + public function test_supervisor_can_see_the_data_table(): void { $user = User::factory() ->has(Permission::factory([ - 'name' => 'create-road-item' + 'name' => 'show-road-item-supervise-cartable' ])) ->create(); RoadItemsProject::factory(10)->create(); - $response = $this->actingAs($user)->getJson(route('v3.road_items.operatorIndex', [ + $response = $this->actingAs($user)->getJson(route('v3.road_items.supervisorIndex', [ 'size' => 10, 'start' => 0, 'sorting' => json_encode([]), @@ -90,6 +90,7 @@ class SupervisorIndexTest extends TestCase "cmms_machine_code", "rahdar_id", "rahdar_code", + "can_supervise", ], ] ]);