import { describe, expect, it } from "vitest"; import { entriesNotSent, entriesRejected, entriesSynced, entriesWaiting, foreignEntriesWaiting, photosAttached, photosNotTakenOver, sessionExpiredWithEntries, } from "./queue-texts"; describe("queue texts", () => { it("uses the singular for exactly one entry", () => { expect(entriesWaiting(1)).toBe("1 Eintrag wartet"); expect(entriesRejected(1)).toBe("1 Eintrag abgelehnt"); expect(foreignEntriesWaiting(1)).toBe("1 Eintrag eines anderen Kontos wartet"); expect(entriesSynced(1)).toBe("1 Eintrag synchronisiert"); expect(photosAttached(1)).toBe("+ 1 Foto"); expect(photosNotTakenOver(1)).toBe("1 Foto wurde nicht übernommen und verworfen"); }); it("uses the plural for two entries", () => { expect(entriesWaiting(2)).toBe("2 Einträge warten"); expect(entriesRejected(2)).toBe("2 Einträge abgelehnt"); expect(foreignEntriesWaiting(2)).toBe("2 Einträge eines anderen Kontos warten"); expect(entriesSynced(2)).toBe("2 Einträge synchronisiert"); expect(photosAttached(2)).toBe("+ 2 Fotos"); expect(photosNotTakenOver(2)).toBe("2 Fotos wurden nicht übernommen und verworfen"); }); it("says how many entries are not sent yet when signing out", () => { expect(entriesNotSent(1)).toBe("1 Eintrag ist noch nicht gesendet."); expect(entriesNotSent(3)).toBe("3 Einträge sind noch nicht gesendet."); }); it("tells an expired session apart from the entries that still wait", () => { expect(sessionExpiredWithEntries(0)).toBe("Sitzung abgelaufen – bitte neu anmelden."); expect(sessionExpiredWithEntries(1)).toBe( "Sitzung abgelaufen – bitte neu anmelden. 1 Eintrag wartet und wird danach gesendet.", ); expect(sessionExpiredWithEntries(4)).toBe( "Sitzung abgelaufen – bitte neu anmelden. 4 Einträge warten und werden danach gesendet.", ); }); });