diff --git a/src/main/java/framework/ui/locators/simplOpen/Authority.java b/src/main/java/framework/ui/locators/simplOpen/Authority.java index 5a82b46946ac9cd58380fa746bd8e219eb0374b9..bc48184a40b3e8added0ce8b8e1ed9b1b57d9329 100644 --- a/src/main/java/framework/ui/locators/simplOpen/Authority.java +++ b/src/main/java/framework/ui/locators/simplOpen/Authority.java @@ -1,16 +1,16 @@ package framework.ui.locators.simplOpen; public class Authority { - public static final String ONBOARDING_INFO_REGISTER_BUTTON = ".mdc-button--unelevated.mat-primary"; - public static final String ONBOARDING_FORM = "form[id='applicationForm']"; - public static final String EMAIL_ADDRESS = "input[id='email']"; + public static final String ONBOARDING_INFO_REGISTER_BUTTON_LOCATOR = ".mdc-button--unelevated.mat-primary"; + public static final String ONBOARDING_FORM_LOCATOR = "form[id='applicationForm']"; + public static final String EMAIL_ADDRESS_LOCATOR = "input[id='email']"; public static final String ORGANISATION_INPUT_LOCATOR = "input[id='organization']"; - public static final String PARTICIPANT_TYPE_DROPDOMN_MENU = "#mat-mdc-form-field-label-4"; - public static final String PARTICIPANT_TYPE_SELECTED = "//*[@id=\"mat-select-value-1\"]/span/span"; - public static final String PARTICIPANT_TYPE_OPTIONS = "[role=option]"; - public static final String PARTICIPANT_TYPE_INPUT = "#participantType"; - public static final String CREATE_CREDENTIALS_BUTTON = "//button[.//span[text()='Create credentials']]"; - public static final String SUCCESSFUL_MESSAGE = "h6"; + public static final String PARTICIPANT_TYPE_DROPDOMN_MENU_LOCATOR = "#mat-mdc-form-field-label-4"; + public static final String PARTICIPANT_TYPE_SELECTED_LOCATOR = "//*[@id=\"mat-select-value-1\"]/span/span"; + public static final String PARTICIPANT_TYPE_OPTIONS_LOCATOR = "[role=option]"; + public static final String PARTICIPANT_TYPE_INPUT_LOCATOR = "#participantType"; + public static final String CREATE_CREDENTIALS_BUTTON_LOCATOR = "//button[.//span[text()='Create credentials']]"; + public static final String SUCCESSFUL_MESSAGE_LOCATOR = "h6"; public static final String SURNAME_INPUT_LOCATOR = "input[id='surname']"; public static final String NAME_INPUT_LOCATOR = "input[id='name']"; public static final String USERNAME_INPUT_LOCATOR = "input[id='username']"; @@ -18,40 +18,39 @@ public class Authority { public static final String CONFIRM_PASSWORD_INPUT_LOCATOR = "label[for='confirmPassword']"; public static final String USER_GENEREATED_LOCATOR = "div.lead:nth-child(1)"; public static final String PASSWORD_GENEREATED_LOCATOR = "div.lead:nth-child(2)"; - public static final String SUBMISSION_FORM_BUTTON = "//button[.//span[text()='Go to the application submission form →']]"; - public static final String SUBMIT_APPLICATION_POPUP = "//*[@id=\"mat-mdc-dialog-title-0\"]"; - public static final String KEYCLOAK_USERNAME_INPUT = "input[id='username']"; - public static final String KEYCLOAK_PASSWORD_INPUT = "input[id='password']"; - public static final String KEYCLOAK_SIGN_IN_BUTTON = "input[id='kc-login']"; + public static final String SUBMISSION_FORM_BUTTON_LOCATOR = "//button[.//span[text()='Go to the application submission form →']]"; + public static final String SUBMIT_APPLICATION_POPUP_LOCATOR = "//*[@id=\"mat-mdc-dialog-title-0\"]"; + public static final String KEYCLOAK_USERNAME_INPUT_LOCATOR = "input[id='username']"; + public static final String KEYCLOAK_PASSWORD_INPUT_LOCATOR = "input[id='password']"; + public static final String KEYCLOAK_SIGN_IN_BUTTON_LOCATOR = "input[id='kc-login']"; public static final String ERROR_MESSAGE_LOCATOR = "//span[@id='input-error']"; - public static final String PARTICIPANT_LIST_TABLE = "table[role='table']"; - public static final String REQUEST_LIST_TABLE_CONTENT_PANEL = "//app-requests/div/div/div/div/div[2]/app-request-list/table/tbody"; - public static final String REQUEST_STATUS_DETAILS_DIALOG = "//mat-dialog-content[contains(@class, 'mat-mdc-dialog-content')]"; - public static final String ONBOARDING_STATUS_PANEL = "//div/app-onboarding-status/div/div"; - public static final String ONBOARDING_REQUESTS_PANEL = "//div[contains(text(), 'Request submitted' )]"; + public static final String PARTICIPANT_LIST_TABLE_LOCATOR = "table[role='table']"; + public static final String REQUEST_LIST_TABLE_CONTENT_PANEL_LOCATOR = "//app-requests/div/div/div/div/div[2]/app-request-list/table/tbody"; + public static final String REQUEST_STATUS_DETAILS_DIALOG_LOCATOR = "//mat-dialog-content[contains(@class, 'mat-mdc-dialog-content')]"; + public static final String ONBOARDING_STATUS_PANEL_LOCATOR = "//div/app-onboarding-status/div/div"; + public static final String ONBOARDING_REQUESTS_PANEL_LOCATOR = "//div[contains(text(), 'Request submitted' )]"; public static final String GREEN_ICON_LOCATOR = ".mat-icon:nth-child(1)"; public static final String GREY_ICON_LOCATOR_2 = "//div[contains(text(), '2' )]"; public static final String GREY_ICON_LOCATOR_3 = "//div[contains(text(), '3' )]"; public static final String SEE_REQUEST_DETAILS_BUTTON_LOCATOR = "//span[contains(text(), 'See request details' )]"; - public static final String PARTICIPANT_LIST_FILTER_DROPDOWN_OPTIONS = "mat-option[role='option']"; - public static final String PARTICIPANT_LIST_FILTER_INPUT = "input[matinput]"; - public static final String PARTICIPANT_LIST_PARTICIPANT_NAME_COLUMN = "//td[contains(@class, " + + public static final String PARTICIPANT_LIST_FILTER_DROPDOWN_OPTIONS_LOCATOR = "mat-option[role='option']"; + public static final String PARTICIPANT_LIST_FILTER_INPUT_LOCATOR = "input[matinput]"; + public static final String PARTICIPANT_LIST_PARTICIPANT_NAME_COLUMN_LOCATOR = "//td[contains(@class, " + "'cdk-column-organization')]"; - public static final String PARTICIPANT_DETAILS_HEADER = "//h1[contains(text(), 'Participant Details' )]"; - public static final String PARTICIPANT_DETAILS_COLUMNS = "div[class='col']"; - public static final String PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_HEADER_COLUMNS = "th[role='columnheader']"; - public static final String PARTICIPANT_DETAILS_ATTRIBUTES_TABLE = "table[class='mat-mdc-table mdc-data-table__table cdk-table mat-sort ng-star-inserted']"; - public static final String PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_NAME_COLUMN = "//td[contains(@class, " + + public static final String PARTICIPANT_DETAILS_HEADER_LOCATOR = "//h1[contains(text(), 'Participant Details' )]"; + public static final String PARTICIPANT_DETAILS_COLUMNS_LOCATOR = "div[class='col']"; + public static final String PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_HEADER_COLUMNS_LOCATOR = "th[role='columnheader']"; + public static final String PARTICIPANT_DETAILS_ATTRIBUTES_TABLE_LOCATOR = "table[class='mat-mdc-table mdc-data-table__table cdk-table mat-sort ng-star-inserted']"; + public static final String PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_NAME_COLUMN_LOCATOR = "//td[contains(@class, " + "'cdk-column-name')]"; - public static final String PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_CODE_COLUMN = "//td[contains(@class, " + + public static final String PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_CODE_COLUMN_LOCATOR = "//td[contains(@class, " + "'cdk-column-code')]"; - public static final String PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_LAST_UPDATE_DATE_COLUMN = "//td[contains" + + public static final String PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_LAST_UPDATE_DATE_COLUMN_LOCATOR = "//td[contains" + "(@class, 'cdk-column-updateTimestamp')]"; - public static final String PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_TABLE = "tbody[role='rowgroup']"; + public static final String PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_TABLE_LOCATOR = "tbody[role='rowgroup']"; public static final String FILTER_FORM_BUTTON_LOCATOR = "span.mdc-button__label"; - public static final String - FIRST_FILTER_DROP_DOWN_ARROW_LOCATOR = "#filterColumn > div > " + + public static final String FIRST_FILTER_DROP_DOWN_ARROW_LOCATOR = "#filterColumn > div > " + "div.mat-mdc-select-arrow-wrapper"; public static final String SECOND_FILTER_DROP_DOWN_ARROW_LOCATOR = "#filterStatusSelection > div > " + "div.mat-mdc-select-arrow-wrapper"; @@ -60,41 +59,47 @@ public class Authority { public static final String FILTER_TABLE = "tbody.mdc-data-table__content"; public static final String REQUEST_STATUS_COLUMN_FROM_REQUEST_LIST_TABLE_LOCATOR = "td.mat-mdc-cell.mdc-data-table__cell." + "cdk-cell.cdk-column-status.mat-column-status"; - public static final String REQUEST_EMAIL_COLUMN__FORM_REQUEST_LIST_TABLE_LOCATOR = "//td[contains(translate(@class, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', " + + public static final String REQUEST_EMAIL_COLUMN_FORM_REQUEST_LIST_TABLE_LOCATOR = "//td[contains(translate(@class, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', " + "'abcdefghijklmnopqrstuvwxyz'), 'email')]"; - public static final String REQUEST_LAST_CHANGE_DATE_COLUMN__FORM_REQUEST_LIST_TABLE_LOCATOR = "td.mat-mdc-cell.mdc-data-table__cell.cdk-cell" + + public static final String REQUEST_LAST_CHANGE_DATE_COLUMN_FORM_REQUEST_LIST_TABLE_LOCATOR = "td.mat-mdc-cell.mdc-data-table__cell.cdk-cell" + ".cdk-column-updateTimestamp.mat-column-updateTimestamp"; - public static final String REQUEST_DATE_COLUMN__FORM_REQUEST_LIST_TABLE_LOCATOR = "td.mat-mdc-cell.mdc-data-table__cell.cdk-cell" + + public static final String REQUEST_DATE_COLUMN_FORM_REQUEST_LIST_TABLE_LOCATOR = "td.mat-mdc-cell.mdc-data-table__cell.cdk-cell" + ".cdk-column-updateTimestamp.mat-column-creationTimestamp"; - public static final String PARTICIPANT_TYPE_COLUMN__FORM_REQUEST_LIST_TABLE_LOCATOR = "td.mat-mdc-cell.mdc-data-table__cell." + - "cdk-cell.cdk-column-participantType.mat-column-participantType"; - public static final String REQUEST_DATE_HEADER__FORM_REQUEST_LIST_LOCATOR = "//div[contains(text(), ' Request date ' )]"; - public static final String REQUEST_DATE_HEADER__FORM_LAST_CHANGE_DATE_LOCATOR = "//div[contains(text(), ' Last change date ' )]"; - public static final String REQUEST_DATA_HEADER__FORM_REQUEST_LIST_ARROW_LOCATOR = "//th[contains(@class,'mat-sort-header')]"; - public static final String REQUEST_DATA_HEADER__FORM_LAST_CHANGE_DATE_ARROW_LOCATOR = "//th[contains(@class,'mat-column-up')]"; + public static final String PARTICIPANT_TYPE_COLUMN_FROM_PARTICIPANT_LIST_TABLE_LOCATOR = "td.mat-mdc-cell.mdc-data-table__cell.cdk-cell." + + "cdk-column-participantType.mat-column-participantType"; + public static final String ONBOARDING_DATE_COLUMN_FROM_PARTICIPANT_LIST_TABLE_LOCATOR = " td.mat-mdc-cell.mdc-data-table__cell.cdk-cell." + + "cdk-column-updateTimestamp.mat-column-updateTimestamp"; + public static final String REQUEST_DATE_HEADER_FORM_REQUEST_LIST_LOCATOR = "//div[contains(text(), ' Request date ' )]"; + public static final String REQUEST_DATE_HEADER_FORM_LAST_CHANGE_DATE_LOCATOR = "//div[contains(text(), ' Last change date ' )]"; + public static final String REQUEST_DATA_HEADER_FORM_REQUEST_LIST_ARROW_LOCATOR = "//th[contains(@class,'mat-sort-header')]"; + public static final String REQUEST_DATA_HEADER_FORM_LAST_CHANGE_DATE_ARROW_LOCATOR = "//th[contains(@class,'mat-column-up')]"; + public static final String PARTICIPANT_lIST_HEADER_PARTICIPANT_TYPE_LOCATOR = "//div[contains(text(), ' Participant type')]"; + public static final String PARTICIPANT_lIST_HEADER_ONBOARDING_DATE_LOCATOR = "//div[contains(text(), ' Onboarding Date')]"; + public static final String PARTICIPANT_lIST_HEADER_PARTICIPANT_TYPE_ARROW_LOCATOR = "//th[contains(@class,' mat-column-participantType')]"; + public static final String PARTICIPANT_lIST_HEADER_ONBOARDING_DATE_ARROW_LOCATOR = "//th[contains(@class,'mat-column-up')]"; public static final String APPROVE_REQUEST_BUTTON_LOCATOR = ".col-lg-2.mx-2.mb-1.btn.btn-primary"; public static final String REJECT_REQUEST_BUTTON_LOCATOR = ".col-lg-2.mx-2.mb-1.btn.btn-secondary"; public static final String CONFIRM_DETAILS_DIALOG = ".mdc-dialog__container"; public static final String TITLE_DIALOG_LOCATOR = "//*[contains(@id,'mat-mdc-dialog-title')]"; public static final String MESSAGE_WITHIN_APPROVAL_DIALOGUE_LOCATOR = "p[class='ng-star-inserted']"; public static final String MESSAGE_WITHIN_REJECT_DIALOGUE_LOCATOR = "//app-confirm-dialog/div[1]/p"; - public static final String REJECT_REQUEST_TYPE_REASON_FIELD = "//app-confirm-dialog/div[1]/mat-form-field/div[1]/div/div[2]/textarea"; - public static final String CHOOSE_FILE_BUTTON = "input[type='file']"; - public static final String IDENTITY_ATTRIBUTE_NAME_FIELD = "input[name='name']"; - public static final String IDENTITY_ATTRIBUTE_CODE_FIELD = "input[name='code']"; - public static final String IDENTITY_ATTRIBUTE_ASSIGNABLE_TO_TIER_1_CHECKBOX = "//label[contains(text(), 'Assignable to Tier 1' )]/preceding-sibling::input"; - public static final String IDENTITY_ATTRIBUTE_EDITION_ENABLED_CHECKBOX = "//input[@id=\"input-enabled\"]"; - public static final String IDENTITY_ATTRIBUTE_CREATION_SAVE_BUTTON = "//span[text()=' Save']"; - public static final String IDENTITY_ATTRIBUTE_CREATION_CANCEL_BUTTON = "//span[text()=' Cancel']"; - public static final String IDENTITY_ATTRIBUTE_LIST_ASSIGNABLE_TO_ROLE_COLUMN = ".cdk-column-assignableToRoles [data-testid='text-element']"; - public static final String IDENTITY_ATTRIBUTE_LIST_IN_USE_COLUMN = ".cdk-column-used [data-testid='text-element']"; - public static final String EMPTY_LIST_MESSAGE = "div.p-5.text-center"; + public static final String REJECT_REQUEST_TYPE_REASON_FIELD_LOCATOR = "//app-confirm-dialog/div[1]/mat-form-field/div[1]/div/div[2]/textarea"; + public static final String CHOOSE_FILE_BUTTON_LOCATOR = "input[type='file']"; + public static final String IDENTITY_ATTRIBUTE_NAME_FIELD_LOCATOR = "input[name='name']"; + public static final String IDENTITY_ATTRIBUTE_CODE_FIELD_LOCATOR = "input[name='code']"; + public static final String IDENTITY_ATTRIBUTE_ASSIGNABLE_TO_TIER_1_CHECKBOX_LOCATOR = "//label[contains(text(), 'Assignable to Tier 1' )]/preceding-sibling::input"; + public static final String IDENTITY_ATTRIBUTE_EDITION_ENABLED_CHECKBOX_LOCATOR = "//input[@id=\"input-enabled\"]"; + public static final String IDENTITY_ATTRIBUTE_CREATION_SAVE_BUTTON_LOCATOR = "//span[text()=' Save']"; + public static final String IDENTITY_ATTRIBUTE_CREATION_CANCEL_BUTTON_LOCATOR = "//span[text()=' Cancel']"; + public static final String IDENTITY_ATTRIBUTE_LIST_ASSIGNABLE_TO_ROLE_COLUMN_LOCATOR = ".cdk-column-assignableToRoles [data-testid='text-element']"; + public static final String IDENTITY_ATTRIBUTE_LIST_IN_USE_COLUMN_LOCATOR = ".cdk-column-used [data-testid='text-element']"; + public static final String EMPTY_LIST_MESSAGE_LOCATOR = "div.p-5.text-center"; public static final String LIST_IDENTITY_ATTRIBUTE_ID_LOCATOR = "//td[@class='mat-mdc-cell mdc-data-table__cell cdk-cell cdk-column-id mat-column-id']"; public static final String IDENTITY_ATTRIBUTE_EDIT_BUTTON_LOCATOR = "//span[normalize-space()='Edit Attribute']"; - public static final String IDENTITY_ATTRIBUTE_DETAILS_COLUMNS = "div[class='col']"; + public static final String IDENTITY_ATTRIBUTE_DETAILS_COLUMNS_LOCATOR = "div[class='col']"; public static final String NEW_ATTRIBUTE_BUTTON_LOCATOR = "//span[normalize-space()='New Attribute']"; - public static final String ITEMS_PER_PAGE_DROPDOWN = "#mat-select-2 > div > div.mat-mdc-select-arrow-wrapper > div"; - public static final String ITEMS_PER_PAGE_TEXT_FIELD = ".mat-mdc-paginator-range-label"; + public static final String ITEMS_PER_PAGE_DROPDOWN_LOCATOR = "#mat-select-2 > div > div.mat-mdc-select-arrow-wrapper > div"; + public static final String ITEMS_PER_PAGE_TEXT_FIELD_LOCATOR = ".mat-mdc-paginator-range-label"; public static final String NEXT_PAGE_BUTTON_LOCATOR = "button[aria-label='Next page'] span[class='mat-mdc-button-touch-target']"; public static final String PREVIOUS_PAGE_BUTTON_LOCATOR = "button[aria-label='Previous page'] span[class='mat-mdc-button-touch-target']"; public static final String COLUMN_HEADING_LOCATOR = "thead th div.mat-sort-header-content"; diff --git a/src/main/java/framework/ui/pages/simplOpen/AuthorityPage.java b/src/main/java/framework/ui/pages/simplOpen/AuthorityPage.java index 6a142e609c2c930c04ad6f09383535f884061fa7..fa292e3e403fc12b5dd39c415955e35249ffd2d5 100644 --- a/src/main/java/framework/ui/pages/simplOpen/AuthorityPage.java +++ b/src/main/java/framework/ui/pages/simplOpen/AuthorityPage.java @@ -80,7 +80,7 @@ public class AuthorityPage { */ public void verifyInRequestTableListDisplayTheFiltersValueSelected(String valueType, String expectedValue, Locator locatorValue) { itemsPerPageSelectionInTableDropdown(100); - assertElementIsVisibleByLocator(page.locator(REQUEST_LIST_TABLE_CONTENT_PANEL)); + assertElementIsVisibleByLocator(page.locator(REQUEST_LIST_TABLE_CONTENT_PANEL_LOCATOR)); String formattedExpectedValue = valueType.equalsIgnoreCase("status") ? expectedValue.toUpperCase() @@ -142,10 +142,10 @@ public class AuthorityPage { * @param assignable whether the identity attribute will be assigned to Tier 1. */ public void fillIdentityAttributeForm(String name, String code, boolean assignable) { - page.locator(IDENTITY_ATTRIBUTE_NAME_FIELD).fill(name); - page.locator(IDENTITY_ATTRIBUTE_CODE_FIELD).fill(code); + page.locator(IDENTITY_ATTRIBUTE_NAME_FIELD_LOCATOR).fill(name); + page.locator(IDENTITY_ATTRIBUTE_CODE_FIELD_LOCATOR).fill(code); - Locator assignableCheckbox = UiSetup.page.locator(IDENTITY_ATTRIBUTE_ASSIGNABLE_TO_TIER_1_CHECKBOX); + Locator assignableCheckbox = UiSetup.page.locator(IDENTITY_ATTRIBUTE_ASSIGNABLE_TO_TIER_1_CHECKBOX_LOCATOR); if (assignableCheckbox.isChecked() != assignable) { assignableCheckbox.click(); @@ -199,12 +199,20 @@ public class AuthorityPage { public void sortsTheValuesOfAColumnTable(String sortDirection, String columnToSort) { switch (columnToSort) { case "Request Date": - selectAscendOrDescend(sortDirection, page.locator(REQUEST_DATE_HEADER__FORM_REQUEST_LIST_LOCATOR), - page.locator(REQUEST_DATA_HEADER__FORM_REQUEST_LIST_ARROW_LOCATOR).first()); + selectAscendOrDescend(sortDirection, page.locator(REQUEST_DATE_HEADER_FORM_REQUEST_LIST_LOCATOR), + page.locator(REQUEST_DATA_HEADER_FORM_REQUEST_LIST_ARROW_LOCATOR).first()); break; case "Last change date": - selectAscendOrDescend(sortDirection, page.locator(REQUEST_DATE_HEADER__FORM_LAST_CHANGE_DATE_LOCATOR), - page.locator(REQUEST_DATA_HEADER__FORM_LAST_CHANGE_DATE_ARROW_LOCATOR)); + selectAscendOrDescend(sortDirection, page.locator(REQUEST_DATE_HEADER_FORM_LAST_CHANGE_DATE_LOCATOR), + page.locator(REQUEST_DATA_HEADER_FORM_LAST_CHANGE_DATE_ARROW_LOCATOR)); + break; + case "Participant Type": + selectAscendOrDescend(sortDirection, page.locator(PARTICIPANT_lIST_HEADER_PARTICIPANT_TYPE_LOCATOR), + page.locator(PARTICIPANT_lIST_HEADER_PARTICIPANT_TYPE_ARROW_LOCATOR)); + break; + case "Onboarding Date": + selectAscendOrDescend(sortDirection, page.locator(PARTICIPANT_lIST_HEADER_ONBOARDING_DATE_LOCATOR), + page.locator(PARTICIPANT_lIST_HEADER_ONBOARDING_DATE_ARROW_LOCATOR)); break; default: throw new IllegalArgumentException("Unknown column to be sorted: ".concat(columnToSort)); @@ -237,8 +245,8 @@ public class AuthorityPage { * This method verifies the elements belonging to the pagination are visible. */ public void verifyThePaginationElementsAreVisible() { - assertElementIsVisibleByLocator(page.locator(ITEMS_PER_PAGE_DROPDOWN)); - assertElementIsVisibleByLocator(page.locator(ITEMS_PER_PAGE_TEXT_FIELD)); + assertElementIsVisibleByLocator(page.locator(ITEMS_PER_PAGE_DROPDOWN_LOCATOR)); + assertElementIsVisibleByLocator(page.locator(ITEMS_PER_PAGE_TEXT_FIELD_LOCATOR)); assertElementIsVisibleByLocator(page.locator(NEXT_PAGE_BUTTON_LOCATOR)); assertElementIsVisibleByLocator(page.locator(PREVIOUS_PAGE_BUTTON_LOCATOR)); } @@ -248,14 +256,14 @@ public class AuthorityPage { * @param numberValueByPage */ public void itemsPerPageSelectionInTableDropdown(Integer numberValueByPage) { - Locator numberOfResultsLocator = page.locator(ITEMS_PER_PAGE_DROPDOWN); + Locator numberOfResultsLocator = page.locator(ITEMS_PER_PAGE_DROPDOWN_LOCATOR); assertElementIsVisibleByLocator(numberOfResultsLocator); numberOfResultsLocator.click(); - int countElements = page.locator(PARTICIPANT_TYPE_OPTIONS).count(); + int countElements = page.locator(PARTICIPANT_TYPE_OPTIONS_LOCATOR).count(); for (int i = 0; i < countElements; i++) { - String valueElement = page.locator(PARTICIPANT_TYPE_OPTIONS).nth(i).innerText(); + String valueElement = page.locator(PARTICIPANT_TYPE_OPTIONS_LOCATOR).nth(i).innerText(); if (valueElement.equals(numberValueByPage.toString())) { - page.locator(PARTICIPANT_TYPE_OPTIONS).nth(i).click(); + page.locator(PARTICIPANT_TYPE_OPTIONS_LOCATOR).nth(i).click(); break; } } @@ -318,10 +326,16 @@ public class AuthorityPage { public void verifyTheDatesValuesOfTheColumnWereSorted(String columnToSort) { switch (columnToSort) { case "Last change date": - compareTwoListsAreEquals(page.locator(REQUEST_LAST_CHANGE_DATE_COLUMN__FORM_REQUEST_LIST_TABLE_LOCATOR)); + compareTwoListsAreEquals(page.locator(REQUEST_LAST_CHANGE_DATE_COLUMN_FORM_REQUEST_LIST_TABLE_LOCATOR)); break; case "Request Date": - compareTwoListsAreEquals(page.locator(REQUEST_DATE_COLUMN__FORM_REQUEST_LIST_TABLE_LOCATOR)); + compareTwoListsAreEquals(page.locator(REQUEST_DATE_COLUMN_FORM_REQUEST_LIST_TABLE_LOCATOR)); + break; + case "Participant Type": + compareTwoListsAreEquals(page.locator(PARTICIPANT_TYPE_COLUMN_FROM_PARTICIPANT_LIST_TABLE_LOCATOR)); + break; + case "Onboarding Date": + compareTwoListsAreEquals(page.locator(ONBOARDING_DATE_COLUMN_FROM_PARTICIPANT_LIST_TABLE_LOCATOR)); break; default: throw new IllegalArgumentException("Unknown column to verify: ".concat(columnToSort)); @@ -360,8 +374,8 @@ public class AuthorityPage { assertElementIsVisibleByLocator(buttonLocator); String columnLocator = switch (listToReview) { - case "request list" -> REQUEST_EMAIL_COLUMN__FORM_REQUEST_LIST_TABLE_LOCATOR; - case "participant list" -> PARTICIPANT_LIST_PARTICIPANT_NAME_COLUMN; + case "request list" -> REQUEST_EMAIL_COLUMN_FORM_REQUEST_LIST_TABLE_LOCATOR; + case "participant list" -> PARTICIPANT_LIST_PARTICIPANT_NAME_COLUMN_LOCATOR; default -> throw new IllegalArgumentException("Invalid list provided value: " + listToReview); }; page.waitForSelector(columnLocator); @@ -413,7 +427,7 @@ public class AuthorityPage { } private void processRejection() throws InterruptedException { - Locator reasonField = page.locator(REJECT_REQUEST_TYPE_REASON_FIELD); + Locator reasonField = page.locator(REJECT_REQUEST_TYPE_REASON_FIELD_LOCATOR); assertElementIsVisibleByLocator(reasonField); reasonField.fill("Automation reject test"); diff --git a/src/test/java/features/ui/simplOpen/Authority.feature b/src/test/java/features/ui/simplOpen/Authority.feature index e8ed9b821a1df90bf776dbcd771139c3118fbd5d..72175680ac6e17aa610620076a79a83fdb5ff38f 100644 --- a/src/test/java/features/ui/simplOpen/Authority.feature +++ b/src/test/java/features/ui/simplOpen/Authority.feature @@ -433,4 +433,18 @@ Feature: Authority Examples: | columnName | | Assignable to Role | - | In use | \ No newline at end of file + | In use | + + @TCA29 @SIMPL-3106, @SIMPL-3107, @SIMPL-3108, @SIMPL-3109 + Scenario Outline: User sorts Participant List requests by <columnToSort> in <sortDirection> order + Given the user navigates to the "Participant Management" page + And the user logs in with a user with "IATTR_M" role + When the user sorts by "<sortDirection>" "<columnToSort>" + Then the Participant List requests is sorted successfully by "<columnToSort>" + + Examples: + | sortDirection | columnToSort | + | ascending | Participant Type | + | descending | Participant Type | + | ascending | Onboarding Date | + | descending | Onboarding Date | \ No newline at end of file diff --git a/src/test/java/stepDefinitions/ui/simplOpen/AuthoritySteps.java b/src/test/java/stepDefinitions/ui/simplOpen/AuthoritySteps.java index baa8b0a79cc8793e0874f45e0a977e0779c0e8ba..cac8b254d91a434c89c45d1b2cd59f6649dfd420 100644 --- a/src/test/java/stepDefinitions/ui/simplOpen/AuthoritySteps.java +++ b/src/test/java/stepDefinitions/ui/simplOpen/AuthoritySteps.java @@ -40,7 +40,7 @@ public class AuthoritySteps { @Given("the user clicks the register for this dataspace button") public void the_user_clicks_the_register_for_this_dataspace_button() { - page.locator(ONBOARDING_INFO_REGISTER_BUTTON).click(); + page.locator(ONBOARDING_INFO_REGISTER_BUTTON_LOCATOR).click(); } @Given("the applicant request user already created the request as {string}") @@ -78,18 +78,18 @@ public class AuthoritySteps { String randomNumber = UUID.randomUUID().toString().replace("-", "").substring(0, 5); String email = randomNumber + "@gmail.com"; NEW_USER_EMAIL = email; - page.locator(EMAIL_ADDRESS).fill(email); + page.locator(EMAIL_ADDRESS_LOCATOR).fill(email); } @Given("the user selects an {string} address") public void the_user_selects_the_email_address(String email) { - page.locator(EMAIL_ADDRESS).fill(email); + page.locator(EMAIL_ADDRESS_LOCATOR).fill(email); } @Given("^the user verifies the create credentials button is (enabled|disabled)$") public void the_user_verifies_the_create_credential_button_is(String state) { boolean shouldBeEnabled = state.equalsIgnoreCase("enabled"); - boolean isEnabled = page.locator(CREATE_CREDENTIALS_BUTTON).isEnabled(); + boolean isEnabled = page.locator(CREATE_CREDENTIALS_BUTTON_LOCATOR).isEnabled(); assertEquals(String.format("Expected 'Create Credentials' button to be %s, but it was %s.", state, isEnabled ? "enabled" : "disabled"), shouldBeEnabled, isEnabled); } @@ -108,13 +108,13 @@ public class AuthoritySteps { @When("the user selects a {string} participant type") public void the_user_selects_a_participant_type(String participantType) { int index = Arrays.asList(PARTICIPANT_TYPES).indexOf(participantType); - page.locator(PARTICIPANT_TYPE_DROPDOMN_MENU).click(); - page.locator(PARTICIPANT_TYPE_OPTIONS).nth(index).click(); + page.locator(PARTICIPANT_TYPE_DROPDOMN_MENU_LOCATOR).click(); + page.locator(PARTICIPANT_TYPE_OPTIONS_LOCATOR).nth(index).click(); } @When("the user clicks the create credential button") public void the_user_clicks_the_create_credential_button() { - page.locator(CREATE_CREDENTIALS_BUTTON).click(); + page.locator(CREATE_CREDENTIALS_BUTTON_LOCATOR).click(); } @When("the user inserts the organisation") @@ -165,7 +165,7 @@ public class AuthoritySteps { } try { Path fullPath = Paths.get(resource.toURI()); - page.setInputFiles(CHOOSE_FILE_BUTTON, fullPath); + page.setInputFiles(CHOOSE_FILE_BUTTON_LOCATOR, fullPath); } catch (URISyntaxException e) { throw new RuntimeException("Invalid URI syntax for file: " + filePath, e); } @@ -191,7 +191,7 @@ public class AuthoritySteps { Utils.LogInDetails userAndPassword = Utils.getUserNameAndPassword(userKey); commonSteps.keycloakLogin(userAndPassword); - assertElementIsVisibleByLocator(page.locator(ONBOARDING_STATUS_PANEL)); + assertElementIsVisibleByLocator(page.locator(ONBOARDING_STATUS_PANEL_LOCATOR)); } @When("the user filters by {string} with value {string}") @@ -202,31 +202,31 @@ public class AuthoritySteps { switch (filter) { case "Participant Name", "Name" -> { page.getByText(PARTICIPANT_PAGE_FILTER_SELECT_COLUMN).click(); - dropdownOptions = page.locator(PARTICIPANT_LIST_FILTER_DROPDOWN_OPTIONS).all(); + dropdownOptions = page.locator(PARTICIPANT_LIST_FILTER_DROPDOWN_OPTIONS_LOCATOR).all(); dropdownOptions.get(0).click(); - page.locator(PARTICIPANT_LIST_FILTER_INPUT).fill(value); + page.locator(PARTICIPANT_LIST_FILTER_INPUT_LOCATOR).fill(value); } case "Participant Type" -> { page.getByText(PARTICIPANT_PAGE_FILTER_SELECT_COLUMN).click(); - dropdownOptions = page.locator(PARTICIPANT_LIST_FILTER_DROPDOWN_OPTIONS).all(); + dropdownOptions = page.locator(PARTICIPANT_LIST_FILTER_DROPDOWN_OPTIONS_LOCATOR).all(); dropdownOptions.get(1).click(); - authorityPage.verifyUserSelectOptionFromSecondFilter(value, page.locator(PARTICIPANT_TYPE_OPTIONS), "Participant list"); + authorityPage.verifyUserSelectOptionFromSecondFilter(value, page.locator(PARTICIPANT_TYPE_OPTIONS_LOCATOR), "Participant list"); } case "Code" -> { page.getByText(PARTICIPANT_PAGE_FILTER_SELECT_COLUMN).click(); - dropdownOptions = page.locator(PARTICIPANT_LIST_FILTER_DROPDOWN_OPTIONS).all(); + dropdownOptions = page.locator(PARTICIPANT_LIST_FILTER_DROPDOWN_OPTIONS_LOCATOR).all(); dropdownOptions.get(1).click(); - page.locator(PARTICIPANT_LIST_FILTER_INPUT).fill(value); + page.locator(PARTICIPANT_LIST_FILTER_INPUT_LOCATOR).fill(value); } case "Email" -> { page.getByText(PARTICIPANT_PAGE_FILTER_SELECT_COLUMN).click(); - dropdownOptions = page.locator(PARTICIPANT_LIST_FILTER_DROPDOWN_OPTIONS).all(); + dropdownOptions = page.locator(PARTICIPANT_LIST_FILTER_DROPDOWN_OPTIONS_LOCATOR).all(); dropdownOptions.get(2).click(); - page.locator(PARTICIPANT_LIST_FILTER_INPUT).fill(value); + page.locator(PARTICIPANT_LIST_FILTER_INPUT_LOCATOR).fill(value); } case "Last Update Date" -> { page.getByText(PARTICIPANT_PAGE_FILTER_SELECT_COLUMN).click(); - dropdownOptions = page.locator(PARTICIPANT_LIST_FILTER_DROPDOWN_OPTIONS).all(); + dropdownOptions = page.locator(PARTICIPANT_LIST_FILTER_DROPDOWN_OPTIONS_LOCATOR).all(); dropdownOptions.get(2).click(); String[] range = value.split("-"); LocalDate startDate = LocalDate.parse(range[0].strip(), DATE_CUCUMBER_INPUT); @@ -234,12 +234,12 @@ public class AuthoritySteps { CalendarWidget.selectDateRange(page, startDate, endDate); } case "status" -> { - authorityPage.verifyUserSelectOptionFromFirstFilter(filter, page.locator(PARTICIPANT_TYPE_OPTIONS)); - authorityPage.verifyUserSelectOptionFromSecondFilter(value, page.locator(PARTICIPANT_TYPE_OPTIONS), "Request list"); + authorityPage.verifyUserSelectOptionFromFirstFilter(filter, page.locator(PARTICIPANT_TYPE_OPTIONS_LOCATOR)); + authorityPage.verifyUserSelectOptionFromSecondFilter(value, page.locator(PARTICIPANT_TYPE_OPTIONS_LOCATOR), "Request list"); } case "email" -> { - authorityPage.verifyUserSelectOptionFromFirstFilter(filter, page.locator(PARTICIPANT_TYPE_OPTIONS)); - page.locator(PARTICIPANT_LIST_FILTER_INPUT).fill(value); + authorityPage.verifyUserSelectOptionFromFirstFilter(filter, page.locator(PARTICIPANT_TYPE_OPTIONS_LOCATOR)); + page.locator(PARTICIPANT_LIST_FILTER_INPUT_LOCATOR).fill(value); } default -> throw new IllegalArgumentException("Unknown filter: " + filter); } @@ -250,8 +250,8 @@ public class AuthoritySteps { public void theUserFiltersByEmailWithCreatedUser() { assertElementIsVisibleByLocator(page.getByText(PARTICIPANT_PAGE_FILTER_BUTTON)); page.getByText(PARTICIPANT_PAGE_FILTER_BUTTON).click(); - authorityPage.verifyUserSelectOptionFromFirstFilter("email", page.locator(PARTICIPANT_TYPE_OPTIONS)); - page.locator(PARTICIPANT_LIST_FILTER_INPUT).fill(NEW_USER_EMAIL); + authorityPage.verifyUserSelectOptionFromFirstFilter("email", page.locator(PARTICIPANT_TYPE_OPTIONS_LOCATOR)); + page.locator(PARTICIPANT_LIST_FILTER_INPUT_LOCATOR).fill(NEW_USER_EMAIL); page.getByText(PARTICIPANT_PAGE_APPLY_FILTER_BUTTON).click(); } @@ -278,8 +278,8 @@ public class AuthoritySteps { @When("^the user (submits|cancels) the form$") public void theUserHandlesTheForm(String action) { String locator = action.equals("submits") - ? IDENTITY_ATTRIBUTE_CREATION_SAVE_BUTTON - : IDENTITY_ATTRIBUTE_CREATION_CANCEL_BUTTON; + ? IDENTITY_ATTRIBUTE_CREATION_SAVE_BUTTON_LOCATOR + : IDENTITY_ATTRIBUTE_CREATION_CANCEL_BUTTON_LOCATOR; clickButtonByLocator(locator); } @@ -321,7 +321,7 @@ public class AuthoritySteps { clickButtonByLocator(IDENTITY_ATTRIBUTE_EDIT_BUTTON_LOCATOR); authorityPage.fillIdentityAttributeForm(identityAttribute.getName(), identityAttribute.getCode(), identityAttribute.getAssignableToTier1()); - clickButtonByLocator(IDENTITY_ATTRIBUTE_CREATION_SAVE_BUTTON); + clickButtonByLocator(IDENTITY_ATTRIBUTE_CREATION_SAVE_BUTTON_LOCATOR); Locator updateAlert = page.getByRole(AriaRole.ALERT); assertElementIsVisibleByLocator(updateAlert); assertThat(updateAlert).hasText(SUCCESSFUL_IDENTITY_ATTRIBUTE_EDITION_ALERT_MESSAGE); @@ -343,7 +343,7 @@ public class AuthoritySteps { public void the_list_of_onboarded_participants_for_the_data_space_is_displayed() { assertElementIsVisibleByLocator(page.getByText(PARTICIPANT_PAGE_PARTICIPANT_LIST_HEADER)); assertElementIsVisibleByLocator(page.getByText(PARTICIPANT_PAGE_FILTER_BUTTON)); - assertElementIsVisibleByLocator(page.locator(PARTICIPANT_LIST_TABLE)); + assertElementIsVisibleByLocator(page.locator(PARTICIPANT_LIST_TABLE_LOCATOR)); assertElementIsVisibleByLocator(page.getByText(PARTICIPANT_PAGE_PARTICIPANT_NAME_COLUMN)); assertElementIsVisibleByLocator(page.getByText(PARTICIPANT_PAGE_PARTICIPANT_TYPE_COLUMN)); assertElementIsVisibleByLocator(page.getByText(PARTICIPANT_PAGE_ONBOARDING_DATE_COLUMN)); @@ -352,7 +352,7 @@ public class AuthoritySteps { @Then("^the application status summary page (shows|does not show) the status request is \"(.*)\" with a \"(.*)\" icon$") public void status_summary_page_shows_the_status(String isDiplayed, String status, String icon) { - assertElementIsVisibleByLocator(page.locator(ONBOARDING_REQUESTS_PANEL)); + assertElementIsVisibleByLocator(page.locator(ONBOARDING_REQUESTS_PANEL_LOCATOR)); switch (status) { case "Request submitted": if (!page.locator(GREEN_ICON_LOCATOR).first().isVisible()) { @@ -380,7 +380,7 @@ public class AuthoritySteps { @Then("the user clicks on the Submit Application Request button") public void the_user_clicks_SubmitApplicationRequestButton() { Utils.clickButtonByAriaText("Submit application request"); - assertElementIsVisibleByLocator(page.locator(SUBMIT_APPLICATION_POPUP)); + assertElementIsVisibleByLocator(page.locator(SUBMIT_APPLICATION_POPUP_LOCATOR)); } @Then("the user clicks on the Submit button") @@ -397,8 +397,8 @@ public class AuthoritySteps { public void the_user_can_see_the_request_status_details_dialog() { assertThat(page.locator(SEE_REQUEST_DETAILS_BUTTON_LOCATOR)).isEnabled(); page.locator(SEE_REQUEST_DETAILS_BUTTON_LOCATOR).click(); - assertElementIsVisibleByLocator(page.locator(REQUEST_STATUS_DETAILS_DIALOG)); - page.locator(REQUEST_STATUS_DETAILS_DIALOG).click(); + assertElementIsVisibleByLocator(page.locator(REQUEST_STATUS_DETAILS_DIALOG_LOCATOR)); + page.locator(REQUEST_STATUS_DETAILS_DIALOG_LOCATOR).click(); } @Then("the applicant dataspace participant clicks on the \"Download your Credentials\" button") @@ -422,7 +422,7 @@ public class AuthoritySteps { authorityPage.verifyInRequestTableListDisplayTheFiltersValueSelected(filter, value, page.locator(REQUEST_STATUS_COLUMN_FROM_REQUEST_LIST_TABLE_LOCATOR)); break; case "email": - authorityPage.verifyInRequestTableListDisplayTheFiltersValueSelected(filter, value, page.locator(REQUEST_EMAIL_COLUMN__FORM_REQUEST_LIST_TABLE_LOCATOR)); + authorityPage.verifyInRequestTableListDisplayTheFiltersValueSelected(filter, value, page.locator(REQUEST_EMAIL_COLUMN_FORM_REQUEST_LIST_TABLE_LOCATOR)); break; default: throw new IllegalArgumentException("Unknown filter: ".concat(filter)); @@ -436,7 +436,7 @@ public class AuthoritySteps { @Then("the Participant Details page is displayed") public void theParticipantDetailsPageIsDisplayed() { - assertElementIsVisibleByLocator(page.locator(PARTICIPANT_DETAILS_HEADER)); + assertElementIsVisibleByLocator(page.locator(PARTICIPANT_DETAILS_HEADER_LOCATOR)); } @Then("the Participant List page is displayed") @@ -463,16 +463,16 @@ public class AuthoritySteps { } List<String> expectedValues = new ArrayList<>(details.values()); - List<String> realValues = page.locator(PARTICIPANT_DETAILS_COLUMNS).allTextContents(); + List<String> realValues = page.locator(PARTICIPANT_DETAILS_COLUMNS_LOCATOR).allTextContents(); realValues.replaceAll(String::strip); assertEqualCollections(expectedValues, realValues); } @Then("the list of Identity Attributes for the participant is displayed") public void theListOfIdentityAttributesForTheParticipantIsDisplayed() { - assertElementIsVisibleByLocator(page.locator(PARTICIPANT_DETAILS_ATTRIBUTES_TABLE)); + assertElementIsVisibleByLocator(page.locator(PARTICIPANT_DETAILS_ATTRIBUTES_TABLE_LOCATOR)); List<String> tableHeaders = - page.locator(PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_HEADER_COLUMNS).allTextContents(); + page.locator(PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_HEADER_COLUMNS_LOCATOR).allTextContents(); List<String> expectedHeaders = List.of(PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_TABLE_NAME_COLUMN, PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_TABLE_CODE_COLUMN, PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_TABLE_ASSIGNABLE_COLUMN, @@ -486,10 +486,10 @@ public class AuthoritySteps { @Then("the identity attributes shown have {string} matching {string}") public void theIdentityAttributesShownHaveFilterMatchingValue(String filter, String value) { - assertElementIsVisibleByLocator(page.locator(PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_TABLE)); + assertElementIsVisibleByLocator(page.locator(PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_TABLE_LOCATOR)); switch (filter) { case "Name": - Locator nameResults = page.locator(PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_NAME_COLUMN); + Locator nameResults = page.locator(PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_NAME_COLUMN_LOCATOR); if (nameResults.first().isVisible()) { nameResults.all().forEach(row -> assertThat(row).containsText(value)); } else { @@ -497,7 +497,7 @@ public class AuthoritySteps { } break; case "Code": - Locator codeResults = page.locator(PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_CODE_COLUMN); + Locator codeResults = page.locator(PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_CODE_COLUMN_LOCATOR); if (codeResults.first().isVisible()) { codeResults.all().forEach(row -> assertThat(row).containsText(value)); } else { @@ -506,7 +506,7 @@ public class AuthoritySteps { break; case "Last Update Date": Locator lastUpdateDateResults = - page.locator(PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_LAST_UPDATE_DATE_COLUMN); + page.locator(PARTICIPANT_DETAILS_IDENTITY_ATTRIBUTES_LAST_UPDATE_DATE_COLUMN_LOCATOR); if (lastUpdateDateResults.first().isVisible()) { List<String> actualDates = lastUpdateDateResults.allTextContents(); String[] range = value.split("-"); @@ -530,7 +530,7 @@ public class AuthoritySteps { assertElementIsVisibleByLocator(page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Cancel"))); switch (action) { case "Reject Request" -> { - assertElementIsVisibleByLocator(page.locator(REJECT_REQUEST_TYPE_REASON_FIELD)); + assertElementIsVisibleByLocator(page.locator(REJECT_REQUEST_TYPE_REASON_FIELD_LOCATOR)); assertElementIsVisibleByLocator(page.locator(MESSAGE_WITHIN_REJECT_DIALOGUE_LOCATOR)); } case "Confirm Approval" -> @@ -548,8 +548,8 @@ public class AuthoritySteps { @Then("the onboarding requests list shows a message {string}") public void the_request_list_shows_a_message(String messageValue) { - assertElementIsVisibleByLocator(page.locator(EMPTY_LIST_MESSAGE)); - String msgValueShown = (page.locator(EMPTY_LIST_MESSAGE)).innerText(); + assertElementIsVisibleByLocator(page.locator(EMPTY_LIST_MESSAGE_LOCATOR)); + String msgValueShown = (page.locator(EMPTY_LIST_MESSAGE_LOCATOR)).innerText(); if (!messageValue.contains(msgValueShown.trim())) { throw new RuntimeException("the message did not match"); } @@ -567,7 +567,7 @@ public class AuthoritySteps { @Then("the onboarding requests list shows the request with \"status\" {string} and \"email\" {string}") public void the_request_list_shows_result(String filterValue1, String filterValue2) { authorityPage.verifyInRequestTableListDisplayTheFiltersValueSelected("status", filterValue1, page.locator(REQUEST_STATUS_COLUMN_FROM_REQUEST_LIST_TABLE_LOCATOR)); - authorityPage.verifyInRequestTableListDisplayTheFiltersValueSelected("email", filterValue2, page.locator(REQUEST_EMAIL_COLUMN__FORM_REQUEST_LIST_TABLE_LOCATOR)); + authorityPage.verifyInRequestTableListDisplayTheFiltersValueSelected("email", filterValue2, page.locator(REQUEST_EMAIL_COLUMN_FORM_REQUEST_LIST_TABLE_LOCATOR)); } @Then("the Identity Attributes Details page is displayed") @@ -608,7 +608,7 @@ public class AuthoritySteps { identityAttribute.setAssignableToTier1(Boolean.parseBoolean(details.get("Assignable to Tier 1"))); } - Locator identityAttributeDetailsColumns = page.locator(IDENTITY_ATTRIBUTE_DETAILS_COLUMNS); + Locator identityAttributeDetailsColumns = page.locator(IDENTITY_ATTRIBUTE_DETAILS_COLUMNS_LOCATOR); assertElementIsVisibleByLocator(identityAttributeDetailsColumns.first()); List<String> expectedValues = new ArrayList<>(details.values()); List<String> realValues = identityAttributeDetailsColumns.allTextContents(); @@ -632,16 +632,16 @@ public class AuthoritySteps { @Then("the user is redirected to the Onboarding Request Form page") public void theUserIsRedirectedToTheOnboardingRequestFormPage() { - assertElementIsVisibleByLocator(page.locator(ONBOARDING_FORM)); + assertElementIsVisibleByLocator(page.locator(ONBOARDING_FORM_LOCATOR)); } @Then("the user is redirected to the {string} page") public void theUserIsRedirectedToThePage(String pageName) { if ("Identity Attribute Edition".equals(pageName)) { - assertThat(page.locator(IDENTITY_ATTRIBUTE_NAME_FIELD)).isEnabled(); - assertThat(page.locator(IDENTITY_ATTRIBUTE_CODE_FIELD)).isEnabled(); - assertThat(page.locator(IDENTITY_ATTRIBUTE_ASSIGNABLE_TO_TIER_1_CHECKBOX)).isEnabled(); - assertThat(page.locator(IDENTITY_ATTRIBUTE_EDITION_ENABLED_CHECKBOX)).isEnabled(); + assertThat(page.locator(IDENTITY_ATTRIBUTE_NAME_FIELD_LOCATOR)).isEnabled(); + assertThat(page.locator(IDENTITY_ATTRIBUTE_CODE_FIELD_LOCATOR)).isEnabled(); + assertThat(page.locator(IDENTITY_ATTRIBUTE_ASSIGNABLE_TO_TIER_1_CHECKBOX_LOCATOR)).isEnabled(); + assertThat(page.locator(IDENTITY_ATTRIBUTE_EDITION_ENABLED_CHECKBOX_LOCATOR)).isEnabled(); } else { throw new IllegalArgumentException("Unknown page: " + pageName); } @@ -656,7 +656,7 @@ public class AuthoritySteps { @Then("the successful message is displayed") public void the_successful_message_is_displayed() { - assertElementIsVisibleByLocator(page.locator(SUCCESSFUL_MESSAGE)); + assertElementIsVisibleByLocator(page.locator(SUCCESSFUL_MESSAGE_LOCATOR)); } @Then("the error message is displayed") public void the_error_message_is_displayed() { @@ -665,7 +665,7 @@ public class AuthoritySteps { @Then("the user can see the submission form button") public void the_user_can_see_submission_form_button() { - assertElementIsVisibleByLocator(page.locator(SUBMISSION_FORM_BUTTON)); + assertElementIsVisibleByLocator(page.locator(SUBMISSION_FORM_BUTTON_LOCATOR)); } @Then("the user can see the access credentials") @@ -682,7 +682,7 @@ public class AuthoritySteps { @Then("the system displays {string} as the selected option") public void theSystemDisplaysConsumerAsTheSelectedOption(String participantType) { - assertThat(page.locator(PARTICIPANT_TYPE_SELECTED)).hasText(participantType); + assertThat(page.locator(PARTICIPANT_TYPE_SELECTED_LOCATOR)).hasText(participantType); } @@ -691,7 +691,7 @@ public class AuthoritySteps { Utils.checkInputFieldHasText(page, ORGANISATION_INPUT_LOCATOR, participantType); } - @Then("the onboarding request list is sorted successfully by {string}") + @Then("the Participant List requests is sorted successfully by {string}") public void verify_the_dates_values_of_the_column_were_sorted(String columnToSort) { authorityPage.verifyTheDatesValuesOfTheColumnWereSorted(columnToSort); } @@ -744,8 +744,8 @@ public class AuthoritySteps { @Then("the list displays a boolean value for each Identity Attribute in the {string} column") public void theUsersDisplaysBooleanForEachIdentityAttributeInColumn(String columnName) { Locator columnLocator = switch (columnName) { - case "Assignable to Role" -> page.locator(IDENTITY_ATTRIBUTE_LIST_ASSIGNABLE_TO_ROLE_COLUMN); - case "In use" -> page.locator(IDENTITY_ATTRIBUTE_LIST_IN_USE_COLUMN); + case "Assignable to Role" -> page.locator(IDENTITY_ATTRIBUTE_LIST_ASSIGNABLE_TO_ROLE_COLUMN_LOCATOR); + case "In use" -> page.locator(IDENTITY_ATTRIBUTE_LIST_IN_USE_COLUMN_LOCATOR); default -> throw new IllegalArgumentException("Unknown column: " + columnName); }; diff --git a/src/test/java/stepDefinitions/ui/simplOpen/CommonSteps.java b/src/test/java/stepDefinitions/ui/simplOpen/CommonSteps.java index edc4f02a42278db9808be63f50dddd25c39a3d49..f9beddd3ca8d9381b2d4e8919a94371a6b5426e8 100644 --- a/src/test/java/stepDefinitions/ui/simplOpen/CommonSteps.java +++ b/src/test/java/stepDefinitions/ui/simplOpen/CommonSteps.java @@ -54,7 +54,7 @@ public class CommonSteps { public void theUserClicksOnTheFirstResult(String listName) { switch (listName) { case "Participant List": - page.locator(PARTICIPANT_TYPE_COLUMN__FORM_REQUEST_LIST_TABLE_LOCATOR).first().click(); + page.locator(PARTICIPANT_TYPE_COLUMN_FROM_PARTICIPANT_LIST_TABLE_LOCATOR).first().click(); break; case "Request List": page.locator(REQUEST_STATUS_COLUMN_FROM_REQUEST_LIST_TABLE_LOCATOR).first().click(); @@ -73,9 +73,9 @@ public class CommonSteps { } public void keycloakLogin(Utils.LogInDetails userAndPassword) { - page.locator(KEYCLOAK_USERNAME_INPUT).fill(userAndPassword.getUsername()); - page.locator(KEYCLOAK_PASSWORD_INPUT).fill(userAndPassword.getPassword()); - Locator signInButton = page.locator(KEYCLOAK_SIGN_IN_BUTTON); + page.locator(KEYCLOAK_USERNAME_INPUT_LOCATOR).fill(userAndPassword.getUsername()); + page.locator(KEYCLOAK_PASSWORD_INPUT_LOCATOR).fill(userAndPassword.getPassword()); + Locator signInButton = page.locator(KEYCLOAK_SIGN_IN_BUTTON_LOCATOR); if (signInButton.isEnabled()) { signInButton.click(); } else {