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:
Jeppe Bundgaard
2026-05-28 16:06:14 +02:00
parent 54de2e5674
commit ae3657e7aa
13 changed files with 866 additions and 84 deletions
@@ -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;