Skip to content

Commit

Permalink
Fix for integration test failures
Browse files Browse the repository at this point in the history
Force Cypress to check checkboxes if it thinks they're overlapped.

Looks to be caused by changes in GOV.UK Frontend v5.1.0
(alphagov/govuk-frontend#4093)
  • Loading branch information
tpmcgowan committed Feb 18, 2024
1 parent e204b22 commit e83c9c2
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 32 deletions.
18 changes: 9 additions & 9 deletions integration_tests/integration/bookAVisit.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,8 @@ context('Book a visit', () => {
cy.contains(contacts[0].restrictions[0].restrictionTypeDescription)
cy.contains('End date not entered')
})
selectVisitorsPage.getVisitor(contacts[0].personId).check()
selectVisitorsPage.getVisitor(contacts[1].personId).check()
selectVisitorsPage.getVisitor(contacts[0].personId).check({ force: true })
selectVisitorsPage.getVisitor(contacts[1].personId).check({ force: true })

// Select date and time
cy.task('stubVisitSessions', {
Expand All @@ -148,28 +148,28 @@ context('Book a visit', () => {
selectVisitorsPage.continueButton().click()
const selectVisitDateAndTime = Page.verifyOnPage(SelectVisitDateAndTime)
selectVisitDateAndTime.expandAllSections()
selectVisitDateAndTime.getSlotById(1).check()
selectVisitDateAndTime.getSlotById(1).check({ force: true })

// Additional support
cy.task('stubAvailableSupport')
selectVisitDateAndTime.continueButton().click()
const additionalSupportPage = Page.verifyOnPage(AdditionalSupportPage)
additionalSupportPage.additionalSupportRequired().check()
additionalSupportPage.additionalSupportRequired().check({ force: true })
additionalSupportPage.selectSupportType('WHEELCHAIR')
additionalSupportPage.selectSupportType('OTHER')
additionalSupportPage.enterOtherSupportDetails('Some extra help!')

// Main contact
additionalSupportPage.continueButton().click()
const mainContactPage = Page.verifyOnPage(MainContactPage)
mainContactPage.getFirstContact().check()
mainContactPage.getFirstContact().check({ force: true })
mainContactPage.enterPhoneNumber('01234 567890')

// Request method
mainContactPage.continueButton().click()
const requestMethodPage = Page.verifyOnPage(RequestMethodPage)
requestMethodPage.getRequestLabelByValue('PHONE').contains('Phone call')
requestMethodPage.getRequestMethodByValue('PHONE').check()
requestMethodPage.getRequestMethodByValue('PHONE').check({ force: true })
requestMethodPage.continueButton().click()

// Check booking details
Expand Down Expand Up @@ -254,7 +254,7 @@ context('Book a visit', () => {
prisonerProfilePage
.voOverrideText()
.contains('The prisoner has no available visiting orders. Select the box if a booking can still be made.')
prisonerProfilePage.voOverrideButton().click()
prisonerProfilePage.voOverrideButton().click({ force: true })

const offenderRestrictions = [TestData.offenderRestriction()]
cy.task('stubOffenderRestrictions', { offenderNo: prisonerId, offenderRestrictions })
Expand Down Expand Up @@ -286,8 +286,8 @@ context('Book a visit', () => {
prisonerProfilePage.bookAVisitButton().click()

const selectVisitorsPage = Page.verifyOnPage(SelectVisitorsPage)
selectVisitorsPage.getVisitor(contacts[0].personId).check()
selectVisitorsPage.getVisitor(contacts[1].personId).check()
selectVisitorsPage.getVisitor(contacts[0].personId).check({ force: true })
selectVisitorsPage.getVisitor(contacts[1].personId).check({ force: true })
selectVisitorsPage.continueButton().click()

const selectVisitTypePage = Page.verifyOnPage(SelectVisitTypePage)
Expand Down
6 changes: 3 additions & 3 deletions integration_tests/integration/cancelVisit.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ context('Cancel visit journey', () => {
visitDetailsPage.cancelBooking().click()

const cancelVisitPage = Page.verifyOnPage(CancelVisitPage)
cancelVisitPage.establishmentCancelledRadio().click()
cancelVisitPage.establishmentCancelledRadio().click({ force: true })
cancelVisitPage.enterCancellationReasonText(cancelVisitDto.cancelOutcome.text)

cy.task('stubCancelVisit', { visit: visitHistoryDetails.visit, cancelVisitDto })
Expand Down Expand Up @@ -87,9 +87,9 @@ context('Cancel visit journey', () => {
visitDetailsPage.cancelBooking().click()

const cancelVisitPage = Page.verifyOnPage(CancelVisitPage)
cancelVisitPage.visitorCancelledRadio().click()
cancelVisitPage.visitorCancelledRadio().click({ force: true })
cancelVisitPage.enterCancellationReasonText(cancelVisitDto.cancelOutcome.text)
cancelVisitPage.getRequestMethodByValue('WEBSITE').check()
cancelVisitPage.getRequestMethodByValue('WEBSITE').check({ force: true })

cy.task('stubCancelVisit', { visit: visitHistoryDetails.visit, cancelVisitDto })
cancelVisitPage.submit().click()
Expand Down
18 changes: 9 additions & 9 deletions integration_tests/integration/checkYourBooking.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ context('Check visit details page', () => {
cy.task('stubOffenderRestrictions', { offenderNo: prisonerId, offenderRestrictions: [] })
prisonerProfilePage.bookAVisitButton().click()
const selectVisitorsPage = Page.verifyOnPage(SelectVisitorsPage)
selectVisitorsPage.getVisitor(contacts[0].personId).check()
selectVisitorsPage.getVisitor(contacts[0].personId).check({ force: true })

// Select date and time
cy.task('stubVisitSessions', {
Expand All @@ -92,25 +92,25 @@ context('Check visit details page', () => {
selectVisitorsPage.continueButton().click()
const selectVisitDateAndTime = Page.verifyOnPage(SelectVisitDateAndTime)
selectVisitDateAndTime.expandAllSections()
selectVisitDateAndTime.getSlotById(1).check()
selectVisitDateAndTime.getSlotById(1).check({ force: true })

// Additional support
cy.task('stubAvailableSupport')
selectVisitDateAndTime.continueButton().click()
const additionalSupportPage = Page.verifyOnPage(AdditionalSupportPage)
additionalSupportPage.additionalSupportNotRequired().check()
additionalSupportPage.additionalSupportNotRequired().check({ force: true })

// Main contact
additionalSupportPage.continueButton().click()
const mainContactPage = Page.verifyOnPage(MainContactPage)
mainContactPage.getFirstContact().check()
mainContactPage.getFirstContact().check({ force: true })
mainContactPage.enterPhoneNumber('01234 567890')

// Request method
mainContactPage.continueButton().click()
const requestMethodPage = Page.verifyOnPage(RequestMethodPage)
requestMethodPage.getRequestLabelByValue('PHONE').contains('Phone call')
requestMethodPage.getRequestMethodByValue('PHONE').check()
requestMethodPage.getRequestMethodByValue('PHONE').check({ force: true })
requestMethodPage.continueButton().click()

// Check visit details
Expand All @@ -130,7 +130,7 @@ context('Check visit details page', () => {
Page.verifyOnPage(SelectVisitDateAndTime)
selectVisitDateAndTime.expandAllSections()
selectVisitDateAndTime.getSlotById(1).should('be.checked')
selectVisitDateAndTime.getSlotById(2).check()
selectVisitDateAndTime.getSlotById(2).check({ force: true })
cy.task(
'stubChangeReservedSlot',
TestData.visit({
Expand All @@ -154,7 +154,7 @@ context('Check visit details page', () => {
checkYourBookingPage.changeVisitors().click()
selectVisitorsPage.getVisitor(contacts[0].personId).should('be.checked')
selectVisitorsPage.getVisitor(contacts[1].personId).should('not.be.checked')
selectVisitorsPage.getVisitor(contacts[1].personId).check()
selectVisitorsPage.getVisitor(contacts[1].personId).check({ force: true })
selectVisitorsPage.continueButton().click()
selectVisitDateAndTime.getSlotById(2).should('be.checked')
cy.task(
Expand Down Expand Up @@ -182,7 +182,7 @@ context('Check visit details page', () => {
// Check details - change additional support - then proceed through journey
checkYourBookingPage.changeAdditionalSupport().click()
additionalSupportPage.additionalSupportNotRequired().should('be.checked')
additionalSupportPage.additionalSupportRequired().check()
additionalSupportPage.additionalSupportRequired().check({ force: true })
additionalSupportPage.selectSupportType('WHEELCHAIR')
additionalSupportPage.continueButton().click()
mainContactPage.continueButton().click()
Expand All @@ -199,7 +199,7 @@ context('Check visit details page', () => {
// Check details - change request method - then proceed through journey
checkYourBookingPage.changeRequestMethod().click()
requestMethodPage.getRequestLabelByValue('WEBSITE').contains('GOV.UK')
requestMethodPage.getRequestMethodByValue('WEBSITE').check()
requestMethodPage.getRequestMethodByValue('WEBSITE').check({ force: true })
requestMethodPage.continueButton().click()
checkYourBookingPage.requestMethod().contains('GOV.UK')

Expand Down
10 changes: 5 additions & 5 deletions integration_tests/integration/updateAVisit.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ context('Update a visit', () => {
const selectVisitorsPage = Page.verifyOnPage(SelectVisitorsPage)
selectVisitorsPage.getVisitor(contacts[0].personId).should('be.checked')
selectVisitorsPage.getVisitor(contacts[1].personId).should('not.be.checked')
selectVisitorsPage.getVisitor(contacts[1].personId).check()
selectVisitorsPage.getVisitor(contacts[1].personId).check({ force: true })

// Select date and time - current slot pre-selected
cy.task('stubVisitSessions', {
Expand Down Expand Up @@ -115,14 +115,14 @@ context('Update a visit', () => {
visitorSupport: [],
})
cy.task('stubChangeBookedVisit', updatedVisit)
selectVisitDateAndTime.getSlotById(2).check()
selectVisitDateAndTime.getSlotById(2).check({ force: true })
selectVisitDateAndTime.continueButton().click()

// Additional support - add wheelchair and custom option
const additionalSupportPage = Page.verifyOnPage(AdditionalSupportPage)
additionalSupportPage.additionalSupportNotRequired().should('be.checked')
additionalSupportPage.additionalSupportRequired().should('not.be.checked')
additionalSupportPage.additionalSupportRequired().check()
additionalSupportPage.additionalSupportRequired().check({ force: true })
additionalSupportPage.selectSupportType('WHEELCHAIR')
additionalSupportPage.selectSupportType('OTHER')
additionalSupportPage.enterOtherSupportDetails('Some extra help!')
Expand All @@ -138,7 +138,7 @@ context('Update a visit', () => {
// Request method
const requestMethodPage = Page.verifyOnPage(RequestMethodPage)
requestMethodPage.getRequestLabelByValue('PHONE').contains('Phone call')
requestMethodPage.getRequestMethodByValue('PHONE').check()
requestMethodPage.getRequestMethodByValue('PHONE').check({ force: true })
requestMethodPage.continueButton().click()

// Check your booking page
Expand Down Expand Up @@ -249,7 +249,7 @@ context('Update a visit', () => {

// Confirm update page - check yes
const confirmUpdatePage = Page.verifyOnPage(ConfirmUpdatePage)
confirmUpdatePage.confirmUpdateYesRadio().check()
confirmUpdatePage.confirmUpdateYesRadio().check({ force: true })
confirmUpdatePage.submit().click()

// Select visitors page - existing visitor selected then add another
Expand Down
2 changes: 1 addition & 1 deletion integration_tests/pages/additionalSupport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export default class AdditionalSupportPage extends Page {
}

selectSupportType = (type: string): void => {
cy.get(`[data-test=${type}]`).check()
cy.get(`[data-test=${type}]`).check({ force: true })
}

continueButton = (): PageElement => cy.get('[data-test=submit]')
Expand Down
2 changes: 1 addition & 1 deletion integration_tests/pages/changeEstablishment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default class ChangeEstablishmentPage extends Page {
}

selectEstablishment = (prisonId: string): void => {
cy.get(`#${prisonId}`).check()
cy.get(`#${prisonId}`).check({ force: true })
}

continueButton = (): PageElement => cy.get('[data-test=submit]')
Expand Down
4 changes: 2 additions & 2 deletions integration_tests/pages/visitType.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ export default class SelectVisitTypePage extends Page {
cy.get(`.prisoner-restrictions .test-restrictions-type${index}`)

selectOpenVisitType = (): void => {
cy.get('[data-test="visit-type-open"]').check()
cy.get('[data-test="visit-type-open"]').check({ force: true })
}

selectClosedVisitType = (): void => {
cy.get('[data-test="visit-type-closed"]').check()
cy.get('[data-test="visit-type-closed"]').check({ force: true })
}

submitButton = (): PageElement => cy.get('[data-test=submit]')
Expand Down
4 changes: 2 additions & 2 deletions integration_tests/pages/visitsReviewListing.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ export default class VisitsReviewListingPage extends Page {

filterByUser = (username: string): void => {
cy.get('#button-bookedBy').click()
cy.get(`[data-test="${username}"]`).check()
cy.get(`[data-test="${username}"]`).check({ force: true })
}

filterByReason = (type: string): void => {
cy.get('#button-type').click()
cy.get(`[data-test="${type}"]`).check()
cy.get(`[data-test="${type}"]`).check({ force: true })
}

applyFilter = (): void => {
Expand Down

0 comments on commit e83c9c2

Please sign in to comment.