feat(webui): add campaign metric drill-downs
This commit is contained in:
@@ -11,6 +11,8 @@ const reviewPresentation = readFileSync(
|
||||
"utf8"
|
||||
);
|
||||
const operatorPage = readFileSync("src/features/operator/OperatorQueuePage.tsx", "utf8");
|
||||
const overviewPage = readFileSync("src/features/campaigns/CampaignOverviewPage.tsx", "utf8");
|
||||
const attachmentsPage = readFileSync("src/features/campaigns/AttachmentsDataPage.tsx", "utf8");
|
||||
const deliveryMode = readFileSync("src/features/campaigns/utils/deliveryMode.ts", "utf8");
|
||||
const translationCatalog = readFileSync("src/i18n/generatedTranslations.ts", "utf8");
|
||||
|
||||
@@ -49,6 +51,13 @@ const outcomeCardsStart = page.indexOf("Aggregate outcome cards are deliberately
|
||||
const outcomeCardsEnd = page.indexOf('<Card title="i18n:govoplan-campaign.population_and_exclusions', outcomeCardsStart);
|
||||
assert(outcomeCardsStart >= 0 && outcomeCardsEnd > outcomeCardsStart, "the aggregate privacy boundary is documented beside the outcome cards");
|
||||
assert(!page.slice(outcomeCardsStart, outcomeCardsEnd).includes("onClick"), "aggregate outcome cards cannot create unsuppressed filtered subgroups");
|
||||
assert(!page.slice(outcomeCardsStart, outcomeCardsEnd).includes("drilldown="), "privacy-suppressed aggregates remain informational metrics");
|
||||
assert(overviewPage.includes("drilldown={{"), "campaign overview metrics expose explicit destinations");
|
||||
assert(overviewPage.includes("openSection(\"recipients\")"), "the recipient count opens its owning collection");
|
||||
assert(attachmentsPage.includes('revealAttachmentSection("campaign-global-attachments")'), "attachment counts reveal their underlying editor section");
|
||||
assert(attachmentsPage.includes("openRecipients"), "per-recipient attachment counts open recipient details");
|
||||
assert(reviewPage.includes("showBuiltDetails({ validation:"), "review counts apply a relevant table filter");
|
||||
assert(reviewPage.includes('revealReviewElement("campaign-attachment-preview")'), "attachment-result counts reveal the evidence preview");
|
||||
assert(!page.includes("{report.population.denominator_definition}"), "the known denominator contract uses a localized UI explanation");
|
||||
assert(!page.includes("{report.privacy.rule}"), "the known privacy contract uses a localized UI explanation");
|
||||
assert(page.includes("all_persisted_recipient_delivery_jobs_for_the_se.208e90cc"), "the denominator explanation is bilingual");
|
||||
|
||||
Reference in New Issue
Block a user