perf: 优化空场监控
This commit is contained in:
@@ -88,6 +88,38 @@ describe('范思伯特福中福响应映射', () => {
|
||||
})
|
||||
})
|
||||
|
||||
it('把同一场地连续时段作为一笔组合订单提交并汇总金额', () => {
|
||||
const first = createSlot(0, true)
|
||||
const second = {
|
||||
...createSlot(0, true),
|
||||
beginDatetime: '2026-07-16 09:00:00',
|
||||
endDatetime: '2026-07-16 09:59:00',
|
||||
cost: 90
|
||||
}
|
||||
const slots = parseAvailabilityResponse({
|
||||
successed: true,
|
||||
result: { slots: [first, second] }
|
||||
}, query).slots
|
||||
|
||||
expect(buildCreateBookingRequestBody(slots)).toEqual({
|
||||
userId: 6038652,
|
||||
projectType: 0,
|
||||
classroomItems: [{
|
||||
classroomUid: '1775556146897330236',
|
||||
beginDatetime: '2026-07-16 08:00:00',
|
||||
endDatetime: '2026-07-16 08:59:00',
|
||||
peopleNum: 1
|
||||
}, {
|
||||
classroomUid: '1775556146897330236',
|
||||
beginDatetime: '2026-07-16 09:00:00',
|
||||
endDatetime: '2026-07-16 09:59:00',
|
||||
peopleNum: 1
|
||||
}],
|
||||
remark: '',
|
||||
combinationPayments: [{ paymentMethod: 900, cost: 170 }]
|
||||
})
|
||||
})
|
||||
|
||||
it('把下单成功响应映射为待支付锁场,不暴露支付脚本给公共订单', () => {
|
||||
const slot = parseAvailabilityResponse({
|
||||
successed: true,
|
||||
@@ -146,7 +178,7 @@ describe('范思伯特福中福响应映射', () => {
|
||||
visitorId: 'visitor-token'
|
||||
}
|
||||
|
||||
await fansiboteFuzhongAdapter.createBooking!(slot, settings)
|
||||
await fansiboteFuzhongAdapter.createBooking!([slot], settings)
|
||||
await fansiboteFuzhongAdapter.cancelBooking!(settings)
|
||||
|
||||
const createRequest = fetchMock.mock.calls[0]?.[1] as RequestInit
|
||||
@@ -181,7 +213,7 @@ describe('范思伯特福中福响应映射', () => {
|
||||
const fetchMock = vi.fn()
|
||||
vi.stubGlobal('fetch', fetchMock)
|
||||
|
||||
await expect(fansiboteFuzhongAdapter.createBooking!(slot, {
|
||||
await expect(fansiboteFuzhongAdapter.createBooking!([slot], {
|
||||
courtId: query.courtId
|
||||
})).rejects.toThrow('PSPLVISITORID')
|
||||
expect(fetchMock).not.toHaveBeenCalled()
|
||||
@@ -198,7 +230,7 @@ describe('范思伯特福中福响应映射', () => {
|
||||
|
||||
expect(result.slots).toEqual([
|
||||
expect.objectContaining({
|
||||
id: '1775556146897330236:2026-07-16 08:00:00',
|
||||
id: '1775556146897330236:2026-07-16 08:00:00:2026-07-16 08:59:00',
|
||||
courtLabel: '1号风雨场',
|
||||
startTime: '08:00',
|
||||
endTime: '08:59',
|
||||
|
||||
Reference in New Issue
Block a user