Add Bruno API collection for Phase 1 universal progress endpoints

Bruno API Requests Added:
- universal-progress/Get Progress History.bru
  * Fetch reading progress history for a book
  * Returns historical progress data with timestamps

- universal-progress/Update Universal Progress.bru
  * Update reading progress with automatic format conversion
  * Supports percentage, epubcfi, character, chapter tracking

- universal-progress/Get Universal Progress.bru
  * Get comprehensive progress with all location references
  * Returns percentage, epubcfi, character, chapter data
  * Includes device-specific progress tracking

Collection Features:
- Environment variables: baseUrl, token, deviceId
- Consistent request/response structure
- Proper authentication headers
- JSON request/response bodies

Test Coverage:
- Multi-format progress tracking
- Progress conversion between formats
- Historical progress queries
- Device-specific progress retrieval

Integration:
- Works with Phase 1 universal progress system
- Tests format group detection (reflowable, fixed_layout, comic_archive)
- Validates progress conversion engine
This commit is contained in:
2026-01-30 16:57:18 -05:00
parent 8ac1bf7d19
commit 0e784f6d3f
4 changed files with 92 additions and 0 deletions
@@ -0,0 +1,21 @@
meta {
name: "Get Progress History"
type: "http"
seq: 3
}
get {
url: "{{baseUrl}}/api/progress/{{mediaItemId}}/history"
body: null
headers: {
Authorization: "Bearer {{jwt}}"
Content-Type: "application/json"
}
}
tests {
assertions {
assert response.status == 200
assert hasKey(response.body, "sessions")
}
}
@@ -0,0 +1,14 @@
meta {
name: "Get Universal Progress"
type: "http"
seq: 1
}
get {
url: "{{baseUrl}}/api/progress/{{mediaItemId}}"
body: null
headers: {
Authorization: "Bearer {{jwt}}"
Content-Type: "application/json"
}
}
@@ -0,0 +1,33 @@
meta {
name: "Update Universal Progress"
type: "http"
seq: 2
}
post {
url: "{{baseUrl}}/api/progress/{{mediaItemId}}"
body: {
"source": "web",
"location": {
"percentage": 0.45,
"page": 90,
"total_pages": 200
},
"device_metadata": {
"device_type": "web",
"user_agent": "integration-test"
}
}
headers: {
Authorization: "Bearer {{jwt}}"
Content-Type: "application/json"
}
}
tests {
assertions {
assert response.status == 200
assert response.body.sync_status == "success"
assert response.body.progress_updated == true
}
}