test(i18n): validate nested housekeeping translation groups
CI / check (push) Failing after 53s
CI / deploy (push) Skipped
CI / publish-container (push) Skipped

This commit is contained in:
Simo committed 2026-09-11 00:28:26 +02:00
1 parent 96d3e3f602
commit 506e14783c
2 files changed
+13 -2

No files matched your search

+12 -1
View File
@@ -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<string, unknown>, 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<string, unknown>, 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",