Skip to content

Commit aa702b1

Browse files
committed
Merge branch 'main' into feature/CCM-8023-login-link-text
2 parents fd225fa + e040c9a commit aa702b1

14 files changed

+1164
-337
lines changed

.github/workflows/pr_closed.yaml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,29 @@ concurrency:
1212
cancel-in-progress: false
1313

1414
jobs:
15-
check-merge:
15+
check-merge-or-workflow-dispatch:
1616
runs-on: ubuntu-latest
1717
outputs:
18-
merged: ${{ steps.check.outputs.merged }}
19-
if: github.event_name != 'workflow_dispatch'
18+
deploy: ${{ steps.check.outputs.deploy }}
2019
steps:
21-
- name: Check if PR was merged
20+
- name: Check if PR was merged or workflow is triggered by workflow_dispatch
2221
id: check
23-
run: echo "merged=${{ github.event.pull_request.merged }}" >> $GITHUB_OUTPUT
22+
run: |
23+
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
24+
echo "deploy=true" >> $GITHUB_OUTPUT
25+
echo "Job triggered by workflow_dispatch - running 'deploy-main'"
26+
elif [[ "${{ github.event_name }}" == "pull_request" && "${{ github.event.pull_request.merged }}" == "true" ]]; then
27+
echo "deploy=true" >> $GITHUB_OUTPUT
28+
echo "Job triggered by Merged PR - running 'deploy-main'"
29+
else
30+
echo "deploy=false" >> $GITHUB_OUTPUT
31+
echo "Job not triggered by workflow_dispatch or Merged PR - Skipping 'deploy-main'"
32+
fi
2433
2534
deploy-main:
26-
needs: check-merge
27-
if: github.event_name == 'workflow_dispatch' || needs.check-merge.outputs.merged == 'true'
35+
needs: check-merge-or-workflow-dispatch
2836
name: Deploy changes to main in dev AWS account
37+
if: needs.check-merge-or-workflow-dispatch.outputs.deploy == 'true'
2938

3039
permissions:
3140
id-token: write

