Add daily report calendar to the header

This commit is contained in:
Wyndham ARR committed 2026-10-09 13:20:13 +08:00
1 parent 2a54838d59
commit 4356160cc9
11 files changed
+735 -28

No files matched your search

@@ -30,7 +30,6 @@ test('overview follows the selected incomplete date and never borrows another su
assert.equal(h.element('#metric-arrival').textContent,date);
assert.equal(h.element('#metric-arrival-note').textContent,'daily.overview_review');
assert.equal(h.element('#metric-rooms').textContent,'—');
assert.equal(h.element('#metric-duration').textContent,'—');
assert.equal(h.element('#metric-current-version').hidden,true);
assert.equal(h.calls.length,0);
});
@@ -49,7 +48,6 @@ test('a same-date pending replacement preserves the accepted day and hides ungen
assert.doesNotMatch(html,/job_id=new/);
assert.equal(h.element('#metric-arrival').textContent,date);
assert.equal(h.element('#metric-rooms').textContent,'—');
assert.equal(h.element('#metric-duration').textContent,'—');
assert.equal(h.element('#metric-current-version').hidden,false);
assert.doesNotMatch(html,/<tr[^>]+(?:tabindex|onclick|role="button")/);
});
@@ -59,7 +57,6 @@ test('a successful replacement displays only the accepted new report for the sam
h.state.dailyReports=[day(job('new',{no_of_rooms:43}))];
h.renderJobs();
assert.equal(h.element('#metric-rooms').textContent,'43');
assert.equal(h.element('#metric-duration').textContent,'52s');
assert.equal(h.element('#metric-current-version').hidden,true);
assert.match(h.element('#jobs-body').innerHTML,/job_id=new/);
assert.doesNotMatch(h.element('#jobs-body').innerHTML,/job_id=old/);
@@ -88,7 +85,6 @@ test('deleting the current report leaves older successful versions explicitly hi
assert.match(html,/data-daily-delete="superseded"[^>]+data-daily-current="false"/);
assert.equal(h.element('#metric-arrival-note').textContent,'daily.no_current');
assert.equal(h.element('#metric-rooms').textContent,'—');
assert.equal(h.element('#metric-duration').textContent,'—');
});
test('an out-of-page date reads its own overview and ignores stale and cross-context replies',async()=>{