Add Matins tests; update tests that assumed it was still a stub

tests/hours/matins.test.ts covers both branches (ferial, Sunday)
end-to-end through the real resolveOrdo mechanism against two clean,
live-verified dates — psalm/canticle counts, Te Deum presence, reading
citations/statuses, Gospel flagging and its Common-fallback exclusion,
and responsory matching.

tests/hours/prime.test.ts and tests/ui/shell.test.ts both had assertions
that Matins was still pending — replaced with assertions that it now
renders real content, mirroring the equivalent Compline test.
This commit is contained in:
2026-08-14 11:40:51 -04:00
parent bedbf577ea
commit 974c156255
3 changed files with 123 additions and 10 deletions
+6 -2
View File
@@ -37,7 +37,7 @@ describe('shell', () => {
expect(root.querySelectorAll('.ordo-part-psalm').length).toBeGreaterThan(0);
});
it('switches to a not-yet-built hour and shows the pending message', () => {
it('switches to Matins and shows its real content, not the pending message', () => {
const root = document.getElementById('app')!;
mountShell(root);
@@ -47,7 +47,11 @@ describe('shell', () => {
matinsBtn?.click();
expect(root.querySelector('.hour-view h2')?.textContent).toBe('Matins');
expect(root.querySelector('.hour-view-pending')).not.toBeNull();
expect(root.querySelector('.hour-view-pending')).toBeNull();
// Ferial psalmody always resolves regardless of date (unauthored
// reading content is the only genuinely date-gated part) — see
// hours/matins.ts.
expect(root.querySelectorAll('.ordo-part-psalm').length).toBeGreaterThan(0);
});
it('switches to Compline and shows its real content, not the pending message', () => {