feat: complete campaign wizards and retention reporting
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
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"
|
||||
);
|
||||
Reference in New Issue
Block a user