18 lines
1.3 KiB
TypeScript
18 lines
1.3 KiB
TypeScript
import { beforeEach, expect, it, vi } from 'vitest'
|
|
import { http } from '@/shared/api/http'
|
|
import { deleteAppointment, listAppointmentCancellations, listAppointmentCancellationRecords } from './api'
|
|
vi.mock('@/shared/api/http',()=>({http:{get:vi.fn(),delete:vi.fn()},unwrapApiResponse:(result:{data:unknown})=>result.data}))
|
|
beforeEach(()=>vi.resetAllMocks())
|
|
it('sends the required cancellation body without the old reasonless query shape',async()=>{
|
|
vi.mocked(http.delete).mockResolvedValue({data:undefined})
|
|
await deleteAppointment('AP-TEST',3,'仓库取消时段')
|
|
expect(http.delete).toHaveBeenCalledExactlyOnceWith('/platform/v1/last-leg/inbound-plans/fba-appointments/AP-TEST',{data:{version:3,cancelReason:'仓库取消时段'}})
|
|
})
|
|
it('uses paged cancellation reads and the original business number for detail history',async()=>{
|
|
vi.mocked(http.get).mockResolvedValue({data:{records:[],total:'12'}})
|
|
expect((await listAppointmentCancellationRecords(2,10)).total).toBe(12)
|
|
expect(http.get).toHaveBeenLastCalledWith('/platform/v1/last-leg/inbound-plans/fba-appointments/cancellations',{params:{page:2,size:10}})
|
|
await listAppointmentCancellations('AP/TEST',1,10)
|
|
expect(http.get).toHaveBeenLastCalledWith('/platform/v1/last-leg/inbound-plans/fba-appointments/AP%2FTEST/cancellations',{params:{page:1,size:10}})
|
|
})
|