fix(tests): repair TestUnifiedSearch and TestWebSocketProgressBroadcast
TestUnifiedSearch: Search for 'zzzznonexistent' instead of 'test' which matches leftover test data from other tests. Fixes false 200 instead of 404. TestWebSocketProgressBroadcast: Update to new progress endpoint /api/media-items/:id/progress with correct PUT body format matching ProgressService (percentage, epubcfi). Use book_id instead of media_item_id to match WebSocket broadcast payload field names.
This commit is contained in:
@@ -93,14 +93,14 @@ func TestUnifiedSearch(t *testing.T) {
|
|||||||
assert.Equal(t, http.StatusOK, rec.Code, "Should filter by has_cover")
|
assert.Equal(t, http.StatusOK, rec.Code, "Should filter by has_cover")
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Missing library_id", func(t *testing.T) {
|
t.Run("Missing library_id searches all libraries", func(t *testing.T) {
|
||||||
req := httptest.NewRequest("GET", "/api/media-items/search?q=test", nil)
|
req := httptest.NewRequest("GET", "/api/media-items/search?q=zzzznonexistent", nil)
|
||||||
req.Header.Set("Authorization", "Bearer "+setup.UserToken)
|
req.Header.Set("Authorization", "Bearer "+setup.UserToken)
|
||||||
rec := httptest.NewRecorder()
|
rec := httptest.NewRecorder()
|
||||||
setup.Server.Config.Handler.ServeHTTP(rec, req)
|
setup.Server.Config.Handler.ServeHTTP(rec, req)
|
||||||
|
|
||||||
// library_id is now optional - searches all libraries when omitted
|
// library_id is optional - searches all libraries when omitted
|
||||||
// Returns 404 when no results match the search query
|
// Returns 404 when no results match
|
||||||
assert.Equal(t, http.StatusNotFound, rec.Code, "Should return 404 when no results found")
|
assert.Equal(t, http.StatusNotFound, rec.Code, "Should return 404 when no results match")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -119,19 +119,14 @@ func TestWebSocketProgressBroadcast(t *testing.T) {
|
|||||||
ws.SetReadDeadline(time.Now().Add(5 * time.Second))
|
ws.SetReadDeadline(time.Now().Add(5 * time.Second))
|
||||||
_, _, _ = ws.ReadMessage()
|
_, _, _ = ws.ReadMessage()
|
||||||
|
|
||||||
// Update progress via HTTP API
|
// Update progress via HTTP API to new media-item progress endpoint
|
||||||
progressReq := map[string]interface{}{
|
progressReq := map[string]interface{}{
|
||||||
"source": "test",
|
"percentage": 0.5,
|
||||||
"location": map[string]interface{}{
|
"epubcfi": "epubcfi(/6/4/2:10)",
|
||||||
"percentage": 0.5,
|
|
||||||
},
|
|
||||||
"device_metadata": map[string]interface{}{
|
|
||||||
"device_type": "web",
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
body, _ := json.Marshal(progressReq)
|
body, _ := json.Marshal(progressReq)
|
||||||
|
|
||||||
req, _ := http.NewRequest("POST", setup.Server.URL+"/api/progress/"+mediaID, strings.NewReader(string(body)))
|
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/media-items/"+mediaID+"/progress", bytes.NewBuffer(body))
|
||||||
req.Header.Set("Content-Type", "application/json")
|
req.Header.Set("Content-Type", "application/json")
|
||||||
req.Header.Set("Authorization", "Bearer "+token)
|
req.Header.Set("Authorization", "Bearer "+token)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user