diff --git a/src/app/(site)/me/DashboardTasks.test.tsx b/src/app/(site)/me/DashboardTasks.test.tsx
index 01e7bbda..61de5967 100644
--- a/src/app/(site)/me/DashboardTasks.test.tsx
+++ b/src/app/(site)/me/DashboardTasks.test.tsx
@@ -87,7 +87,7 @@ describe("dashboard task presentation", () => {
mkdirSync(output, { recursive: true });
writeFileSync(
join(output, "tasks.html"),
- `${html}Premio inviti
`,
+ `${html}Premio inviti
`,
);
}
});
diff --git a/src/i18n/housekeeping-messages.test.ts b/src/i18n/housekeeping-messages.test.ts
index 2999be77..f720cf87 100644
--- a/src/i18n/housekeeping-messages.test.ts
+++ b/src/i18n/housekeeping-messages.test.ts
@@ -5,6 +5,17 @@ import { visibleAdminNavigation } from "@/lib/admin-navigation";
import en from "@/messages/en.json";
import itMessages from "@/messages/it.json";
+function leafKeys(messages: Record, prefix = ""): string[] {
+ return Object.entries(messages).flatMap(([key, value]) => {
+ const path = prefix ? `${prefix}.${key}` : key;
+ return typeof value === "string"
+ ? [path]
+ : value && typeof value === "object"
+ ? leafKeys(value as Record, path)
+ : [];
+ });
+}
+
it.each([
["en", en],
["it", itMessages],
@@ -34,7 +45,7 @@ it.each([
]);
for (const key of keys) translate(`pages.admin.nav.${key}`);
for (const area of ["actions", "table", "cmsErrors", "workQueue"] as const)
- for (const key of Object.keys(en.pages.admin[area]))
+ for (const key of leafKeys(en.pages.admin[area]))
translate(`pages.admin.${area}.${key}`, {
count: 2,
action: "Save",