From 540a6f6320d466b6ff9e82815b3f10108fc8fc01 Mon Sep 17 00:00:00 2001 From: Nicki Derrick Date: Mon, 5 Jan 2026 16:05:51 +0000 Subject: [PATCH] CCM-12949 Add campaign ID to choose templates page --- .../__snapshots__/page.test.tsx.snap | 19 +++++++++- .../organisms/CreateEditMessagePlan.test.tsx | 18 +++++++-- .../CreateEditMessagePlan.test.tsx.snap | 38 +++++++++++++++++-- .../CreateEditMessagePlan.tsx | 13 ++++++- frontend/src/content/content.ts | 3 +- .../pages/routing/choose-templates-page.ts | 7 +++- ...choose-templates.routing-component.spec.ts | 10 ++++- 7 files changed, 93 insertions(+), 15 deletions(-) diff --git a/frontend/src/__tests__/app/choose-templates/__snapshots__/page.test.tsx.snap b/frontend/src/__tests__/app/choose-templates/__snapshots__/page.test.tsx.snap index a5e6214a0..699b0e23e 100644 --- a/frontend/src/__tests__/app/choose-templates/__snapshots__/page.test.tsx.snap +++ b/frontend/src/__tests__/app/choose-templates/__snapshots__/page.test.tsx.snap @@ -27,10 +27,10 @@ exports[`ChooseTemplatesPage renders correctly for a message plan with multiple class="nhsuk-body-s" > - Change name + Edit settings

+
+
+ Campaign +
+
+ campaign-2 +
+
diff --git a/frontend/src/__tests__/components/organisms/CreateEditMessagePlan.test.tsx b/frontend/src/__tests__/components/organisms/CreateEditMessagePlan.test.tsx index d25f9552b..96a7bd070 100644 --- a/frontend/src/__tests__/components/organisms/CreateEditMessagePlan.test.tsx +++ b/frontend/src/__tests__/components/organisms/CreateEditMessagePlan.test.tsx @@ -67,6 +67,18 @@ describe('CreateEditMessagePlan', () => { expect(messagePlanId).toHaveTextContent('routing-config-test'); }); + it('should display the campaign ID', () => { + const plan = buildRoutingConfig(); + + render( + + ); + + const campaignId = screen.getByTestId('campaign-id'); + + expect(campaignId).toHaveTextContent('campaign-1'); + }); + it.each([ { status: 'DRAFT' as const, display: 'Draft' }, { status: 'COMPLETED' as const, display: 'Production' }, @@ -122,15 +134,15 @@ describe('CreateEditMessagePlan', () => { expect(buttons[1].textContent).toBe('Save and close'); }); - it('should render a "change name" link', () => { + it('should render an "edit settings" link', () => { const plan = buildRoutingConfig(); render( ); - const link = screen.getByTestId('change-message-plan-name-link'); - expect(link.textContent).toBe('Change name'); + const link = screen.getByTestId('edit-settings-link'); + expect(link.textContent).toBe('Edit settings'); expect(link.getAttribute('href')).toBe( `/message-plans/edit-message-plan-settings/${plan.id}` ); diff --git a/frontend/src/__tests__/components/organisms/__snapshots__/CreateEditMessagePlan.test.tsx.snap b/frontend/src/__tests__/components/organisms/__snapshots__/CreateEditMessagePlan.test.tsx.snap index b6f64f1e6..69ef37ac3 100644 --- a/frontend/src/__tests__/components/organisms/__snapshots__/CreateEditMessagePlan.test.tsx.snap +++ b/frontend/src/__tests__/components/organisms/__snapshots__/CreateEditMessagePlan.test.tsx.snap @@ -27,10 +27,10 @@ exports[`CreateEditMessagePlan should match snapshot for a typical message plan class="nhsuk-body-s" > - Change name + Edit settings

+
+
+ Campaign +
+
+ campaign-1 +
+
@@ -756,10 +771,10 @@ exports[`CreateEditMessagePlan should match snapshot for a typical message plan class="nhsuk-body-s" > - Change name + Edit settings

+
+
+ Campaign +
+
+ campaign-1 +
+
diff --git a/frontend/src/components/organisms/CreateEditMessagePlan/CreateEditMessagePlan.tsx b/frontend/src/components/organisms/CreateEditMessagePlan/CreateEditMessagePlan.tsx index 7518d0574..4a440bd5d 100644 --- a/frontend/src/components/organisms/CreateEditMessagePlan/CreateEditMessagePlan.tsx +++ b/frontend/src/components/organisms/CreateEditMessagePlan/CreateEditMessagePlan.tsx @@ -32,7 +32,7 @@ export function CreateEditMessagePlan({

{messagePlan.name}

+ + + {content.rowHeadings.campaignId} + + + {messagePlan.campaignId} + + {content.rowHeadings.status} diff --git a/frontend/src/content/content.ts b/frontend/src/content/content.ts index 2a641ca6d..c72f48bd2 100644 --- a/frontend/src/content/content.ts +++ b/frontend/src/content/content.ts @@ -1139,10 +1139,11 @@ const createEditMessagePlan = { headerCaption: 'Message plan', changeNameLink: { href: '/message-plans/edit-message-plan-settings/{{routingConfigId}}', - text: 'Change name', + text: 'Edit settings', }, rowHeadings: { routingPlanId: 'Routing Plan ID', + campaignId: 'Campaign', status: 'Status', }, ctas: { diff --git a/tests/test-team/pages/routing/choose-templates-page.ts b/tests/test-team/pages/routing/choose-templates-page.ts index f438568d6..42335fdbb 100644 --- a/tests/test-team/pages/routing/choose-templates-page.ts +++ b/tests/test-team/pages/routing/choose-templates-page.ts @@ -7,10 +7,12 @@ export class RoutingChooseTemplatesPage extends TemplateMgmtBasePage { public readonly errorSummary: Locator; - public readonly changeNameLink: Locator; + public readonly editSettingsLink: Locator; public readonly routingConfigId: Locator; + public readonly campaignId: Locator; + public readonly messagePlanStatus: Locator; public readonly channelBlocks: Locator; @@ -24,8 +26,9 @@ export class RoutingChooseTemplatesPage extends TemplateMgmtBasePage { constructor(page: Page) { super(page); this.errorSummary = page.locator('.nhsuk-error-summary'); - this.changeNameLink = page.getByTestId('change-message-plan-name-link'); + this.editSettingsLink = page.getByTestId('edit-settings-link'); this.routingConfigId = page.getByTestId('routing-config-id'); + this.campaignId = page.getByTestId('campaign-id'); this.messagePlanStatus = page.locator('strong.nhsuk-tag'); this.channelBlocks = page.locator('[data-testid^="message-plan-block-"]'); this.moveToProductionButton = page.getByTestId('move-to-production-cta'); diff --git a/tests/test-team/template-mgmt-routing-component-tests/choose-templates.routing-component.spec.ts b/tests/test-team/template-mgmt-routing-component-tests/choose-templates.routing-component.spec.ts index 0ce00ac83..71a698dad 100644 --- a/tests/test-team/template-mgmt-routing-component-tests/choose-templates.routing-component.spec.ts +++ b/tests/test-team/template-mgmt-routing-component-tests/choose-templates.routing-component.spec.ts @@ -288,8 +288,10 @@ test.describe('Routing - Choose Templates page', () => { messagePlans.valid.name ); - await expect(chooseTemplatesPage.changeNameLink).toHaveText('Change name'); - await expect(chooseTemplatesPage.changeNameLink).toHaveAttribute( + await expect(chooseTemplatesPage.editSettingsLink).toHaveText( + 'Edit settings' + ); + await expect(chooseTemplatesPage.editSettingsLink).toHaveAttribute( 'href', `/templates/message-plans/edit-message-plan-settings/${messagePlans.valid.id}` ); @@ -298,6 +300,10 @@ test.describe('Routing - Choose Templates page', () => { messagePlans.valid.id ); + await expect(chooseTemplatesPage.campaignId).toHaveText( + messagePlans.valid.campaignId + ); + const messagePlanStatus = await chooseTemplatesPage.messagePlanStatus.textContent(); expect(messagePlanStatus?.trim().toLowerCase()).toBe(