fix(timeline): pluralize the zeitstrahl meta-line counts

A count of one rendered "1 Briefe" / "1 Ereignisse". Add _singular
companion keys (de/en/es) and select them when the count is exactly one,
following the project's _singular/_plural convention.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-06-14 12:15:11 +02:00
parent 9665c9c0fc
commit 398babe584
6 changed files with 38 additions and 5 deletions

View File

@@ -68,7 +68,7 @@ describe('/zeitstrahl page', () => {
const sub = document.querySelector('[data-testid="timeline-meta"]');
expect(sub).not.toBeNull();
expect(sub?.textContent).not.toContain('');
expect(sub?.textContent).toContain(m.timeline_letters_count({ count: 1 }));
expect(sub?.textContent).toContain(m.timeline_letters_count_singular());
});
it('omits the entire sub-line for an empty timeline (REQ-002)', () => {
@@ -94,4 +94,20 @@ describe('/zeitstrahl page', () => {
expect(sub).not.toBeNull();
expect(sub?.textContent).not.toContain(m.timeline_events_count({ count: 0 }));
});
it('uses singular count labels for exactly one letter and one event (REQ-002)', () => {
render(Page, {
data: pageData(
makeTimelineDTO({
years: [makeYear(1914, [makeEntry({ documentId: 'a' }), event('Geburt')])]
})
)
});
const sub = document.querySelector('[data-testid="timeline-meta"]');
expect(sub?.textContent).toContain(m.timeline_letters_count_singular());
expect(sub?.textContent).toContain(m.timeline_events_count_singular());
// never the "1 Briefe"/"1 Ereignisse" plural forms for a count of one
expect(sub?.textContent).not.toContain(m.timeline_letters_count({ count: 1 }));
expect(sub?.textContent).not.toContain(m.timeline_events_count({ count: 1 }));
});
});