Skip to content

Commit dd40975

Browse files
committed
CCM-11544 More test fixes
1 parent 29b3ea0 commit dd40975

File tree

11 files changed

+68
-36
lines changed

11 files changed

+68
-36
lines changed

frontend/src/__tests__/utils/routing-utils.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
shouldRemoveTemplate,
66
removeTemplatesFromConditionalTemplates,
77
removeTemplatesFromCascadeItem,
8-
getRemainingAccessibleFormats,
8+
getAccessibleLetterFormatsFromCascade,
99
getCascadeLanguages,
1010
buildCascadeGroupOverridesFromCascade,
1111
buildCascadeGroupsForItem,
@@ -662,7 +662,7 @@ describe('buildCascadeGroupsForItem', () => {
662662
});
663663
});
664664

665-
describe('getRemainingAccessibleFormats', () => {
665+
describe('getAccessibleLetterFormatsFromCascade', () => {
666666
it('should collect all unique accessible format types', () => {
667667
const cascade: CascadeItem[] = [
668668
{
@@ -686,7 +686,7 @@ describe('getRemainingAccessibleFormats', () => {
686686
},
687687
];
688688

689-
const result = getRemainingAccessibleFormats(cascade);
689+
const result = getAccessibleLetterFormatsFromCascade(cascade);
690690

691691
expect(result.sort()).toEqual(['q4', 'x0'].sort());
692692
});
@@ -705,7 +705,7 @@ describe('getRemainingAccessibleFormats', () => {
705705
},
706706
];
707707

708-
const result = getRemainingAccessibleFormats(cascade);
708+
const result = getAccessibleLetterFormatsFromCascade(cascade);
709709

710710
expect(result).toEqual(['q4']);
711711
});
@@ -720,7 +720,7 @@ describe('getRemainingAccessibleFormats', () => {
720720
},
721721
];
722722

723-
const result = getRemainingAccessibleFormats(cascade);
723+
const result = getAccessibleLetterFormatsFromCascade(cascade);
724724

725725
expect(result).toEqual([]);
726726
});

frontend/src/app/message-plans/choose-large-print-letter-template/[routingConfigId]/preview-template/[templateId]/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import {
44
MessagePlanAndTemplatePageProps,
5-
validateLetterTemplate,
5+
validateLargePrintLetterTemplate,
66
} from 'nhs-notify-web-template-management-utils';
77
import { getTemplate } from '@utils/form-actions';
88
import { redirect, RedirectType } from 'next/navigation';
@@ -26,7 +26,7 @@ const PreviewLargePrintLetterTemplateFromMessagePlan = async (
2626

2727
const template = await getTemplate(templateId);
2828

29-
const validatedTemplate = validateLetterTemplate(template);
29+
const validatedTemplate = validateLargePrintLetterTemplate(template);
3030

3131
if (!validatedTemplate) {
3232
return redirect('/invalid-template', RedirectType.replace);

frontend/src/app/message-plans/choose-other-language-letter-template/[routingConfigId]/preview-template/[templateId]/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import {
44
MessagePlanAndTemplatePageProps,
5-
validateLetterTemplate,
5+
validateForeignLanguageLetterTemplate,
66
} from 'nhs-notify-web-template-management-utils';
77
import { getTemplate } from '@utils/form-actions';
88
import { redirect, RedirectType } from 'next/navigation';
@@ -26,7 +26,7 @@ const PreviewOtherLanguageLetterTemplateFromMessagePlan = async (
2626

2727
const template = await getTemplate(templateId);
2828

29-
const validatedTemplate = validateLetterTemplate(template);
29+
const validatedTemplate = validateForeignLanguageLetterTemplate(template);
3030

3131
if (!validatedTemplate) {
3232
return redirect('/invalid-template', RedirectType.replace);

frontend/src/utils/routing-utils.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,9 +178,9 @@ export function removeTemplatesFromCascadeItem(
178178
}
179179

180180
/**
181-
* Collects all remaining accessible format types from the cascade
181+
* Gets all accessible format types from the cascade
182182
*/
183-
export function getRemainingAccessibleFormats(
183+
export function getAccessibleLetterFormatsFromCascade(
184184
cascade: CascadeItem[]
185185
): LetterType[] {
186186
const formats = new Set<LetterType>();
@@ -223,7 +223,8 @@ export function buildCascadeGroupOverridesFromCascade(
223223
): CascadeGroup[] {
224224
const overrides: CascadeGroup[] = [];
225225

226-
const accessibleFormats = getRemainingAccessibleFormats(updatedCascade);
226+
const accessibleFormats =
227+
getAccessibleLetterFormatsFromCascade(updatedCascade);
227228
if (accessibleFormats.length > 0) {
228229
overrides.push({
229230
name: 'accessible',

tests/test-team/pages/routing/choose-templates-page.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@ export class RoutingChooseTemplatesPage extends TemplateMgmtBasePage {
2525
super(page);
2626
this.errorSummary = page.locator('.nhsuk-error-summary');
2727
this.changeNameLink = page.getByTestId('change-message-plan-name-link');
28-
this.routingConfigId = page.locator(
29-
'[class*=create-edit-message-plan-routing-config-id]'
30-
);
28+
this.routingConfigId = page.getByTestId('routing-config-id');
3129
this.messagePlanStatus = page.locator('strong.nhsuk-tag');
3230
this.channelBlocks = page.locator('[data-testid^="message-plan-block-"]');
3331
this.moveToProductionButton = page.getByTestId('move-to-production-cta');

tests/test-team/template-mgmt-routing-component-tests/choose-templates.routing-component.spec.ts

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,6 @@ test.describe('Routing - Choose Templates page', () => {
471471

472472
test('user can choose alternative letter format options', async ({
473473
page,
474-
baseURL,
475474
}) => {
476475
const chooseTemplatesPage = new RoutingChooseTemplatesPage(
477476
page
@@ -496,9 +495,10 @@ test.describe('Routing - Choose Templates page', () => {
496495
);
497496
await expect(largePrintItem.templateName).toBeHidden();
498497
await expect(largePrintItem.chooseTemplateLink).toBeVisible();
499-
await expect(largePrintItem.chooseTemplateLink).toHaveAttribute(
500-
'href',
501-
`/templates/message-plans/choose-large-print-letter-template/${routingConfigIds.valid}?lockNumber=${messagePlans.valid.lockNumber}`
498+
const chooseLargePrintTemplateLink =
499+
await largePrintItem.chooseTemplateLink.getAttribute('href');
500+
expect(chooseLargePrintTemplateLink).toMatch(
501+
`/templates/message-plans/choose-large-print-letter-template/${routingConfigIds.valid}?lockNumber=`
502502
);
503503
await expect(largePrintItem.changeTemplateLink).toBeHidden();
504504
await expect(largePrintItem.removeTemplateLink).toBeHidden();
@@ -508,17 +508,18 @@ test.describe('Routing - Choose Templates page', () => {
508508
);
509509
await expect(otherLanguagesItem.templateName).toBeHidden();
510510
await expect(otherLanguagesItem.chooseTemplateLink).toBeVisible();
511-
await expect(otherLanguagesItem.chooseTemplateLink).toHaveAttribute(
512-
'href',
513-
`/templates/message-plans/choose-other-language-letter-template/${routingConfigIds.valid}?lockNumber=${messagePlans.valid.lockNumber}`
511+
const chooseOtherLanguageTemplateLink =
512+
await otherLanguagesItem.chooseTemplateLink.getAttribute('href');
513+
expect(chooseOtherLanguageTemplateLink).toMatch(
514+
`/templates/message-plans/choose-other-language-letter-template/${routingConfigIds.valid}?lockNumber=`
514515
);
515516
await expect(otherLanguagesItem.changeTemplateLink).toBeHidden();
516517
await expect(otherLanguagesItem.removeTemplateLink).toBeHidden();
517518

518519
await largePrintItem.clickChooseTemplateLink();
519520

520-
await expect(page).toHaveURL(
521-
`${baseURL}/templates/message-plans/choose-large-print-letter-template/${routingConfigIds.valid}?lockNumber=${messagePlans.valid.lockNumber}`
521+
await page.waitForURL(
522+
`/templates/message-plans/choose-large-print-letter-template/${routingConfigIds.valid}`
522523
);
523524
});
524525

@@ -568,7 +569,7 @@ test.describe('Routing - Choose Templates page', () => {
568569
await expect(largePrintItem.changeTemplateLink).toBeVisible();
569570
await expect(largePrintItem.changeTemplateLink).toHaveAttribute(
570571
'href',
571-
`/templates/message-plans/choose-large-print-letter-template/${routingConfigIds.validWithLetterTemplates}`
572+
`/templates/message-plans/choose-large-print-letter-template/${routingConfigIds.validWithLetterTemplates}?lockNumber=${messagePlans.validWithLetterTemplates.lockNumber}`
572573
);
573574
await expect(largePrintItem.removeTemplateLink).toBeVisible();
574575
await expect(largePrintItem.chooseTemplateLink).toBeHidden();
@@ -606,7 +607,7 @@ test.describe('Routing - Choose Templates page', () => {
606607
await largePrintItem.clickChangeTemplateLink();
607608

608609
await expect(page).toHaveURL(
609-
`${baseURL}/templates/message-plans/choose-large-print-letter-template/${routingConfigIds.validWithLetterTemplates}`
610+
`${baseURL}/templates/message-plans/choose-large-print-letter-template/${routingConfigIds.validWithLetterTemplates}?lockNumber=${messagePlans.validWithLetterTemplates.lockNumber}`
610611
);
611612
});
612613
});

tests/test-team/template-mgmt-routing-component-tests/letter/choose-large-print-letter-template.routing-component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ test.describe('Routing - Choose large print letter template page', () => {
386386
);
387387
});
388388

389-
test('when routing config is not for a LETTER channel', async ({
389+
test('when routing config does not have a letter channel', async ({
390390
page,
391391
baseURL,
392392
}) => {

tests/test-team/template-mgmt-routing-component-tests/letter/choose-other-language-letter-template.routing-component.spec.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -230,10 +230,10 @@ test.describe('Routing - Choose other language letter templates page', () => {
230230
baseURL,
231231
}) => {
232232
const chooseOtherLanguageLetterTemplatePage =
233-
new RoutingChooseOtherLanguageLetterTemplatePage(page);
234-
await chooseOtherLanguageLetterTemplatePage
235-
.setPathParam('messagePlanId', routingConfigs.valid.id)
236-
.loadPage();
233+
new RoutingChooseOtherLanguageLetterTemplatePage(page)
234+
.setPathParam('messagePlanId', routingConfigs.valid.id)
235+
.setSearchParam('lockNumber', String(routingConfigs.valid.lockNumber));
236+
await chooseOtherLanguageLetterTemplatePage.loadPage();
237237

238238
await assertChooseTemplatePageWithTemplatesAvailable({
239239
page: chooseOtherLanguageLetterTemplatePage,
@@ -276,8 +276,9 @@ test.describe('Routing - Choose other language letter templates page', () => {
276276
const languageName = getLanguageDisplayName(
277277
template.language as Language
278278
);
279+
const templateRow = table.locator('tr', { hasText: template.name });
279280
await expect(
280-
table.getByText(`Standard letter - ${languageName}`)
281+
templateRow.getByText(`Standard letter - ${languageName}`)
281282
).toBeVisible();
282283

283284
const previewLink = chooseOtherLanguageLetterTemplatePage.getPreviewLink(
@@ -286,7 +287,7 @@ test.describe('Routing - Choose other language letter templates page', () => {
286287
await expect(previewLink).toBeVisible();
287288
await expect(previewLink).toHaveAttribute(
288289
'href',
289-
`/message-plans/choose-other-language-letter-template/${routingConfigs.valid.id}/preview-template/${template.id}`
290+
`/templates/message-plans/choose-other-language-letter-template/${routingConfigs.valid.id}/preview-template/${template.id}`
290291
);
291292
}
292293

@@ -609,6 +610,10 @@ test.describe('Routing - Choose other language letter templates page', () => {
609610
.getCheckbox(templates.FRENCH_LETTER.id)
610611
.check();
611612

613+
// Wait 5 seconds to avoid debounce blocking the form submission
614+
// eslint-disable-next-line playwright/no-wait-for-timeout
615+
await page.waitForTimeout(5000);
616+
612617
await chooseOtherLanguageLetterTemplatePage.saveAndContinueButton.click();
613618

614619
await expect(page).toHaveURL(

tests/test-team/template-mgmt-routing-component-tests/letter/preview-large-print-letter-template.routing-component.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ test.describe('Routing - Preview large print letter template page', () => {
7878

7979
test('common page tests', async ({ page, baseURL }) => {
8080
const props = {
81-
page: new RoutingPreviewLargePrintLetterTemplatePage(page),
82-
id: messagePlans.LETTER_ROUTING_CONFIG.id,
83-
additionalIds: [templates.LARGE_PRINT_LETTER.id],
81+
page: new RoutingPreviewLargePrintLetterTemplatePage(page)
82+
.setPathParam('messagePlanId', messagePlans.LETTER_ROUTING_CONFIG.id)
83+
.setPathParam('templateId', templates.LARGE_PRINT_LETTER.id),
8484
baseURL,
8585
expectedUrl: `templates/message-plans/choose-large-print-letter-template/${messagePlans.LETTER_ROUTING_CONFIG.id}`,
8686
};

tests/test-team/template-mgmt-routing-component-tests/routing-common.steps.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ export function assertChooseTemplatePageWithNoTemplates({
4040
'/templates/message-templates'
4141
);
4242

43+
await expect(page.backLinkBottom).toBeVisible();
44+
expect(page.backLinkBottom.getAttribute('href')).toContain(
45+
'/templates/message-plans/choose-templates'
46+
);
47+
4348
await expect(page.templatesTable).toBeHidden();
4449

4550
await expect(page.saveAndContinueButton).toBeHidden();

0 commit comments

Comments
 (0)