Release govoplan-campaign v0.1.28: stabilize saving, review and delivery recovery
Module Package Release / publish-packages (push) Successful in 12s
Module Package Release / publish-packages (push) Successful in 12s
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import assert from "node:assert/strict";
|
||||
import fs from "node:fs";
|
||||
import vm from "node:vm";
|
||||
import { createRequire } from "node:module";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
const require = createRequire(new URL("../../../govoplan-core/webui/package.json", import.meta.url));
|
||||
const ts = require("typescript");
|
||||
|
||||
function evaluate(relativePath, imports = () => ({})) {
|
||||
const filename = fileURLToPath(new URL(relativePath, import.meta.url));
|
||||
const source = fs.readFileSync(filename, "utf8");
|
||||
const compiled = ts.transpileModule(source, { compilerOptions: { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES2020 } }).outputText;
|
||||
const exports = {};
|
||||
vm.runInNewContext(compiled, { exports, require: imports }, { filename });
|
||||
return exports;
|
||||
}
|
||||
|
||||
const catalogue = evaluate("../src/i18n/generatedTranslations.ts");
|
||||
// Evaluate the actual module descriptor; unrelated page rendering and optional
|
||||
// capability imports are inert. The real translation catalogue is not mocked.
|
||||
const { campaignModule } = evaluate("../src/module.ts", (name) => {
|
||||
if (name === "react") return { lazy: () => () => null };
|
||||
if (name === "./i18n/generatedTranslations") return catalogue;
|
||||
return {};
|
||||
});
|
||||
const sections = campaignModule.uiCapabilities["admin.sections"].sections;
|
||||
assert.equal(sections.length, 2);
|
||||
for (const section of sections) {
|
||||
assert.equal(campaignModule.translations.en[section.label], "Campaign delivery");
|
||||
assert.equal(campaignModule.translations.de[section.label], "Campaign-Versand");
|
||||
assert.ok(campaignModule.viewSurfaces.some((surface) => surface.id === section.surfaceId));
|
||||
}
|
||||
assert.equal(sections[0].id, "system-campaign-delivery");
|
||||
assert.deepEqual(Array.from(sections[0].allOf), ["system:settings:read"]);
|
||||
assert.equal(sections[1].id, "tenant-campaign-delivery");
|
||||
assert.deepEqual(Array.from(sections[1].allOf), ["admin:policies:read"]);
|
||||
console.log("Campaign delivery administration labels resolve in the real EN/DE module catalogue.");
|
||||
Reference in New Issue
Block a user