39 lines
1.1 KiB
Go
39 lines
1.1 KiB
Go
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)
|
|
}
|
|
}
|