56 lines
1.9 KiB
JavaScript
56 lines
1.9 KiB
JavaScript
import { readFileSync } from "node:fs";
|
|
|
|
function read(path) {
|
|
return readFileSync(new URL(path, import.meta.url), "utf8");
|
|
}
|
|
|
|
function assert(condition, message) {
|
|
if (!condition) throw new Error(message);
|
|
}
|
|
|
|
const workspace = read("../src/features/campaigns/CampaignWorkspace.tsx");
|
|
const reviewWizard = read("../src/features/campaigns/wizard/ReviewWizard.tsx");
|
|
const sendWizard = read("../src/features/campaigns/wizard/SendWizard.tsx");
|
|
const directoryPage = read(
|
|
"../src/features/campaigns/wizard/WizardDirectoryPage.tsx"
|
|
);
|
|
const directory = read("../src/features/campaigns/wizard/directory.ts");
|
|
const moduleSource = read("../src/module.ts");
|
|
|
|
assert(
|
|
workspace.includes('path="wizard"')
|
|
&& workspace.includes("<WizardDirectoryPage"),
|
|
"campaign resources expose the wizard directory route"
|
|
);
|
|
assert(
|
|
reviewWizard.includes("<ReviewSendPage")
|
|
&& reviewWizard.includes('initialStageId="workflow-build-review"'),
|
|
"the review wizard focuses the canonical build and review stage"
|
|
);
|
|
assert(
|
|
sendWizard.includes("<ReviewSendPage")
|
|
&& sendWizard.includes('initialStageId="workflow-send"'),
|
|
"the send wizard focuses the canonical send stage"
|
|
);
|
|
assert(
|
|
!reviewWizard.includes("<MetricCard")
|
|
&& !sendWizard.includes("queue_dry_run"),
|
|
"placeholder review and send surfaces were removed"
|
|
);
|
|
assert(
|
|
directoryPage.includes("wizardEntriesForContext")
|
|
&& directoryPage.includes("<WizardDirectory"),
|
|
"the page uses the reusable wizard directory contract and renderer"
|
|
);
|
|
assert(
|
|
directory.includes('contextId: "campaign.resource"')
|
|
&& directory.includes('id: "configure"')
|
|
&& directory.includes('id: "review"')
|
|
&& directory.includes('id: "send"'),
|
|
"Campaign contributes configure, review, and send entries"
|
|
);
|
|
assert(
|
|
moduleSource.includes('"wizard.directories": campaignWizardDirectories'),
|
|
"Campaign publishes its wizard directory capability"
|
|
);
|