package shareser import ( "context" "errors" "testing" "time" "91porn-server/common/stderr" "91porn-server/models/e/sharemod" "go.mongodb.org/mongo-driver/bson/primitive" ) func TestGeneratorQrCodeKeepsShareSuccessWhenRecommendScoreFails(t *testing.T) { scoreCalls := 0 code, data := generatorQrCodeContextWithScore( context.Background(), 123, "https://example.test/video?id=1", primitive.NewObjectID().Hex(), "event-1", func( context.Context, uint64, primitive.ObjectID, string, time.Time, ) error { scoreCalls++ return errors.New("recommend score unavailable") }, ) if code != stderr.Success { t.Fatalf("code=%v, want success", code) } response, ok := data.(sharemod.VShareResp) if !ok || len(response.QrCode) == 0 { t.Fatalf("data=%T %#v, want non-empty QR code", data, data) } if scoreCalls != 1 { t.Fatalf("score calls=%d, want 1", scoreCalls) } }