Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dfpl 1727 UI test #5764

Merged
merged 25 commits into from
Dec 6, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
caseLink
  • Loading branch information
prabhamuthu15 committed Apr 23, 2024
commit 84dce16ebb511d4789a6f3ba5f9bdb8f0c154483
17 changes: 16 additions & 1 deletion playwright-e2e/pages/link-cases.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,22 @@ export class CaseLink extends BasePage
readonly libkreason: Locator;
readonly propose: Locator;
readonly proposeLink: Locator;
readonly next: Locator;
readonly submit: Locator;


constructor(page:Page){
super(page);
this.caseNumber =page.getByLabel('#width-20');
this.caseNumber =page.locator('#width-20');
this.proposeLink = page.getByRole('button', { name: 'Propose case link' });
this.next = page.getByRole('button', { name: 'Next' });
this.submit =page. getByRole('button', { name: 'Submit' })


}
async clickNext(){
await this.next.click();
}

async proposeCaseLink(caseNumber: string,linkreason :string[] ){
await this.caseNumber.fill(caseNumber);
Expand All @@ -25,7 +32,15 @@ export class CaseLink extends BasePage
}
await this.proposeLink.click();
}
hypenateCaseNumber( caseNumber : string){

let hypenatedCaseNumber: string;
hypenatedCaseNumber = caseNumber.slice(0,4)+"-" + caseNumber.slice(4,8) + "-" +caseNumber.slice(8,12) + "-" +caseNumber.slice(12,16);
return hypenatedCaseNumber
}
async submitCaseLink(){
this.submit.click();
}



Expand Down
68 changes: 12 additions & 56 deletions playwright-e2e/tests/case-linking.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,70 +35,26 @@ test.describe('Manage case linking',()=>{
await signInPage.login(CTSCUser.email,CTSCUser.password);
await signInPage.navigateTOCaseDetails(caseNumber);
await caseLink.gotoNextStep('Link cases');
await page.pause();
// await page.pause();
await caseLink.clickNext();
await caseLink.proposeCaseLink(linkedCase1,['Case consolidated','Linked for a hearing','Same child/ren']);
await expect(page.getByText(linkedCase1 )).toBeVisible();
await expect(page.getByText(caseLink.hypenateCaseNumber(linkedCase1) )).toBeVisible();
await caseLink.proposeCaseLink(linkedCase2,['Case consolidated']);
await expect(page.getByText('Case name missing 1713-5443-5562-')).toBeVisible();
await expect(page.getByText(caseLink.hypenateCaseNumber(linkedCase2) )).toBeVisible();
await caseLink.proposeCaseLink(linkedCase3,['Linked for a hearing']);
await expect(page.getByText('Case name missing 1713-5443-5562-')).toBeVisible();
await expect(page.getByText(caseLink.hypenateCaseNumber(linkedCase3) )).toBeVisible();
await caseLink.clickNext();
await caseLink.checkYourAnsAndSubmit();
await caseLink.tabNavigation("History");
await page.getByText('History', { exact: true }).click()
await expect(page.getByLabel('you are on event Link cases')).toContainText('Link cases');
await caseLink.tabNavigation("Linked Cases");
await expect(page.getByLabel('Linked Cases').getByRole('paragraph')).toContainText('Case name missing ' + caseLink.hypenateCaseNumber(linkedCase1));



await page.getByLabel('Same child/ren').check();
await page.getByRole('button', { name: 'Propose case link' }).click();
//
await page.getByRole('button', { name: 'Next' }).click();
// await expect(page.getByRole('heading', { name: 'Check your answers' })).toBeVisible();
await page.getByRole('button', { name: 'Submit' }).click();
await page.goto('https://manage-case.demo.platform.hmcts.net/cases/case-details/1713544297954516');
await page.goto('https://manage-case.demo.platform.hmcts.net/cases/case-details/1713544297954516#Summary');
await page.getByText('Linked Cases').click();
// await expect(page.locator('ccd-linked-cases-to-table')).toContainText('Case consolidated7193');
await page.getByLabel('case viewer table').locator('div').filter({ hasText: 'Linked casesThis case is' }).first().click();
// await expect(page.locator('ccd-linked-cases-to-table')).toContainText('Case name missing 1713-5443-1992-7193');
const page1Promise = page.waitForEvent('popup');
await page.getByRole('link', { name: 'Case name missing 1713-5443-3971-' }).click();
const page1 = await page1Promise;
await page1.close();
// await expect(page.locator('ccd-linked-cases-to-table')).toContainText('Case name missing 1713-5443-3971-9182');
// await expect(page.locator('ccd-linked-cases-to-table')).toContainText('Case name missing 1713-5443-5562-1312');

// ---------------------
await context.close();
await browser.close();

await judicialMessages.sendMessageToAllocatedJudge();
await judicialMessages.checkYourAnsAndSubmit();
await judicialMessages.tabNavigation('Judicial messages');
await expect(page.getByText('FamilyPublicLaw+ctsc@gmail.com - Message send to Allocated Judge')).toBeVisible();
});


test('Judge reply CTCS message',async({page,signInPage,judicialMessages})=>{
casename = 'Judge Reply ' + dateTime.slice(0, 10);
await apiDataSetup.updateCase(casename,caseNumber,caseDataJudgeMessage);
await signInPage.visit();
await signInPage.login(judgeUser.email,judgeUser.password);
await signInPage.navigateTOCaseDetails(caseNumber);
await judicialMessages.gotoNextStep('Reply to messages');
await judicialMessages.judgeReplyMessage();
await judicialMessages.checkYourAnsAndSubmit();
await judicialMessages.tabNavigation('Judicial messages');
await expect(page.getByText('FamilyPublicLaw+ctsc@gmail.com - Some note judiciary-only@mailnesia.com - Reply CTSC admin about the hearing.')).toBeVisible();
});

test('CTSC admin close the Message',async({page,signInPage,judicialMessages}) =>{
casename = 'CTSC Admin Close Message ' + dateTime.slice(0, 10);
await apiDataSetup.updateCase(casename,caseNumber,caseDataCloseMessage);
await signInPage.visit();
await signInPage.login(CTSCUser.email,CTSCUser.password);
await signInPage.navigateTOCaseDetails(caseNumber);
await judicialMessages.gotoNextStep('Reply to messages');
await judicialMessages.CTSCUserCloseMessage();
await judicialMessages.checkYourAnsAndSubmit();
await judicialMessages.tabNavigation('Judicial messages');
await expect(page.getByRole('cell', { name: 'Closed', exact: true })).toBeVisible();
})

});