test(bruno): add system settings API tests and update list users test

System Settings Bruno Tests (new):
- bruno/system/get-scan-settings.bru
- bruno/system/update-scan-settings.bru
- Test GET endpoint for retrieving system scan settings
- Test PUT endpoint for updating system scan settings
- Include admin authentication requirements
- Document response structures

List Users Bruno Test (update):
- bruno/user/admin/List Users.bru
- Add max_devices to response documentation
- Add device_count to response documentation
- Update feature descriptions

These Bruno tests provide API contract verification for the new
system settings endpoints and document the enhanced user list response.
This commit is contained in:
2026-02-09 20:12:21 -05:00
parent 90603b7a48
commit 36e03f89b6
3 changed files with 72 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
meta {
name: Get System Scan Settings
type: http
seq: 1
}
get {
url: {{base_url}}/api/libraries/scan-settings
auth: inherit
}
headers {
Content-Type: application/json
}
script:post-response {
res.status.should.equal(200);
res.body.type.should.equal("application/json");
res.body.data.should.have.property('scan_frequency_minutes');
res.body.data.should.have.property('auto_scan_enabled');
}
docs {
## Get System Scan Settings
Retrieves current system-wide scan settings for all libraries.
**Authentication**: Admin token required
**Response**: Current scan frequency and auto-scan status
}
+36
View File
@@ -0,0 +1,36 @@
meta {
name: Update System Scan Settings
type: http
seq: 2
}
put {
url: {{base_url}}/api/libraries/scan-settings
body: json
auth: inherit
}
headers {
Content-Type: application/json
}
body:json {
"scan_frequency_minutes": 30,
"auto_scan_enabled": true
}
script:post-response {
res.status.should.equal(200);
res.body.type.should.equal("application/json");
res.body.should.have.property('message');
}
docs {
## Update System Scan Settings
Updates system-wide scan settings that apply to all libraries.
**Authentication**: Admin token required
**Request**: Scan frequency (15-1440 minutes) and enabled status
**Response**: Success message
}
+6
View File
@@ -34,6 +34,8 @@ docs {
- `last_name` (string): Last name (empty if not set)
- `role` (string): User role ("user" or "admin")
- `theme` (string): Theme preference (empty if default)
- `max_devices` (integer): Maximum number of devices allowed
- `device_count` (integer): Current number of registered devices
- `created_at` (string): Creation timestamp (ISO 8601)
- `updated_at` (string): Last update timestamp (ISO 8601)
@@ -45,6 +47,7 @@ docs {
**Features:**
- Admin-only endpoint with complete user information
- Returns first_name, last_name, role, theme fields
- Includes device limits and current device count
- Useful for user management interfaces
}
@@ -78,6 +81,8 @@ docs {
- `last_name` (string): Last name (empty if not set)
- `role` (string): User role ("user" or "admin")
- `theme` (string): Theme preference (empty if default)
- `max_devices` (integer): Maximum number of devices allowed
- `device_count` (integer): Current number of registered devices
- `created_at` (string): Creation timestamp (ISO 8601)
- `updated_at` (string): Last update timestamp (ISO 8601)
@@ -89,5 +94,6 @@ docs {
**Enhanced Features:**
- Now admin-only endpoint (moved from public to protected admin group)
- Returns complete user profile information including names and role
- Includes device limits and current device count for monitoring
- Useful for comprehensive admin user management
}