适配 M002 V3 前端任务流与同卡复核

This commit is contained in:
andy
2026-07-12 00:33:15 +08:00
parent fd027f124c
commit 155db63028
17 changed files with 1593 additions and 85 deletions

View File

@@ -7,6 +7,7 @@ import {
fetchReservationTaskDetail,
fetchReservationTaskList,
fetchSourceMessageConversation,
resolveReservationManualReviewTask,
} from '@/services/reservationService'
import { setReservationHotelIdProvider } from '@/config/reservationConfig'
@@ -233,6 +234,63 @@ describe('reservationService real API mode', () => {
expect(result.original_order_logic_deleted).toBe(true)
})
it('resolves a type-known manual review task on the original card', async () => {
const fetchMock = vi.spyOn(globalThis, 'fetch').mockResolvedValue(
mockJsonResponse({
task_id: '10001',
order_id: '20001',
task_status: 'READY',
review_status: 'RESOLVED',
review_resolution: {
confirmed_order_id: '20001',
field_overrides: [
{
field_pointer: '/extracted_fields/pms_room_type_code',
value: 'RM3',
},
],
},
confirmed_payload: {
'extracted_fields.pms_room_type_code': 'RM3',
},
opera_operations: [],
}),
)
const result = await resolveReservationManualReviewTask('10001', {
confirmed_order_id: '20001',
reason: '确认 PMS 房型代码',
field_overrides: [
{
field_pointer: '/extracted_fields/pms_room_type_code',
value: 'RM3',
},
],
})
expect(fetchMock).toHaveBeenCalledWith(
'/api/reservation/tasks/10001/manual-review-resolutions',
expect.objectContaining({
method: 'POST',
headers: expect.objectContaining({
'Content-Type': 'application/json',
}),
body: JSON.stringify({
confirmed_order_id: '20001',
reason: '确认 PMS 房型代码',
field_overrides: [
{
field_pointer: '/extracted_fields/pms_room_type_code',
value: 'RM3',
},
],
}),
}),
)
expect(result.task_status).toBe('READY')
expect(result.review_status).toBe('RESOLVED')
})
it('fetches order detail from the backend by default', async () => {
const fetchMock = vi.spyOn(globalThis, 'fetch').mockResolvedValue(
mockJsonResponse({