MCPcopy Create free account
hub / github.com/driangle/taskmd / TestProjectNotFound_Returns404

Function TestProjectNotFound_Returns404

apps/cli/internal/web/handlers_test.go:1415–1439  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1413}
1414
1415func TestProjectNotFound_Returns404(t *testing.T) {
1416 defaultDir := createTestTaskDir(t)
1417 defaultDP := NewDataProvider(defaultDir, false)
1418 resolver := NewProjectResolver(func(_ string) (string, []PhaseInfo, error) {
1419 return "", nil, ErrProjectNotFound
1420 }, false)
1421
1422 handler := setupProjectMiddleware(resolver, handleTasks(defaultDP))
1423
1424 req := httptest.NewRequest(http.MethodGet, "/api/tasks?project=nonexistent", nil)
1425 rec := httptest.NewRecorder()
1426 handler.ServeHTTP(rec, req)
1427
1428 if rec.Code != http.StatusNotFound {
1429 t.Fatalf("expected 404, got %d: %s", rec.Code, rec.Body.String())
1430 }
1431
1432 var errResp ErrorResponse
1433 if err := json.Unmarshal(rec.Body.Bytes(), &errResp); err != nil {
1434 t.Fatalf("invalid JSON: %v", err)
1435 }
1436 if !strings.Contains(errResp.Error, "nonexistent") {
1437 t.Fatalf("expected error to mention project id, got %q", errResp.Error)
1438 }
1439}
1440
1441func TestHandleConfig_WithProject(t *testing.T) {
1442 defaultPhases := []PhaseInfo{{ID: "default-phase", Name: "Default Phase"}}

Callers

nothing calls this directly

Calls 6

createTestTaskDirFunction · 0.85
NewDataProviderFunction · 0.85
NewProjectResolverFunction · 0.85
setupProjectMiddlewareFunction · 0.85
handleTasksFunction · 0.85
ServeHTTPMethod · 0.80

Tested by

no test coverage detected