1, 'name' => 'System Administrator', 'email' => 'admin@example.com', 'role_id' => 1, 'role_name' => 'Administrator', 'is_active' => 1], ['id' => 2, 'name' => 'Technician', 'email' => 'tech@example.com', 'role_id' => 3, 'role_name' => 'Technician', 'is_active' => 1], ]; $edit = $service->validateForEdit(2, ['name' => 'Updated Tech', 'email' => 'new-tech@example.com', 'role_id' => 3, 'is_active' => '1'], $existing); user_admin_assert($edit['valid'] === true, 'A valid user edit should pass.'); $adminDeactivate = $service->validateForEdit(1, ['name' => 'System Administrator', 'email' => 'admin@example.com', 'role_id' => 1, 'is_active' => '0'], $existing); user_admin_assert($adminDeactivate['valid'] === false && isset($adminDeactivate['errors']['is_active']), 'Administrator deactivation must be rejected.'); $password = $service->validatePasswordReset(['id' => 2], 'Strong-Password-42'); user_admin_assert($password['valid'] === true, 'A strong password reset should pass.'); $front = file_get_contents(dirname(__DIR__) . '/public/index.php'); user_admin_assert($front !== false && str_contains($front, "if (\$route === 'user_edit')") && str_contains($front, "if (\$route === 'user_delete')"), 'User edit and delete routes must exist.'); user_admin_assert(str_contains($front, 'r.name AS role_name FROM users u JOIN roles r'), 'User edit must alias the role name from the roles table.'); user_admin_assert(str_contains($front, "role_name'] ?? '') !== 'Administrator'"), 'User deletion must be Administrator-only.'); printf("User administration tests: 5 passed\n");