diff --git a/cmd/server/tests/test_helpers.go b/cmd/server/tests/test_helpers.go index b304ece..18fb4c9 100644 --- a/cmd/server/tests/test_helpers.go +++ b/cmd/server/tests/test_helpers.go @@ -145,9 +145,10 @@ func setupTestServer(t *testing.T) (*httptest.Server, *database.Queries, *config queueHandler := handlers.NewQueueHandler(queries, queueProcessor) // Create refactored handlers (matching main.go Phase 6) + libraryService := services.NewLibraryService(queries) worker := services.NewWorker(3) collectionHandler := handlers.NewCollectionHandler(queries, connManager) - mediaHandler := handlers.NewMediaHandler(queries, worker) + mediaHandler := handlers.NewMediaHandler(queries, libraryService, worker) searchHandler := handlers.NewSearchHandler(queries) matchingHandler := handlers.NewMatchingHandler(queries, connManager) @@ -295,6 +296,21 @@ func createTestMediaItemID(t *testing.T, ts *httptest.Server, token string) stri libData := libResult["id"].(string) + // Add a folder to the library (required before adding media items) + folderReq := map[string]interface{}{ + "folder_path": "/tmp/test-library", + } + folderBody, _ := json.Marshal(folderReq) + + folderReqHTTP, _ := http.NewRequest("POST", ts.URL+"/api/libraries/"+libData+"/folders", bytes.NewBuffer(folderBody)) + folderReqHTTP.Header.Set("Content-Type", "application/json") + folderReqHTTP.Header.Set("Authorization", "Bearer "+token) + + folderResp, err := client.Do(folderReqHTTP) + require.NoError(t, err) + defer folderResp.Body.Close() + require.Equal(t, http.StatusCreated, folderResp.StatusCode, "Library folder creation is required before adding media items") + // Create a test media item mediaItemReq := map[string]interface{}{ "library_id": libData,