修复(#13): 邀请列表返回设备标识和设备号 (#15)

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
2026-06-08 22:24:51 -07:00
committed by GitHub
parent 24caf58987
commit 21811f4d63
5 changed files with 60 additions and 10 deletions
@@ -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()