test(i18n): validate nested housekeeping translation groups
This commit is contained in:
1 parent
96d3e3f602
commit
506e14783c
2 files changed
+13
-2
No files matched your search
@@ -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",
|
||||
|
||||
Reference in new issue
Block a user