2026-09-19 20:56:27 +02:00
|
|
|
package mapper
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
servicemodel "github.com/danyel/go-guess/backend/internal/service/model"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestInterviewOmitsReferenceAnswer(t *testing.T) {
|
|
|
|
|
response := InterviewToWeb(servicemodel.Interview{
|
|
|
|
|
Job: servicemodel.JobPosting{
|
|
|
|
|
Questions: []servicemodel.Question{{
|
|
|
|
|
ID: 1, Type: "code_review", Text: "Review this",
|
|
|
|
|
CodeSnippet: "return nil", ReferenceAnswer: "Should return the error",
|
|
|
|
|
}},
|
|
|
|
|
},
|
|
|
|
|
}, "http://localhost")
|
|
|
|
|
if len(response.Job.Questions) != 1 || response.Job.Questions[0].CodeSnippet != "return nil" {
|
|
|
|
|
t.Fatalf("expected participant-safe code question, got %#v", response)
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-09-19 21:34:12 +02:00
|
|
|
|
|
|
|
|
func TestCandidateAlwaysUsesJSONArrays(t *testing.T) {
|
|
|
|
|
response := CandidateToWeb(servicemodel.CandidateMatch{})
|
|
|
|
|
if response.Matched == nil || response.Missing == nil {
|
|
|
|
|
t.Fatalf("candidate trait collections must not be nil: %#v", response)
|
|
|
|
|
}
|
|
|
|
|
}
|