fix: explain missing rooms within ARR processing scope

This commit is contained in:
Wyndham ARR committed 2026-10-08 19:34:27 +08:00
1 parent d1363be5b7
commit 36235e7d8d
4 files changed
+18 -2

No files matched your search

+7 -2
View File
@@ -12,7 +12,11 @@ const plain=value=>JSON.parse(JSON.stringify(value));
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:'required_value_missing'},
source_state:'missing', reason_code:'calendar_missing_rooms', expected:'room_missing_in_scope'},
{name:'failed room lookup is not described as confirmed absence', field:'DISP_ROOM_NO', can_be_empty:false,
source_state:'failed', reason_code:'calendar_missing_rooms', expected:'fetch_failed'},
{name:'conflicting room evidence is not described as confirmed absence', field:'DISP_ROOM_NO', can_be_empty:false,
source_state:'ambiguous', reason_code:'calendar_missing_rooms', expected:'conflict_value'},
{name:'missing block is optional information awaiting confirmation', field:'BLOCK_CODE', can_be_empty:true,
source_state:'missing', reason_code:'missing_reservation_block', expected:'source_unconfirmed'},
{name:'missing packages are optional information awaiting confirmation', field:'PRODUCTS', can_be_empty:true,
@@ -54,7 +58,7 @@ test('review explanations have distinct Chinese, English and Thai copy for requi
const context=vm.createContext({window:{},document:{readyState:'loading',addEventListener(){}}});
vm.runInContext(fs.readFileSync(path.resolve(__dirname,'../../arr_web/static/i18n.js'),'utf8'),context);
const catalog=context.window.ARRI18n.CATALOG;
const keys=['required_field_rule','optional_field_rule','required_value_missing','source_unconfirmed',
const keys=['required_field_rule','optional_field_rule','required_value_missing','room_missing_in_scope','source_unconfirmed',
'fetch_failed','conflict_value','invalid_value'];
for(const key of keys) {
const translations=catalog[`data_review.${key}`];
@@ -63,6 +67,7 @@ test('review explanations have distinct Chinese, English and Thai copy for requi
}
assert.match(catalog['data_review.required_field_rule'][0],/原处理规则必填/);
assert.match(catalog['data_review.optional_field_rule'][0],/允许为空/);
assert.match(catalog['data_review.room_missing_in_scope'][0],/费率在处理范围内/);
assert.match(catalog['data_review.source_unconfirmed'][0],/确认无此信息/);
assert.match(catalog['data_review.fetch_failed'][0],/不能直接认定没有此信息/);
assert.equal(catalog['data_review.fetch_failed'][0].includes('刷新'),false,