package mediaser import ( "reflect" "testing" "91porn-server/models/v/mediamod" "91porn-server/models/v/mediatagmod" "go.mongodb.org/mongo-driver/bson/primitive" ) func TestBuildDedupTagsAndDetails(t *testing.T) { tagID1 := primitive.NewObjectID() tagID2 := primitive.NewObjectID() duplicateNameTagID := primitive.NewObjectID() missingTagID := primitive.NewObjectID() tagIDs := []primitive.ObjectID{tagID1, tagID2, duplicateNameTagID, missingTagID} tagMap := map[primitive.ObjectID]*mediatagmod.MediaTag{ tagID1: {ID: tagID1, Name: "剧情"}, tagID2: {ID: tagID2, Name: "恋爱"}, duplicateNameTagID: {ID: duplicateNameTagID, Name: "剧情"}, } gotTagIDs, gotDetails := buildDedupTagsAndDetails(tagIDs, tagMap) wantTagIDs := []primitive.ObjectID{tagID1, tagID2} wantDetails := []mediamod.TagDetail{ {Id: tagID1, Name: "剧情"}, {Id: tagID2, Name: "恋爱"}, } if !reflect.DeepEqual(gotTagIDs, wantTagIDs) { t.Fatalf("tag IDs = %#v, want %#v", gotTagIDs, wantTagIDs) } if !reflect.DeepEqual(gotDetails, wantDetails) { t.Fatalf("tag details = %#v, want %#v", gotDetails, wantDetails) } }