package vehicle import ( "testing" "time" "github.com/stretchr/testify/require" "wails-app/internal/dao" "wails-app/internal/global" "wails-app/internal/model/vehicle/request" ) func TestListVehicleRecordsComplementsLegacyPassageNames(t *testing.T) { setupVehiclePaymentTest(t) entryChannel := &dao.Channel{ChannelCode: "ENTRY-001", ChannelName: "东门入口", Direction: "in"} exitChannel := &dao.Channel{ChannelCode: "EXIT-002", ChannelName: "西门出口", Direction: "out"} require.NoError(t, global.GVA_DB.Create(entryChannel).Error) require.NoError(t, global.GVA_DB.Create(exitChannel).Error) require.NoError(t, global.GVA_DB.Create(&dao.UHFReader{ DeviceCode: "READER-ENTRY", DeviceName: "东门读卡器", DeviceType: "uhf", ChannelID: entryChannel.ID, }).Error) require.NoError(t, global.GVA_DB.Create(&dao.UHFReader{ DeviceCode: "READER-EXIT", DeviceName: "西门读卡器", DeviceType: "uhf", ChannelID: exitChannel.ID, }).Error) record := &dao.VehicleRecord{ PlateNumber: "LEGACY-PASSAGE", EntryTime: time.Now(), PaymentStatus: "paid", EntryChannelID: entryChannel.ID, EntryChannelCode: entryChannel.ChannelCode, EntryDeviceCode: "READER-ENTRY", ExitChannelID: exitChannel.ID, ExitChannelCode: exitChannel.ChannelCode, ExitDeviceCode: "READER-EXIT", } require.NoError(t, global.GVA_DB.Create(record).Error) list, total, err := (&VehicleRecordService{}).ListVehicleRecords(request.VehicleRecordRequest{Page: 1, PageSize: 10}) require.NoError(t, err) require.EqualValues(t, 1, total) require.Len(t, list, 1) require.Equal(t, "东门入口", list[0].EntryChannelName) require.Equal(t, "东门读卡器", list[0].EntryDeviceName) require.Equal(t, "西门出口", list[0].ExitChannelName) require.Equal(t, "西门读卡器", list[0].ExitDeviceName) }