-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcaseLinking.spec.ts
More file actions
80 lines (76 loc) · 3.85 KB
/
caseLinking.spec.ts
File metadata and controls
80 lines (76 loc) · 3.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import {
initializeExecutor,
performAction,
performValidation
} from '@utils/controller';
import { caseNumber } from '@utils/actions/custom-actions/createCase.action';
import { expect, test } from '@utils/test-fixtures';
import { createCaseApiData, submitCaseApiData } from '@data/api-data';
import { getCaseTypeId } from '@utils/common/caseType.utils';
import { VERY_LONG_TIMEOUT } from 'playwright.config';
import { caseSummary } from '@data/page-data';
import { beforeYouStart } from '@data/page-data/beforeYouStart.page.data';
import { selectCasesToLink } from '@data/page-data/selectCaseToLink.page.data';
import { selectCasesToUnLink } from '@data/page-data/selectCasesToUnLink.page.data';
import { checkYourAnswersCaseLinking } from '@data/page-data/checkYourAnswersCaseLinking.page.data';
let caseNumbers: string[] = [];
test.beforeEach(async ({ page }) => {
initializeExecutor(page);
for (let i = 0; i < 5; i++) {
await performAction('createCaseAPI', { data: createCaseApiData.createCasePayload });
await performAction('submitCaseAPI', { data: submitCaseApiData.submitCasePayloadNoDefendants });
const caseNumber = process.env.CASE_NUMBER;
if (!caseNumber) {
throw new Error('CASE_NUMBER not set');
}
caseNumbers.push(caseNumber);
// 🔹 log each case number immediately
console.log(`Created Case ${i + 1}: ${caseNumber}`);
}
await performAction('navigateToUrl', `${process.env.MANAGE_CASE_BASE_URL}/cases/case-details/PCS/${getCaseTypeId()}/${process.env.CASE_NUMBER}#`);
await expect(async () => {
await page.waitForURL(`${process.env.MANAGE_CASE_BASE_URL}/**/**/**/**/**#Summary`);
}).toPass({
timeout: VERY_LONG_TIMEOUT,
});
});
test.afterEach(async () => {
if (caseNumber) {
await performAction('deleteCaseRole', '[CLAIMANTSOLICITOR]');
}
});
//Case Linking is not working in preview env as explained in https://tools.hmcts.net/jira/browse/HDPI-6095
//So these tests won't be executed in preview
test.describe('[Common Component Case Linking]', async () => {
test('Case Linking @nightly @caseLinking', async () => {
await performAction('select', caseSummary.nextStepEventList, caseSummary.linkCaseEvent);
await performAction('clickButton', caseSummary.go);
await performValidation('mainHeader', beforeYouStart.mainHeader);
await performAction('clickButton', beforeYouStart.submitButton);
await performValidation('mainHeader', selectCasesToLink.mainHeader);
await performAction('selectCasesToLink', {
caseRefInput: caseNumbers,
question: selectCasesToLink.whyToLinkQuestion,
option: [
selectCasesToLink.caseConsolidateCheckbox,
selectCasesToLink.progressedCheckbox,
selectCasesToLink.relatedAppealCheckbx,
selectCasesToLink.samePartyCheckbox,
],
proposeButton: selectCasesToLink.proposeLinkButton
});
await performValidation('mainHeader', checkYourAnswersCaseLinking.mainHeader);
await performAction('clickButton', checkYourAnswersCaseLinking.submitButton);
await performValidation('bannerAlert', 'Case #.* has been updated with event: Link cases');
await performAction('select', caseSummary.nextStepEventList, caseSummary.manageCaseEvent);
await performAction('clickButton', caseSummary.go);
await performValidation('mainHeader', beforeYouStart.mainHeader);
await performAction('clickButton', beforeYouStart.submitButton);
await performValidation('mainHeader', selectCasesToUnLink.mainHeader);
await performAction('selectCasesToUnLink', { caseRefInput: caseNumbers });
await performValidation('mainHeader', checkYourAnswersCaseLinking.mainHeader);
await performAction('clickButton', checkYourAnswersCaseLinking.submitButton);
await performValidation('bannerAlert', 'Case #.* has been updated with event: Manage case links');
await performAction('verifyLinkedCases', { caseRefInput: caseNumbers });
});
});