Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/DATA-DOG/go-sqlmock"
|
||||
"github.com/perfect-panel/server/pkg/tool"
|
||||
"gorm.io/driver/mysql"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
@@ -73,6 +74,39 @@ func TestQueryBenefitsKeepsDirectInviteeGift(t *testing.T) {
|
||||
assertBenefitsExpectations(t, mock)
|
||||
}
|
||||
|
||||
func TestQueryDeviceIdentifiersReturnsDeviceIdentifierAndNo(t *testing.T) {
|
||||
db, mock, cleanup := newBenefitsTestDB(t)
|
||||
defer cleanup()
|
||||
|
||||
mock.ExpectQuery("FROM user_device ud").
|
||||
WithArgs(int64(100), int64(200)).
|
||||
WillReturnRows(sqlmock.NewRows([]string{"user_id", "device_id", "identifier"}).
|
||||
AddRow(100, 11, "inviter-hash").
|
||||
AddRow(200, 22, "invitee-hash"))
|
||||
|
||||
identifiers, err := QueryDeviceIdentifiers(context.Background(), db, []int64{100, 200})
|
||||
if err != nil {
|
||||
t.Fatalf("QueryDeviceIdentifiers returned error: %v", err)
|
||||
}
|
||||
|
||||
inviter := identifiers[100]
|
||||
if inviter.Identifier != "inviter-hash" {
|
||||
t.Fatalf("inviter identifier = %q, want inviter-hash", inviter.Identifier)
|
||||
}
|
||||
if inviter.DeviceNo != tool.DeviceIdToHash(11) {
|
||||
t.Fatalf("inviter device no = %q, want %q", inviter.DeviceNo, tool.DeviceIdToHash(11))
|
||||
}
|
||||
|
||||
invitee := identifiers[200]
|
||||
if invitee.Identifier != "invitee-hash" {
|
||||
t.Fatalf("invitee identifier = %q, want invitee-hash", invitee.Identifier)
|
||||
}
|
||||
if invitee.DeviceNo != tool.DeviceIdToHash(22) {
|
||||
t.Fatalf("invitee device no = %q, want %q", invitee.DeviceNo, tool.DeviceIdToHash(22))
|
||||
}
|
||||
assertBenefitsExpectations(t, mock)
|
||||
}
|
||||
|
||||
func newBenefitsTestDB(t *testing.T) (*gorm.DB, sqlmock.Sqlmock, func()) {
|
||||
t.Helper()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user