vehicle_record_test.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package vehicle
  2. import (
  3. "testing"
  4. "time"
  5. "github.com/stretchr/testify/require"
  6. "wails-app/internal/dao"
  7. "wails-app/internal/global"
  8. "wails-app/internal/model/vehicle/request"
  9. )
  10. func TestListVehicleRecordsComplementsLegacyPassageNames(t *testing.T) {
  11. setupVehiclePaymentTest(t)
  12. entryChannel := &dao.Channel{ChannelCode: "ENTRY-001", ChannelName: "东门入口", Direction: "in"}
  13. exitChannel := &dao.Channel{ChannelCode: "EXIT-002", ChannelName: "西门出口", Direction: "out"}
  14. require.NoError(t, global.GVA_DB.Create(entryChannel).Error)
  15. require.NoError(t, global.GVA_DB.Create(exitChannel).Error)
  16. require.NoError(t, global.GVA_DB.Create(&dao.UHFReader{
  17. DeviceCode: "READER-ENTRY", DeviceName: "东门读卡器", DeviceType: "uhf", ChannelID: entryChannel.ID,
  18. }).Error)
  19. require.NoError(t, global.GVA_DB.Create(&dao.UHFReader{
  20. DeviceCode: "READER-EXIT", DeviceName: "西门读卡器", DeviceType: "uhf", ChannelID: exitChannel.ID,
  21. }).Error)
  22. record := &dao.VehicleRecord{
  23. PlateNumber: "LEGACY-PASSAGE", EntryTime: time.Now(), PaymentStatus: "paid",
  24. EntryChannelID: entryChannel.ID, EntryChannelCode: entryChannel.ChannelCode, EntryDeviceCode: "READER-ENTRY",
  25. ExitChannelID: exitChannel.ID, ExitChannelCode: exitChannel.ChannelCode, ExitDeviceCode: "READER-EXIT",
  26. }
  27. require.NoError(t, global.GVA_DB.Create(record).Error)
  28. list, total, err := (&VehicleRecordService{}).ListVehicleRecords(request.VehicleRecordRequest{Page: 1, PageSize: 10})
  29. require.NoError(t, err)
  30. require.EqualValues(t, 1, total)
  31. require.Len(t, list, 1)
  32. require.Equal(t, "东门入口", list[0].EntryChannelName)
  33. require.Equal(t, "东门读卡器", list[0].EntryDeviceName)
  34. require.Equal(t, "西门出口", list[0].ExitChannelName)
  35. require.Equal(t, "西门读卡器", list[0].ExitDeviceName)
  36. }