infrastructure/terraform/modules/backend-api/api_gateway_stage_main.tf

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# TODO: CCM-8422
2-
# tfsec:ignore:aws-api-gateway-enable-access-logging
31
resource "aws_api_gateway_stage" "main" {
42
stage_name = var.environment
53
description = "Templates API stage ${var.environment}"

tests/test-team/pages/email/template-mgmt-create-email-page.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,7 @@ export class TemplateMgmtCreateEmailPage extends TemplateMgmtBasePage {
3838
this.messageFormatting = new TemplateMgmtMessageFormatting(page);
3939
}
4040

41-
async loadPage(templateId?: string) {
42-
await this.navigateTo(
43-
templateId
44-
? `/templates/edit-email-template/${templateId}`
45-
: '/templates/create-email-template'
46-
);
41+
async loadPage() {
42+
await this.navigateTo('/templates/create-email-template');
4743
}
4844
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import { Locator, Page } from '@playwright/test';
2+
import { TemplateMgmtBasePage } from '../template-mgmt-base-page';
3+
import { TemplateMgmtMessageFormatting } from '../template-mgmt-message-formatting';
4+
5+
export class TemplateMgmtEditEmailPage extends TemplateMgmtBasePage {
6+
public readonly nameInput: Locator;
7+
8+
public readonly subjectLineInput: Locator;
9+
10+
public readonly messageTextArea: Locator;
11+
12+
public readonly errorSummary: Locator;
13+
14+
public readonly personalisationFields: Locator;
15+
16+
public readonly namingYourTemplate: Locator;
17+
18+
public readonly messageFormatting: TemplateMgmtMessageFormatting;
19+
20+
constructor(page: Page) {
21+
super(page);
22+
this.nameInput = page.locator('[id="emailTemplateName"]');
23+
this.subjectLineInput = page.locator('[id="emailTemplateSubjectLine"]');
24+
this.messageTextArea = page.locator('[id="emailTemplateMessage"]');
25+
this.errorSummary = page.locator('[class="nhsuk-error-summary"]');
26+
this.personalisationFields = page.locator(
27+
'[data-testid="personalisation-details"]'
28+
);
29+
this.namingYourTemplate = page.locator(
30+
'[data-testid="how-to-name-your-template"]'
31+
);
32+
33+
this.messageFormatting = new TemplateMgmtMessageFormatting(page);
34+
}
35+
36+
async loadPage(templateId: string) {
37+
await this.navigateTo(`/templates/edit-email-template/${templateId}`);
38+
}
39+
}

tests/test-team/pages/nhs-app/template-mgmt-create-nhs-app-page.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,7 @@ export class TemplateMgmtCreateNhsAppPage extends TemplateMgmtBasePage {
3737
this.messageFormatting = new TemplateMgmtMessageFormatting(page);
3838
}
3939

40-
async loadPage(templateId?: string) {
41-
await this.navigateTo(
42-
templateId
43-
? `/templates/edit-nhs-app-template/${templateId}`
44-
: '/templates/create-nhs-app-template'
45-
);
40+
async loadPage() {
41+
await this.navigateTo('/templates/create-nhs-app-template');
4642
}
4743
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { Locator, Page } from '@playwright/test';
2+
import { TemplateMgmtBasePage } from '../template-mgmt-base-page';
3+
import { TemplateMgmtMessageFormatting } from '../template-mgmt-message-formatting';
4+
5+
export class TemplateMgmtEditNhsAppPage extends TemplateMgmtBasePage {
6+
public readonly nameInput: Locator;
7+
8+
public readonly messageTextArea: Locator;
9+
10+
public readonly errorSummary: Locator;
11+
12+
public readonly personalisationFields: Locator;
13+
14+
public readonly namingYourTemplate: Locator;
15+
16+
public readonly characterCountText: Locator;
17+
18+
public readonly messageFormatting: TemplateMgmtMessageFormatting;
19+
20+
constructor(page: Page) {
21+
super(page);
22+
this.nameInput = page.locator('[id="nhsAppTemplateName"]');
23+
this.messageTextArea = page.locator('[id="nhsAppTemplateMessage"]');
24+
this.errorSummary = page.locator('[class="nhsuk-error-summary"]');
25+
this.personalisationFields = page.locator(
26+
'[data-testid="personalisation-details"]'
27+
);
28+
this.namingYourTemplate = page.locator(
29+
'[data-testid="how-to-name-your-template"]'
30+
);
31+
this.characterCountText = page.locator('[id="character-count"]');
32+
this.messageFormatting = new TemplateMgmtMessageFormatting(page);
33+
}
34+
35+
async loadPage(templateId: string) {
36+
await this.navigateTo(`/templates/edit-nhs-app-template/${templateId}`);
37+
}
38+
}

tests/test-team/pages/sms/template-mgmt-create-sms-page.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,7 @@ export class TemplateMgmtCreateSmsPage extends TemplateMgmtBasePage {
4141
this.messageFormatting = new TemplateMgmtMessageFormatting(page);
4242
}
4343

44-
async loadPage(templateId?: string) {
45-
await this.navigateTo(
46-
templateId
47-
? `/templates/edit-text-message-template/${templateId}`
48-
: '/templates/create-text-message-template'
49-
);
44+
async loadPage() {
45+
await this.navigateTo('/templates/create-text-message-template');
5046
}
5147
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import { Locator, Page } from '@playwright/test';
2+
import { TemplateMgmtBasePage } from '../template-mgmt-base-page';
3+
import { TemplateMgmtMessageFormatting } from '../template-mgmt-message-formatting';
4+
5+
export class TemplateMgmtEditSmsPage extends TemplateMgmtBasePage {
6+
public readonly nameInput: Locator;
7+
8+
public readonly messageTextArea: Locator;
9+
10+
public readonly errorSummary: Locator;
11+
12+
public readonly personalisationFields: Locator;
13+
14+
public readonly namingYourTemplate: Locator;
15+
16+
public readonly pricingLink: Locator;
17+
18+
public readonly characterCountText: Locator;
19+
20+
public readonly messageFormatting: TemplateMgmtMessageFormatting;
21+
22+
constructor(page: Page) {
23+
super(page);
24+
this.nameInput = page.locator('[id="smsTemplateName"]');
25+
this.messageTextArea = page.locator('[id="smsTemplateMessage"]');
26+
this.errorSummary = page.locator('[class="nhsuk-error-summary"]');
27+
this.personalisationFields = page.locator(
28+
'[data-testid="personalisation-details"]'
29+
);
30+
this.namingYourTemplate = page.locator(
31+
'[data-testid="how-to-name-your-template"]'
32+
);
33+
this.pricingLink = page.locator('[data-testid="sms-pricing-link"]');
34+
this.characterCountText = page.locator('[id="character-count"]');
35+
36+
this.messageFormatting = new TemplateMgmtMessageFormatting(page);
37+
}
38+
39+
async loadPage(templateId: string) {
40+
await this.navigateTo(
41+
`/templates/edit-text-message-template/${templateId}`
42+
);
43+
}
44+
}

0 commit comments

Comments
 (0)