-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DTSCCI-1278 Create Page Objects and Content for Acknowledge Claim (#5176
) * DTSCCI-1100 Create Page Objects and Content for Acknowledge Claim * Unspec 1v2 SS fast * Unspec 2v1 fast and small track * Unspec 1v2 fast and small track * update page objects to make them match others * fix lint issue --------- Co-authored-by: kdaHMCTS <[email protected]> Co-authored-by: kdaHMCTS <[email protected]>
- Loading branch information
1 parent
45dc41e
commit cb45683
Showing
29 changed files
with
512 additions
and
183 deletions.
There are no files selected for viewing
68 changes: 68 additions & 0 deletions
68
...right-e2e/pages/exui/solicitor-events/acknowledge-claim/acknowledge-claim-page-factory.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
import BasePageFactory from '../../../../base/base-page-factory'; | ||
import partys from '../../../../constants/partys'; | ||
import DateFragment from '../../fragments/date/date-fragment'; | ||
import SolicitorReferenceFragment from '../../fragments/solicitor-reference/solicitor-reference-fragment'; | ||
import ConfirmAcknowledgeClaimPage from './unspec/confirm-acknowledge-claim/confirm-acknowledge-claim-page'; | ||
import ConfirmNameAndAddressPage from './unspec/confirm-name-and-address/confirm-name-and-address-page'; | ||
import ResponseIntention1v2SSPage from './unspec/response-intention/response-intention-1v2SS-page'; | ||
import ResponseIntention2v1Page from './unspec/response-intention/response-intention-2v1-page'; | ||
import ResponseIntentionPage from './unspec/response-intention/response-intention-page'; | ||
import SolicitorReferencesAcknowledgeClaimPage from './unspec/solicitor-references-acknowledge-claim/solicitor-references-acknowledge-claim-page'; | ||
import SubmitAcknowledgeClaimPage from './unspec/submit-acknowledge-claim/submit-acknowledge-claim-page'; | ||
|
||
export default class AcknowledgeClaimPageFactory extends BasePageFactory { | ||
get confirmNameAndAddressPage() { | ||
const dateFragment = new DateFragment(this.page); | ||
return new ConfirmNameAndAddressPage(this.page, dateFragment); | ||
} | ||
|
||
get responseIntensionDefendant1Page() { | ||
return new ResponseIntentionPage(this.page, partys.DEFENDANT_1); | ||
} | ||
|
||
get responseIntensionDefendant2Page() { | ||
return new ResponseIntentionPage(this.page, partys.DEFENDANT_2); | ||
} | ||
|
||
get responseIntention2v1Page() { | ||
return new ResponseIntention2v1Page(this.page); | ||
} | ||
|
||
get responseIntention1v2SSPage() { | ||
return new ResponseIntention1v2SSPage(this.page); | ||
} | ||
|
||
get solicitorReferencesAcknowledgeClaimDefendant1Page() { | ||
const solicitorReferenceFragment = new SolicitorReferenceFragment( | ||
this.page, | ||
partys.DEFENDANT_1, | ||
partys.DEFENDANT_SOLICITOR_1, | ||
); | ||
return new SolicitorReferencesAcknowledgeClaimPage( | ||
this.page, | ||
solicitorReferenceFragment, | ||
partys.DEFENDANT_1, | ||
); | ||
} | ||
|
||
get solicitorReferencesAcknowledgeClaimDefendant2Page() { | ||
const solicitorReferenceFragment = new SolicitorReferenceFragment( | ||
this.page, | ||
partys.DEFENDANT_2, | ||
partys.DEFENDANT_SOLICITOR_2, | ||
); | ||
return new SolicitorReferencesAcknowledgeClaimPage( | ||
this.page, | ||
solicitorReferenceFragment, | ||
partys.DEFENDANT_2, | ||
); | ||
} | ||
|
||
get submitAcknowledgeClaimPage() { | ||
return new SubmitAcknowledgeClaimPage(this.page); | ||
} | ||
|
||
get confirmAcknowledgeClaimPage() { | ||
return new ConfirmAcknowledgeClaimPage(this.page); | ||
} | ||
} |
1 change: 1 addition & 0 deletions
1
...s/acknowledge-claim/unspec/confirm-acknowledge-claim/confirm-acknowledge-claim-content.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export const confirmationHeading = 'You have acknowledged the claim'; |
27 changes: 27 additions & 0 deletions
27
...ents/acknowledge-claim/unspec/confirm-acknowledge-claim/confirm-acknowledge-claim-page.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
import BasePage from '../../../../../../base/base-page.ts'; | ||
import ExuiPage from '../../../../exui-page/exui-page.ts'; | ||
import CCDCaseData from '../../../../../../models/ccd/ccd-case-data.ts'; | ||
import { AllMethodsStep } from '../../../../../../decorators/test-steps.ts'; | ||
import { confirmationHeading } from './confirm-acknowledge-claim-content.ts'; | ||
import DateHelper from '../../../../../../helpers/date-helper.ts'; | ||
|
||
@AllMethodsStep() | ||
export default class ConfirmAcknowledgeClaimPage extends ExuiPage(BasePage) { | ||
async verifyContent(ccdCaseData: CCDCaseData) { | ||
const responseDeadline = DateHelper.addToDate(ccdCaseData.respondent1ResponseDeadline, { | ||
days: 14, | ||
addDayAfter4pm: true, | ||
workingDay: true, | ||
}); | ||
await super.runVerifications([ | ||
super.verifyHeadings(ccdCaseData), | ||
super.expectHeading(confirmationHeading), | ||
super.expectSubheading(ccdCaseData.legacyCaseReference), | ||
super.expectText(DateHelper.formatDateToString(responseDeadline)), | ||
]); | ||
} | ||
|
||
async submit() { | ||
await super.retryClickSubmit(); | ||
} | ||
} |
41 changes: 41 additions & 0 deletions
41
...ts/acknowledge-claim/unspec/confirm-name-and-address/confirm-name-and-address-1v2-page.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
import BasePage from '../../../../../../base/base-page.ts'; | ||
import { AllMethodsStep } from '../../../../../../decorators/test-steps.ts'; | ||
import ExuiPage from '../../../../exui-page/exui-page.ts'; | ||
import CCDCaseData from '../../../../../../models/ccd/ccd-case-data.ts'; | ||
import DateFragment from '../../../../fragments/date/date-fragment.ts'; | ||
import { Page } from 'playwright-core'; | ||
import { ClaimantDefendantPartyType } from '../../../../../../models/claimant-defendant-party-types.ts'; | ||
import partys from '../../../../../../constants/partys.ts'; | ||
import { inputs, heading } from './confirm-name-and-address-content.ts'; | ||
|
||
@AllMethodsStep() | ||
export default class ConfirmNameAndAddress1v2Page extends ExuiPage(BasePage) { | ||
private dateFragment: DateFragment; | ||
|
||
constructor(page: Page, dateFragment: DateFragment) { | ||
super(page); | ||
this.dateFragment = dateFragment; | ||
} | ||
|
||
async verifyContent(ccdCaseData: CCDCaseData) { | ||
super.runVerifications([ | ||
super.expectHeading(heading), | ||
super.expectHeading(ccdCaseData.id), | ||
super.expectHeading(ccdCaseData.caseNamePublic), | ||
this.dateFragment.verifyContent(), | ||
super.expectText(inputs.dateOfBirth.label, { count: 2 }), | ||
]); | ||
} | ||
|
||
async enterDefendant1DateOfBirth(partyType: ClaimantDefendantPartyType) { | ||
await this.dateFragment.enterDateOfBirth(partys.DEFENDANT_1, partyType, 0); | ||
} | ||
|
||
async enterDefendant2DateOfBirth(partyType: ClaimantDefendantPartyType) { | ||
await this.dateFragment.enterDateOfBirth(partys.DEFENDANT_2, partyType, 1); | ||
} | ||
|
||
async submit() { | ||
await super.retryClickSubmit(); | ||
} | ||
} |
7 changes: 7 additions & 0 deletions
7
...nts/acknowledge-claim/unspec/confirm-name-and-address/confirm-name-and-address-content.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
export const heading = 'Confirm defendant details'; | ||
|
||
export const inputs = { | ||
dateOfBirth: { | ||
label: 'Date of birth (Optional)', | ||
}, | ||
}; |
37 changes: 37 additions & 0 deletions
37
...events/acknowledge-claim/unspec/confirm-name-and-address/confirm-name-and-address-page.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
import BasePage from '../../../../../../base/base-page.ts'; | ||
import { AllMethodsStep } from '../../../../../../decorators/test-steps.ts'; | ||
import ExuiPage from '../../../../exui-page/exui-page.ts'; | ||
import CCDCaseData from '../../../../../../models/ccd/ccd-case-data.ts'; | ||
import DateFragment from '../../../../fragments/date/date-fragment.ts'; | ||
import { Page } from 'playwright-core'; | ||
import { ClaimantDefendantPartyType } from '../../../../../../models/claimant-defendant-party-types.ts'; | ||
import partys from '../../../../../../constants/partys.ts'; | ||
import { inputs, heading } from './confirm-name-and-address-content.ts'; | ||
|
||
@AllMethodsStep() | ||
export default class ConfirmNameAndAddressPage extends ExuiPage(BasePage) { | ||
private dateFragment: DateFragment; | ||
|
||
constructor(page: Page, dateFragment: DateFragment) { | ||
super(page); | ||
this.dateFragment = dateFragment; | ||
} | ||
|
||
async verifyContent(ccdCaseData: CCDCaseData) { | ||
super.runVerifications([ | ||
super.expectHeading(heading), | ||
super.expectHeading(ccdCaseData.id), | ||
super.expectHeading(ccdCaseData.caseNamePublic), | ||
super.expectText(inputs.dateOfBirth.label, { index: 0 }), | ||
]); | ||
} | ||
|
||
//Need to decide how I am going to pass partyType Data, could be pass by ccdCaseData or store a reference in test data. | ||
async enterDefendantDateOfBirth(partyType: ClaimantDefendantPartyType) { | ||
await this.dateFragment.enterDateOfBirth(partys.DEFENDANT_1, partyType); | ||
} | ||
|
||
async submit() { | ||
await super.retryClickSubmit(); | ||
} | ||
} |
31 changes: 31 additions & 0 deletions
31
...citor-events/acknowledge-claim/unspec/response-intention/response-intention-1v2SS-page.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
import BasePage from '../../../../../../base/base-page.ts'; | ||
import { AllMethodsStep } from '../../../../../../decorators/test-steps.ts'; | ||
import ExuiPage from '../../../../exui-page/exui-page.ts'; | ||
import { radioButtons } from './response-intention-content.ts'; | ||
import CCDCaseData from '../../../../../../models/ccd/ccd-case-data.ts'; | ||
import partys from '../../../../../../constants/partys.ts'; | ||
|
||
@AllMethodsStep() | ||
export default class ResponseIntention1v2SSPage extends ExuiPage(BasePage) { | ||
async verifyContent(ccdCaseData: CCDCaseData) { | ||
super.runVerifications([ | ||
super.verifyHeadings(ccdCaseData), | ||
super.expectLabel(radioButtons.fullDefence.label, { count: 2 }), | ||
super.expectLabel(radioButtons.partAdmit.label, { count: 2 }), | ||
super.expectLabel(radioButtons.contestJurisdiction.label, { count: 2 }), | ||
]); | ||
} | ||
|
||
async selectRejectAll() { | ||
await super.clickBySelector( | ||
radioButtons.fullDefence.selector(partys.DEFENDANT_1, partys.CLAIMANT_1), | ||
); | ||
await super.clickBySelector( | ||
radioButtons.fullDefence.selector(partys.DEFENDANT_2, partys.CLAIMANT_1), | ||
); | ||
} | ||
|
||
async submit() { | ||
await super.retryClickSubmit(); | ||
} | ||
} |
31 changes: 31 additions & 0 deletions
31
...licitor-events/acknowledge-claim/unspec/response-intention/response-intention-2v1-page.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
import BasePage from '../../../../../../base/base-page.ts'; | ||
import { AllMethodsStep } from '../../../../../../decorators/test-steps.ts'; | ||
import ExuiPage from '../../../../exui-page/exui-page.ts'; | ||
import { radioButtons } from './response-intention-content.ts'; | ||
import CCDCaseData from '../../../../../../models/ccd/ccd-case-data.ts'; | ||
import partys from '../../../../../../constants/partys.ts'; | ||
|
||
@AllMethodsStep() | ||
export default class ResponseIntention2v1Page extends ExuiPage(BasePage) { | ||
async verifyContent(ccdCaseData: CCDCaseData) { | ||
super.runVerifications([ | ||
super.verifyHeadings(ccdCaseData), | ||
super.expectLabel(radioButtons.fullDefence.label, { count: 2 }), | ||
super.expectLabel(radioButtons.partAdmit.label, { count: 2 }), | ||
super.expectLabel(radioButtons.contestJurisdiction.label, { count: 2 }), | ||
]); | ||
} | ||
|
||
async selectRejectAll() { | ||
await super.clickBySelector( | ||
radioButtons.fullDefence.selector(partys.DEFENDANT_1, partys.CLAIMANT_1), | ||
); | ||
await super.clickBySelector( | ||
radioButtons.fullDefence.selector(partys.DEFENDANT_1, partys.CLAIMANT_2), | ||
); | ||
} | ||
|
||
async submit() { | ||
await super.retryClickSubmit(); | ||
} | ||
} |
19 changes: 19 additions & 0 deletions
19
...olicitor-events/acknowledge-claim/unspec/response-intention/response-intention-content.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
import { Party } from '../../../../../../models/partys'; | ||
|
||
export const radioButtons = { | ||
fullDefence: { | ||
label: 'Defend all of the claim', | ||
selector: (defendantParty: Party, claimantParty: Party) => | ||
`#${defendantParty.oldKey}ClaimResponseIntentionType${claimantParty.number === 2 ? 'ToApplicant2' : ''}-FULL_DEFENCE`, | ||
}, | ||
partAdmit: { | ||
label: 'Defend part of the claim', | ||
selector: (defendantParty: Party, claimantParty: Party) => | ||
`#${defendantParty.oldKey}ClaimResponseIntentionType${claimantParty.number === 2 ? 'ToApplicant2' : ''}-PART_DEFENCE`, | ||
}, | ||
contestJurisdiction: { | ||
label: 'Contest jurisdiction', | ||
selector: (defendantParty: Party, claimantParty: Party) => | ||
`#${defendantParty.oldKey}ClaimResponseIntentionType${claimantParty.number === 2 ? 'ToApplicant2' : ''}-CONTEST_JURISDICTION`, | ||
}, | ||
}; |
41 changes: 41 additions & 0 deletions
41
...i/solicitor-events/acknowledge-claim/unspec/response-intention/response-intention-page.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
import BasePage from '../../../../../../base/base-page.ts'; | ||
import { AllMethodsStep } from '../../../../../../decorators/test-steps.ts'; | ||
import ExuiPage from '../../../../exui-page/exui-page.ts'; | ||
import { radioButtons } from './response-intention-content.ts'; | ||
import CCDCaseData from '../../../../../../models/ccd/ccd-case-data.ts'; | ||
import { Party } from '../../../../../../models/partys.ts'; | ||
import { Page } from 'playwright-core'; | ||
import partys from '../../../../../../constants/partys.ts'; | ||
import StringHelper from '../../../../../../helpers/string-helper.ts'; | ||
|
||
@AllMethodsStep() | ||
export default class ResponseIntentionPage extends ExuiPage(BasePage) { | ||
private defendantParty: Party; | ||
|
||
constructor(page: Page, defendantParty: Party) { | ||
super(page); | ||
this.defendantParty = defendantParty; | ||
} | ||
|
||
async verifyContent(ccdCaseData: CCDCaseData) { | ||
super.runVerifications( | ||
[ | ||
super.verifyHeadings(ccdCaseData), | ||
super.expectLabel(radioButtons.fullDefence.label), | ||
super.expectLabel(radioButtons.partAdmit.label), | ||
super.expectLabel(radioButtons.contestJurisdiction.label), | ||
], | ||
{ axePageInsertName: StringHelper.capitalise(this.defendantParty.key) }, | ||
); | ||
} | ||
|
||
async selectRejectAll() { | ||
await super.clickBySelector( | ||
radioButtons.fullDefence.selector(this.defendantParty, partys.CLAIMANT_1), | ||
); | ||
} | ||
|
||
async submit() { | ||
await super.retryClickSubmit(); | ||
} | ||
} |
3 changes: 3 additions & 0 deletions
3
.../solicitor-references-acknowledge-claim/solicitor-references-acknowledge-claim-content.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
export const subheadings = { | ||
yourFileReference: 'Your File Reference', | ||
}; |
43 changes: 43 additions & 0 deletions
43
...pec/solicitor-references-acknowledge-claim/solicitor-references-acknowledge-claim-page.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
import BasePage from '../../../../../../base/base-page.ts'; | ||
import { AllMethodsStep } from '../../../../../../decorators/test-steps.ts'; | ||
import { subheadings } from './solicitor-references-acknowledge-claim-content.ts'; | ||
import ExuiPage from '../../../../exui-page/exui-page.ts'; | ||
import SolicitorReferenceFragment from '../../../../fragments/solicitor-reference/solicitor-reference-fragment.ts'; | ||
import { Page } from 'playwright-core'; | ||
import { Party } from '../../../../../../models/partys.ts'; | ||
import StringHelper from '../../../../../../helpers/string-helper.ts'; | ||
|
||
@AllMethodsStep() | ||
export default class SolicitorReferencesAcknowledgeClaimPage extends ExuiPage(BasePage) { | ||
private defendantParty: Party; | ||
private defendantSolicitorReferenceFragment: SolicitorReferenceFragment; | ||
|
||
constructor( | ||
page: Page, | ||
defendantSolicitorReferenceFragment: SolicitorReferenceFragment, | ||
defendantParty: Party, | ||
) { | ||
super(page); | ||
this.defendantParty = defendantParty; | ||
this.defendantSolicitorReferenceFragment = defendantSolicitorReferenceFragment; | ||
} | ||
|
||
async verifyContent() { | ||
await super.runVerifications( | ||
[ | ||
super.verifyHeadings(), | ||
super.expectSubheading(subheadings.yourFileReference), | ||
this.defendantSolicitorReferenceFragment.verifyContent(), | ||
], | ||
{ axePageInsertName: StringHelper.capitalise(this.defendantParty.key) }, | ||
); | ||
} | ||
|
||
async enterReference() { | ||
await this.defendantSolicitorReferenceFragment.enterReference(); | ||
} | ||
|
||
async submit() { | ||
await super.clickSubmit(); | ||
} | ||
} |
15 changes: 15 additions & 0 deletions
15
...events/acknowledge-claim/unspec/submit-acknowledge-claim/submit-acknowledge-claim-page.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import BasePage from '../../../../../../base/base-page.ts'; | ||
import { AllMethodsStep } from '../../../../../../decorators/test-steps.ts'; | ||
import CCDCaseData from '../../../../../../models/ccd/ccd-case-data.ts'; | ||
import ExuiPage from '../../../../exui-page/exui-page.ts'; | ||
|
||
@AllMethodsStep() | ||
export default class SubmitAcknowledgeClaimPage extends ExuiPage(BasePage) { | ||
async verifyContent(ccdCaseData: CCDCaseData) { | ||
await super.runVerifications([super.verifyHeadings(ccdCaseData)]); | ||
} | ||
|
||
async submit() { | ||
await super.retryClickSubmit(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.