Exclude cancelled reservations before ARR field review
This commit is contained in:
1 parent
36235e7d8d
commit
0c057a8e75
39 files changed
+1546
-56
No files matched your search
@@ -10,6 +10,31 @@ const item=(extra={})=>({item_id:'1:BLOCK_CODE',source_sequence:1,confirmation_n
|
||||
const review=(items,revision=1)=>({request_id:requestId,report_date:task.report_date,status:'editing',revision,items,pending_count:items.filter(x=>!x.confirmed).length,total_count:items.length,can_finalize:items.every(x=>x.confirmed)});
|
||||
const plain=value=>JSON.parse(JSON.stringify(value));
|
||||
|
||||
test('cancelled source rows need no fields and the exclusion stays visible before continuation',async()=>{
|
||||
const h=harness(()=>response(200,{...review([]),excluded_cancelled_count:6}));
|
||||
await h.acceptARRDownloadTask(task,{sync:false});
|
||||
assert.equal(h.element('#arr-data-review-body').innerHTML,'');
|
||||
assert.match(h.element('#arr-data-review-progress').textContent,/data_review\.excluded_cancelled/);
|
||||
assert.equal(h.element('#arr-data-review-finalize').disabled,false);
|
||||
assert.equal(h.calls.every(call=>call.method==='GET'),true);
|
||||
});
|
||||
|
||||
test('removed cancelled items clear obsolete drafts but retain edits still in the review',async()=>{
|
||||
let current=review([item(),item({item_id:'2:DISP_ROOM_NO',source_sequence:2,field:'DISP_ROOM_NO',can_be_empty:false})]);
|
||||
const h=harness(()=>response(200,current));
|
||||
await h.acceptARRDownloadTask(task,{sync:false});
|
||||
h.state.arrDataReviewDrafts['1:BLOCK_CODE']='CANCELLED-DRAFT';
|
||||
h.state.arrDataReviewDrafts['2:DISP_ROOM_NO']='ROOM-DRAFT';
|
||||
current=review([current.items[1]],2);
|
||||
await h.loadARRDataReview(requestId);
|
||||
assert.equal(h.state.arrDataReviewDrafts['1:BLOCK_CODE'],undefined);
|
||||
assert.equal(h.state.arrDataReviewDrafts['2:DISP_ROOM_NO'],'ROOM-DRAFT');
|
||||
current={...review([],3),excluded_cancelled_count:2};
|
||||
await h.loadARRDataReview(requestId);
|
||||
assert.equal(Object.keys(h.state.arrDataReviewDrafts).length,0);
|
||||
assert.equal(h.element('#arr-data-review-finalize').disabled,false);
|
||||
});
|
||||
|
||||
for (const fixture of [
|
||||
{name:'missing room retains the original required rule', field:'DISP_ROOM_NO', can_be_empty:false,
|
||||
source_state:'missing', reason_code:'calendar_missing_rooms', expected:'room_missing_in_scope'},
|
||||
|
||||
Reference in new issue
Block a user