Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
b742111
Automation-HDPI-3569
AshaJayaprakash Mar 27, 2026
69b98ed
Merge branch 'master' into Automation-HDPI-3569
AshaJayaprakash Mar 28, 2026
d5668eb
Merge branch 'master' into Automation-HDPI-3569
AshaJayaprakash Mar 30, 2026
80621d2
fixed page navigation
AshaJayaprakash Mar 31, 2026
c8a50a9
removed comments
AshaJayaprakash Mar 31, 2026
ebbb127
Merge branch 'master' into Automation-HDPI-3569
AshaJayaprakash Mar 31, 2026
9647e81
updated pft tests
AshaJayaprakash Mar 31, 2026
c1c2602
Merge branch 'master' into Automation-HDPI-3569
AshaJayaprakash Mar 31, 2026
b6b02d7
Merge branch 'HDPI-3569-Other-residents-and-alternative-accommodation…
AshaJayaprakash Mar 31, 2026
efd5425
merge conflicts
AshaJayaprakash Mar 31, 2026
7278a86
merge conflicts
AshaJayaprakash Mar 31, 2026
2f56f31
updated pft
AshaJayaprakash Mar 31, 2026
c31ddd9
Merge branch 'HDPI-3569-Other-residents-and-alternative-accommodation…
AshaJayaprakash Apr 1, 2026
6bd53cf
updated spec
AshaJayaprakash Apr 1, 2026
d7e2cba
added date field error validation
AshaJayaprakash Apr 1, 2026
3cb2326
Merge branch 'HDPI-3569-Other-residents-and-alternative-accommodation…
AshaJayaprakash Apr 1, 2026
7a860d4
lint fix
AshaJayaprakash Apr 1, 2026
9e5722e
updated comment
AshaJayaprakash Apr 1, 2026
e5b4e36
resolved conflicts
AshaJayaprakash Apr 1, 2026
bdabe42
Merge branch 'HDPI-3569-Other-residents-and-alternative-accommodation…
AshaJayaprakash Apr 2, 2026
912245f
added a test to cover no date passed scenario
AshaJayaprakash Apr 2, 2026
817f8da
fixed pft
AshaJayaprakash Apr 2, 2026
0ab8c45
emoji input val
AshaJayaprakash Apr 2, 2026
fa5f6d5
added place holder pages
AshaJayaprakash Apr 7, 2026
0a9ce58
Merge branch 'HDPI-3569-Other-residents-and-alternative-accommodation…
AshaJayaprakash Apr 7, 2026
67cf79d
Merge branch 'HDPI-3569-Other-residents-and-alternative-accommodation…
AshaJayaprakash Apr 7, 2026
6d51241
merge conflicts
AshaJayaprakash Apr 7, 2026
b62efde
merge conflict resolution
AshaJayaprakash Apr 7, 2026
a4402bc
Merge branch 'HDPI-3569-Other-residents-and-alternative-accommodation…
AshaJayaprakash Apr 7, 2026
5776ec2
Merge branch 'HDPI-3569-Other-residents-and-alternative-accommodation…
AshaJayaprakash Apr 7, 2026
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
2 changes: 2 additions & 0 deletions src/test/ui/config/axe-exclusions.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ export const axe_exclusions = [
'#tenancyTypeConfirm-2', //page: tenancyOccupationContractLicenseAgreement, element: 'No', element_type: radioOption, reason_for_exclusion: 'aria-expanded' attribute is expected for this radio button
'#repaymentsAgreed', //page: repaymentsAgreed, element: 'Yes', element_type: radioOption, reason_for_exclusion: 'aria-expanded' attribute is expected for this radio button
'#contactByEmailOrPost', //page: contactPreferenceEmailOrPost, element: 'Yes', element_type: radioOption, reason_for_exclusion: 'aria-expanded' attribute is expected for this radio button
'#confirmAlternativeAccommodation', // page: wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome, element: 'Yes', element_type: radioOption, reason_for_exclusion: 'aria-expanded' attribute is expected for this radio button
'#confirmOtherAdults', //page: doAnyOtherAdultsLiveInYourHome, element: 'Yes', element_type: radioOption, reason_for_exclusion: 'aria-expanded' attribute is expected for this radio button
'#dependantChildren', //page: doYouHaveAnyDependantChildren, element: 'Yes', element_type: radioOption, reason_for_exclusion: 'aria-expanded' attribute is expected for this radio button
'#otherDependants', //page: doYouHaveAnyOtherDependants, element: 'Yes', element_type: radioOption, reason_for_exclusion: 'aria-expanded' attribute is expected for this radio button
'#rentArrears-2', //page: rentArrears, element: 'Yes', element_type: radioOption, reason_for_exclusion: 'aria-expanded' attribute is expected for this radio button
Expand Down
4 changes: 3 additions & 1 deletion src/test/ui/config/urlToFileMapping.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@ export default {
'landlord-licensed': 'landlordLicensed',
'written-terms': 'writtenTerms',
'contact-preferences-email-or-post': 'contactPreferenceEmailOrPost',
'do-any-other-adults-live-in-your-home': 'doAnyOtherAdultsLiveInYourHome',
'would-you-have-somewhere-else-to-live-if-you-had-to-leave-your-home':
'wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome',
'your-household-and-circumstances': 'yourHouseholdAndCircumstances',
'do-you-have-any-dependant-children': 'doYouHaveAnyDependantChildren',
'do-you-have-any-other-dependants': 'doYouHaveAnyOtherDependants',
'do-any-other-adults-live-in-your-home': 'doAnyOtherAdultsLiveInYourHome',
};
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
export const doAnyOtherAdultsLiveInYourHome = {
mainHeader: `Do any other adults live in your home? (placeholder)`,
mainHeader: `Do any other adults live in your home?`,
respondToClaimParagraph: `Respond to a property possession claim`,
backLink: `Back`,
giveDetailsAboutOtherAdultsHiddenTextLabel: `Give details about the other adults living in your home`,
youShouldIncludeDetailsHiddenHintText: `You should include details about how many adults live in your home, their relationship to you, as well as anything else you think the court should know about them`,
detailsAboutAdultsTextInput: `I live with 2 adults, parents`,
yesRadioOption: `Yes`,
noRadioOption: `No`,
saveForLaterButton: `Save for later`,
cymraegLink: `Cymraeg`,
saveAndContinueButton: `Save and continue`,
thereIsAProblemErrorMessageHeader: `There is a problem`,
selectIfAnyOtherAdultsErrorMessage: `Select if any other adults live in your home`,
giveDetailsAboutOtherAdultsErrorMessage: 'Give details about the other adults living in your home',
mustBe500ErrorMessage: `Must be 500 characters or fewer`,
feedbackLink: `feedback (opens in new tab)`,
pageSlug: `do-any-other-adults-live-in-your-home`,
emojiTextInput: `👉 😄`,
emojiErrorMessage: `Give details about the other adults living in your home must only include letters a to z, and special characters such as hyphens, spaces and apostrophes`,
};
6 changes: 4 additions & 2 deletions src/test/ui/data/page-data/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,12 @@ export * from './tenancyDateUnknown.page.data';
export * from './tenancyDateDetails.page.data';
export * from './dashboard.page.data';
export * from './installmentPayments.data';
export * from './yourHouseholdAndCircumstances.page.data';
export * from './landlordLicensed.page.data';
export * from './writtenTerms.page.data';
export * from './feedback.page.data';
export * from './yourHouseholdAndCircumstances.page.data';
export * from './doYouHaveAnyDependantChildren.page.data';
export * from './doYouHaveAnyOtherDependants.page.data';
export * from './doAnyOtherAdultsLiveInYourHome.page.data';
export * from './wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome.page.data';
export * from './feedback.page.data';
export * from './yourCircumstances.page.data';
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
export const wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome = {
mainHeader: `Would you have somewhere else to live if you had to leave your home?`,
respondToClaimParagraph: `Respond to a property possession claim`,
backLink: `Back`,
whenWouldYouBeableToMoveHiddenTextLabel: `When would you be able to move in (optional)?`,
dayHiddenTextLabel: 'Day',
monthHiddenTextLabel: 'Month',
yearHiddenTextLabel: 'Year',
yesRadioOption: `Yes`,
noRadioOption: `No`,
iamNotSureRadioOption: `I’m not sure`,
saveForLaterButton: `Save for later`,
cymraegLink: `Cymraeg`,
saveAndContinueButton: `Save and continue`,
selectIfYouHadAlternativeAccommodationErrorMessage: `Select if you’d have somewhere else to live if you had to leave your home`,
thereIsAProblemErrorMessageHeader: `There is a problem`,
feedbackLink: `feedback (opens in new tab)`,
pageSlug: `would-you-have-somewhere-else-to-live-if-you-had-to-leave-your-home`,
dayMissingErrorMessage: `The date you’d be able to move in must include a day`,
monthMissingErrorMessage: `The date you’d be able to move in must include a month`,
yearMissingErrorMessage: `The date you’d be able to move in must include a year`,
realDateErrorMessage: `The date you’d be able to move in must be a real date`,
futureDateErrorMessage: `The date you’d be able to move in must be in the future`,
};
4 changes: 4 additions & 0 deletions src/test/ui/data/page-data/yourCircumstances.page.data.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export const yourCircumstances = {
mainHeader: `Your circumstances (placeholder)`,
continueButton: `Continue`,
};
87 changes: 78 additions & 9 deletions src/test/ui/e2eTest/respondToAClaim.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,10 @@ import {
startNow,
tenancyDateDetails,
tenancyTypeDetails,
wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome,
yourCircumstances,
} from '../data/page-data';
import { getRelativeDate } from '../utils/common/string.utils';
import { finaliseAllValidations, initializeExecutor, performAction, performValidation } from '../utils/controller';

const home_url = config.get('e2e.testUrl') as string;
Expand Down Expand Up @@ -218,7 +221,15 @@ test.describe('Respond to a claim - e2e Journey @nightly', async () => {
await performAction('doYouHaveAnyOtherDependants', {
otherDependantsOption: doYouHaveAnyOtherDependants.noRadioOption,
});
await performValidation('mainHeader', doAnyOtherAdultsLiveInYourHome.mainHeader);
await performAction('selectIfAnyOtherAdultsLiveInYourHouse', {
radioOption: doAnyOtherAdultsLiveInYourHome.yesRadioOption,
details: doAnyOtherAdultsLiveInYourHome.detailsAboutAdultsTextInput,
});
await performAction('selectAlternativeAccommodation', {
radioOption: wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome.yesRadioOption,
...getRelativeDate(5),
});
await performValidation('mainHeader', yourCircumstances.mainHeader);
});

test('Non-RentArrears - Assured- NoticeServed - Yes and NoticeDateProvided - No - NoticeDetails- Yes - Notice date unknown @assured @regression', async () => {
Expand Down Expand Up @@ -284,7 +295,15 @@ test.describe('Respond to a claim - e2e Journey @nightly', async () => {
otherDependantsOption: doYouHaveAnyOtherDependants.yesRadioOption,
otherDependantsInfo: doYouHaveAnyOtherDependants.detailsTextInput,
});
await performValidation('mainHeader', doAnyOtherAdultsLiveInYourHome.mainHeader);
await performAction('selectIfAnyOtherAdultsLiveInYourHouse', {
radioOption: doAnyOtherAdultsLiveInYourHome.yesRadioOption,
details: doAnyOtherAdultsLiveInYourHome.detailsAboutAdultsTextInput,
});
await performAction('selectAlternativeAccommodation', {
radioOption: wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome.yesRadioOption,
...getRelativeDate(5),
});
await performValidation('mainHeader', yourCircumstances.mainHeader);
});

test('Non-RentArrears - Secure - NoticeServed - Yes and NoticeDateProvided - Yes - NoticeDetails- Yes - Notice date known @secureFlexible @regression', async () => {
Expand Down Expand Up @@ -351,7 +370,14 @@ test.describe('Respond to a claim - e2e Journey @nightly', async () => {
await performAction('doYouHaveAnyOtherDependants', {
otherDependantsOption: doYouHaveAnyOtherDependants.noRadioOption,
});
await performValidation('mainHeader', doAnyOtherAdultsLiveInYourHome.mainHeader);
await performAction('selectIfAnyOtherAdultsLiveInYourHouse', {
radioOption: doAnyOtherAdultsLiveInYourHome.yesRadioOption,
details: doAnyOtherAdultsLiveInYourHome.detailsAboutAdultsTextInput,
});
await performAction('selectAlternativeAccommodation', {
radioOption: wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome.yesRadioOption,
});
await performValidation('mainHeader', yourCircumstances.mainHeader);
});

test('Non-RentArrears - Flexible - NoticeServed - Yes NoticeDateProvided - No - NoticeDetails - Im not sure - NonRentArrearsDispute @secureFlexible @regression', async () => {
Expand Down Expand Up @@ -417,7 +443,15 @@ test.describe('Respond to a claim - e2e Journey @nightly', async () => {
otherDependantsOption: doYouHaveAnyOtherDependants.yesRadioOption,
otherDependantsInfo: doYouHaveAnyOtherDependants.detailsTextInput,
});
await performValidation('mainHeader', doAnyOtherAdultsLiveInYourHome.mainHeader);
await performAction('selectIfAnyOtherAdultsLiveInYourHouse', {
radioOption: doAnyOtherAdultsLiveInYourHome.yesRadioOption,
details: doAnyOtherAdultsLiveInYourHome.detailsAboutAdultsTextInput,
});
await performAction('selectAlternativeAccommodation', {
radioOption: wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome.yesRadioOption,
...getRelativeDate(5),
});
await performValidation('mainHeader', yourCircumstances.mainHeader);
});

test('England - Flexible - NonRentArrears - NoticeServed - No NoticeDateProvided - No - NonRentArrearsDispute @secureFlexible @regression', async () => {
Expand Down Expand Up @@ -477,7 +511,15 @@ test.describe('Respond to a claim - e2e Journey @nightly', async () => {
otherDependantsOption: doYouHaveAnyOtherDependants.yesRadioOption,
otherDependantsInfo: doYouHaveAnyOtherDependants.detailsTextInput,
});
await performValidation('mainHeader', doAnyOtherAdultsLiveInYourHome.mainHeader);
await performAction('selectIfAnyOtherAdultsLiveInYourHouse', {
radioOption: doAnyOtherAdultsLiveInYourHome.yesRadioOption,
details: doAnyOtherAdultsLiveInYourHome.detailsAboutAdultsTextInput,
});
await performAction('selectAlternativeAccommodation', {
radioOption: wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome.yesRadioOption,
...getRelativeDate(5),
});
await performValidation('mainHeader', yourCircumstances.mainHeader);
});

test('RentArrears - Introductory - NoticeServed - Yes and NoticeDateProvided - No - NoticeDetails- Yes - Notice date unknown @regression', async () => {
Expand Down Expand Up @@ -540,7 +582,13 @@ test.describe('Respond to a claim - e2e Journey @nightly', async () => {
otherDependantsOption: doYouHaveAnyOtherDependants.yesRadioOption,
otherDependantsInfo: doYouHaveAnyOtherDependants.detailsTextInput,
});
await performValidation('mainHeader', doAnyOtherAdultsLiveInYourHome.mainHeader);
await performAction('selectIfAnyOtherAdultsLiveInYourHouse', {
radioOption: doAnyOtherAdultsLiveInYourHome.noRadioOption,
});
await performAction('selectAlternativeAccommodation', {
radioOption: wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome.noRadioOption,
});
await performValidation('mainHeader', yourCircumstances.mainHeader);
});

test('RentArrears - Demoted - NoticeServed - Yes and NoticeDateProvided - Yes - NoticeDetails- Yes - Notice date known @regression', async () => {
Expand Down Expand Up @@ -602,7 +650,14 @@ test.describe('Respond to a claim - e2e Journey @nightly', async () => {
await performAction('doYouHaveAnyOtherDependants', {
otherDependantsOption: doYouHaveAnyOtherDependants.noRadioOption,
});
await performValidation('mainHeader', doAnyOtherAdultsLiveInYourHome.mainHeader);
await performAction('selectIfAnyOtherAdultsLiveInYourHouse', {
radioOption: doAnyOtherAdultsLiveInYourHome.yesRadioOption,
details: doAnyOtherAdultsLiveInYourHome.detailsAboutAdultsTextInput,
});
await performAction('selectAlternativeAccommodation', {
radioOption: wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome.iamNotSureRadioOption,
});
await performValidation('mainHeader', yourCircumstances.mainHeader);
});

test('RentArrears - Demoted - NoticeServed - Yes - NoticeDateProvided - Yes NoticeDetails - No - RentArrearsDispute @regression', async () => {
Expand Down Expand Up @@ -665,7 +720,14 @@ test.describe('Respond to a claim - e2e Journey @nightly', async () => {
otherDependantsOption: doYouHaveAnyOtherDependants.yesRadioOption,
otherDependantsInfo: doYouHaveAnyOtherDependants.detailsTextInput,
});
await performValidation('mainHeader', doAnyOtherAdultsLiveInYourHome.mainHeader);
await performAction('selectIfAnyOtherAdultsLiveInYourHouse', {
radioOption: doAnyOtherAdultsLiveInYourHome.yesRadioOption,
details: doAnyOtherAdultsLiveInYourHome.detailsAboutAdultsTextInput,
});
await performAction('selectAlternativeAccommodation', {
radioOption: wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome.iamNotSureRadioOption,
});
await performValidation('mainHeader', yourCircumstances.mainHeader);
});

test('England - RentArrears - NonRentArrears - NoticeServed - No - RentArrearsDispute @rentNonRent @regression', async () => {
Expand Down Expand Up @@ -730,6 +792,13 @@ test.describe('Respond to a claim - e2e Journey @nightly', async () => {
otherDependantsOption: doYouHaveAnyOtherDependants.yesRadioOption,
otherDependantsInfo: doYouHaveAnyOtherDependants.detailsTextInput,
});
await performValidation('mainHeader', doAnyOtherAdultsLiveInYourHome.mainHeader);
await performAction('selectIfAnyOtherAdultsLiveInYourHouse', {
radioOption: doAnyOtherAdultsLiveInYourHome.yesRadioOption,
details: doAnyOtherAdultsLiveInYourHome.detailsAboutAdultsTextInput,
});
await performAction('selectAlternativeAccommodation', {
radioOption: wouldYouHaveSomewhereElseToLiveIfYouHadToLeaveYourHome.iamNotSureRadioOption,
});
await performValidation('mainHeader', yourCircumstances.mainHeader);
});
});
61 changes: 61 additions & 0 deletions src/test/ui/functional/doAnyOtherAdultsLiveInYourHome.pft.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
import { dashboard, doAnyOtherAdultsLiveInYourHome, doYouHaveAnyOtherDependants, feedback } from '../data/page-data';
import { generateRandomString } from '../utils/common/string.utils';
import { performAction, performValidation } from '../utils/controller';

export async function doAnyOtherAdultsLiveInYourHomeErrorValidation(): Promise<void> {
//mandatory selection
await performAction('clickButton', doAnyOtherAdultsLiveInYourHome.saveAndContinueButton);
await performValidation('errorMessage', {
header: doAnyOtherAdultsLiveInYourHome.thereIsAProblemErrorMessageHeader,
message: doAnyOtherAdultsLiveInYourHome.selectIfAnyOtherAdultsErrorMessage,
});

//no input text provided for 'Yes' radio option
await performAction('clickRadioButton', doAnyOtherAdultsLiveInYourHome.yesRadioOption);
await performAction('clickButton', doAnyOtherAdultsLiveInYourHome.saveAndContinueButton);
await performValidation('errorMessage', {
header: doAnyOtherAdultsLiveInYourHome.thereIsAProblemErrorMessageHeader,
message: doAnyOtherAdultsLiveInYourHome.giveDetailsAboutOtherAdultsErrorMessage,
});
await performAction(
'inputText',
doAnyOtherAdultsLiveInYourHome.giveDetailsAboutOtherAdultsHiddenTextLabel,
generateRandomString(501)
);

await performAction('clickButton', doAnyOtherAdultsLiveInYourHome.saveAndContinueButton);
await performValidation('errorMessage', {
header: doAnyOtherAdultsLiveInYourHome.thereIsAProblemErrorMessageHeader,
message: doAnyOtherAdultsLiveInYourHome.mustBe500ErrorMessage,
});

//enter emoji
await performAction(
'inputText',
doAnyOtherAdultsLiveInYourHome.giveDetailsAboutOtherAdultsHiddenTextLabel,
doAnyOtherAdultsLiveInYourHome.emojiTextInput
);

await performAction('clickButton', doAnyOtherAdultsLiveInYourHome.saveAndContinueButton);
await performValidation('errorMessage', {
header: doAnyOtherAdultsLiveInYourHome.thereIsAProblemErrorMessageHeader,
message: doAnyOtherAdultsLiveInYourHome.emojiErrorMessage,
});
}

export async function doAnyOtherAdultsLiveInYourHomeNavigationTests(): Promise<void> {
await performValidation('pageNavigation', doAnyOtherAdultsLiveInYourHome.feedbackLink, {
element: feedback.tellUsWhatYouThinkParagraph,
pageSlug: doAnyOtherAdultsLiveInYourHome.pageSlug,
});
await performValidation(
'pageNavigation',
doAnyOtherAdultsLiveInYourHome.backLink,
doYouHaveAnyOtherDependants.mainHeader
);
await performAction('clickRadioButton', {
question: doAnyOtherAdultsLiveInYourHome.mainHeader,
option: doAnyOtherAdultsLiveInYourHome.noRadioOption,
});
await performValidation('pageNavigation', doAnyOtherAdultsLiveInYourHome.saveForLaterButton, dashboard.mainHeader);
}
Loading