Skip to content

Commit

Permalink
SSCSSI-278: Evidence Reminder case tests (#1571)
Browse files Browse the repository at this point in the history
* Add initial tests

* Update tests for evidence reminder

* Update tests for evidence reminder

* Update steps for evidence reminder

* Fix conflict

* Fix conflicts

* Readd URLs

* functional-test/pages/common/homePage.ts

---------

Co-authored-by: gokul-sol <gokul.sridharan@HMCTS.NET>
  • Loading branch information
derin-aya and gokul-sol committed May 13, 2024
1 parent 5c1858d commit 88fa688
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 4 deletions.
5 changes: 5 additions & 0 deletions functional-test/e2e/evidence-reminder.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { test } from "../lib/steps.factory";

test("As a caseworker create an Evidence Reminder", async ({ evidenceReminderSteps }) => {
await evidenceReminderSteps.performEvidenceReminder();
});
44 changes: 44 additions & 0 deletions functional-test/fixtures/steps/evidence.reminder.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import { Page } from '@playwright/test';
import { HomePage } from '../../pages/common/homePage';
import { LoginPage } from '../../pages/common/loginPage';
import { EventNameEventDescriptionPage } from '../../pages/common/event.name.event.description';
import createCaseBasedOnCaseType from "../../api/client/appeal.type.factory";
import eventTestData from "../../pages/content/event.name.event.description_en.json"
import {History} from "../../pages/tabs/history";



export class EvidenceReminder {

readonly page : Page;


constructor(page: Page) {
this.page = page;
}

async performEvidenceReminder() {
let loginPage = new LoginPage(this.page);
let homePage = new HomePage(this.page);
let historyTab = new History(this.page);
let eventNameAndDescriptionPage = new EventNameEventDescriptionPage(this.page);

var pipCaseId = await createCaseBasedOnCaseType("PIP");
await loginPage.goToLoginPage();
await loginPage.verifySuccessfulLoginForCaseworker();
await homePage.goToHomePage(pipCaseId);

await homePage.chooseEvent('Evidence reminder');
await eventNameAndDescriptionPage.verifyPageContent("Evidence reminder");
await eventNameAndDescriptionPage.inputData(eventTestData["event-summary-input"],
eventTestData["event-description-input"]);
await eventNameAndDescriptionPage.confirmSubmission();

await homePage.navigateToTab("History");
await historyTab.verifyPageContentByKeyValue('Event', 'Evidence reminder');
await historyTab.verifyPageContentByKeyValue('Summary', 'Event Summary for Automation');
await historyTab.verifyPageContentByKeyValue('Comment', 'Event Description for Automation Verification');
await historyTab.verifyPageContentByKeyValue('End state', 'With FTA');
await historyTab.verifyEventCompleted("Evidence reminder");
}
}
7 changes: 6 additions & 1 deletion functional-test/lib/steps.factory.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { test as stepsFactory } from '@playwright/test';
import { Note } from '../fixtures/steps/note';
import { ConfirmCaseLapsed } from '../fixtures/steps/confirm.case.lapsed';
import { EvidenceReminder } from '../fixtures/steps/evidence.reminder';
import { AssociateCase } from '../fixtures/steps/associate-case';
import { SendToAdmin } from '../fixtures/steps/send.to.admin';

Expand All @@ -9,8 +10,8 @@ type MyFixtures = {
addNoteSteps: Note
associateCaseSteps: AssociateCase
confirmCaseLapsedSteps: ConfirmCaseLapsed
evidenceReminderSteps: EvidenceReminder
sendToAdminSteps: SendToAdmin

};

export const test = stepsFactory.extend<MyFixtures>({
Expand All @@ -26,6 +27,10 @@ export const test = stepsFactory.extend<MyFixtures>({
const confirmCaseLapsedSteps = new ConfirmCaseLapsed(page);
await use(confirmCaseLapsedSteps);
},
evidenceReminderSteps:async ({page}, use) => {
const evidenceReminderSteps = new EvidenceReminder(page);
await use(evidenceReminderSteps);
},
sendToAdminSteps:async ({page}, use) => {
const sendToAdminSteps = new SendToAdmin(page);
await use(sendToAdminSteps);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export class EventNameEventDescriptionPage {
webActions = new WebAction(this.page);
}

async verifyPageContent(headingValue: string, checkYourAnswersFlag: boolean = false, key: string, value: string) {
async verifyPageContent(headingValue: string, checkYourAnswersFlag: boolean = false, key?: string, value?: string) {

await webActions.verifyPageLabel('.govuk-heading-l', headingValue); //Heading Text
if (checkYourAnswersFlag) {
Expand Down
4 changes: 2 additions & 2 deletions functional-test/pages/common/homePage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ export class HomePage {

constructor(page: Page) {
this.page = page;
this.notePadTab = page.locator('//div[contains(text(), "Notepad_")]');
this.notePadTab = page.getByText('Notepad', {exact: true});
this.summaryTab = page.locator('//div[contains(text(), "Summary")]');
this.historyTab = page.locator('//div[contains(text(), "History_")]');
this.historyTab = page.getByText('History', {exact: true});
this.nextStepDropDown = '#next-step';
this.submitNextStepButton = '//button[@class="submit"]';
this.eventTitle = page.locator('h1.govuk-heading-l');
Expand Down

0 comments on commit 88fa688

Please sign in to comment.