Add new API tests for order item note requirements, subuser route updates, and department lane status management
- Introduced tests for validating note requirements on order items. - Updated subuser route management contract tests with new route coverage. - Added endpoints to manage department lane and self-serve lane statuses, with associated tests.
This commit is contained in:
@@ -62,6 +62,49 @@ class moduleSelfServeRoute
|
||||
]
|
||||
);
|
||||
|
||||
$this->put('/modules/self-serve/lane/status', function () {
|
||||
global $response;
|
||||
|
||||
self::requirePermission('modules_selfserve_lane_status_set');
|
||||
self::requireParameters(['lane_id', 'enabled']);
|
||||
$lane_id = (int)self::getParameter('lane_id');
|
||||
self::requireType($lane_id, self::type_int());
|
||||
self::requireMinValue($lane_id, 1);
|
||||
|
||||
$department_lane = (new department_lanes_o())->select($lane_id);
|
||||
if (!$department_lane->exists()) {
|
||||
$response->error('Department lane not found', 404);
|
||||
}
|
||||
self::requireDepartmentAccess((int)$department_lane->department->value());
|
||||
|
||||
$enabled = $this->requestedBoolean('enabled');
|
||||
$target_status = $enabled ? selfserve_lane_status::AVAILABLE : selfserve_lane_status::MAINTENANCE;
|
||||
$lane = (new selfserve())->lane($lane_id);
|
||||
$lane->setLaneStatus($target_status);
|
||||
|
||||
$user = (new authentication())->get_user();
|
||||
(new logs_o())->add(
|
||||
'selfserve',
|
||||
'global',
|
||||
1,
|
||||
$user ? $user->id : 0,
|
||||
'SET_LANE_MACHINE_STATUS',
|
||||
'User set self-serve lane ' . $lane_id . ' machine status to ' . $target_status->name
|
||||
);
|
||||
|
||||
$status = (string)$lane->getLaneStatus()->name;
|
||||
$response->success([
|
||||
'id' => $lane->id,
|
||||
'status' => $status,
|
||||
'machine_status_enabled' => department_lanes_o::isOperationalStatusName($status),
|
||||
'lane' => $department_lane->asArray(),
|
||||
]);
|
||||
},
|
||||
[
|
||||
'modules_selfserve_lane_status_set' => 'Set self-serve lane machine status',
|
||||
]
|
||||
);
|
||||
|
||||
/** Modules > Self Serve > Lane > Wash > In-progress details */
|
||||
$this->get('/modules/self-serve/lane/wash/in-progress', function () {
|
||||
global $response;
|
||||
|
||||
Reference in New Issue
Block a user