package tender import ( "testing" "go.mongodb.org/mongo-driver/v2/bson" ) func TestFilterCachedRecommendedTendersAppliesActiveAndRejectedFilters(t *testing.T) { activeID, _ := bson.ObjectIDFromHex("507f1f77bcf86cd799439011") expiredID, _ := bson.ObjectIDFromHex("507f1f77bcf86cd799439012") items := []TenderResponse{ { ID: activeID.Hex(), Status: TenderStatusActive, PublicationDate: 1, SubmissionDeadline: 9999999999, ProcedureRef: "PROC_folder-a/notice-a", Rank: 1, }, { ID: expiredID.Hex(), Status: TenderStatusExpired, ProcedureRef: "PROC_folder-b/notice-b", Rank: 2, }, } form := &SearchForm{ OnlyActiveDeadlines: true, ExcludeRejectedTenders: true, Status: []string{string(TenderStatusActive)}, } excluded := map[string]struct{}{expiredID.Hex(): {}} got := filterCachedRecommendedTenders(items, form, nil, excluded, nil, 100) if len(got) != 1 { t.Fatalf("len = %d, want 1", len(got)) } if got[0].ID != activeID.Hex() { t.Fatalf("got ID %q, want active tender", got[0].ID) } }