@@ -0,0 +1,45 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user