package analyzer import ( "context" "testing" ) func TestCleanJSONResponse(t *testing.T) { cases := []struct { input string expected string }{ { input: "```json\n{\"ai_score\": 90}\n```", expected: "{\"ai_score\": 90}", }, { input: "```\n{\"ai_score\": 85}\n```", expected: "{\"ai_score\": 85}", }, { input: "{\"ai_score\": 95}", expected: "{\"ai_score\": 95}", }, } for _, c := range cases { out := cleanJSONResponse(c.input) if out != c.expected { t.Errorf("cleanJSONResponse(%q) = %q, expected %q", c.input, out, c.expected) } } } func TestMockAnalyzer(t *testing.T) { mock := NewMockAnalyzer() res, err := mock.AnalyzeJD(context.Background(), "Senior AI Infrastructure Engineer", "Building GKE and K8s runtimes.") if err != nil { t.Fatalf("unexpected error: %v", err) } if res.AIScore <= 0 { t.Errorf("expected positive AI score, got %f", res.AIScore) } if !res.IsQualified { t.Errorf("expected IsQualified=true, got false") } if len(res.MatchedHighlights) == 0 { t.Errorf("expected matched highlights to not be empty") } }