Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 8341696f authored by Jaime Pérez-Lozana's avatar Jaime Pérez-Lozana
Browse files

Merge branch 'SOUI-SIMPL-3464' into 'develop'

SOUI-SIMPL-3464-3470-3495-4291

See merge request simpl/pso/pso-test/pso-test-automation!151
parents d2d19beb d2c60e1f
No related branches found
No related tags found
No related merge requests found
Pipeline #269629 passed with warnings
......@@ -96,6 +96,14 @@ public class Authority {
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 IDENTITY_ATTRIBUTE_LIST_IDENTIFIER_HEADER_LOCATOR = "//div[contains(text(),'Identifier')]";
public static final String IDENTITY_ATTRIBUTE_LIST_CODE_HEADER_LOCATOR = "//div[contains(text(),'Code')]";
public static final String IDENTITY_ATTRIBUTE_LIST_ASSIGNABLE_TO_ROLE_HEADER_LOCATOR = "//div[contains(text(),'Assignable to Role')]";
public static final String IDENTITY_ATTRIBUTE_LIST_ENABLED_HEADER_LOCATOR = "//div[contains(text(),'Enabled')]";
public static final String IDENTITY_ATTRIBUTE_LIST_IN_USE_HEADER_LOCATOR = "//div[contains(text(),'In use')]";
public static final String IDENTITY_ATTRIBUTE_LIST_CREATION_DATE_HEADER_LOCATOR = "//div[contains(text(),'Creation date')]";
public static final String IDENTITY_ATTRIBUTE_LIST_LAST_CHANGE_DATE_HEADER_LOCATOR = "//div[contains(text(),'Last change date')]";
public static final String IDENTITY_ATTRIBUTE_LIST_ACTIONS_HEADER_LOCATOR = "//div[contains(text(),'Actions')]";
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 ng-star-inserted']";
public static final String IDENTITY_ATTRIBUTE_EDIT_BUTTON_LOCATOR = "//span[normalize-space()='Edit Attribute']";
......@@ -108,6 +116,7 @@ public class Authority {
public static final String COLUMN_HEADING_LOCATOR = "thead th div.mat-sort-header-content";
public static final String PARTICIPANT_LIST_LOCATOR = "td.mat-mdc-cell.mdc-data-table__cell.cdk-cell.cdk-column-organization.mat-column-organization.ng-star-inserted";
public static final String REQUEST_STATUS_LOCATOR = "#statusFieldBadge";
public static final String IDENTITY_ATTRIBUTES_LIST_LOCATOR = "//td[contains(@class, 'mat-mdc-cell mdc-data-table__cell cdk-cell cdk-column-id mat-column-id ng-star-inserted')]/span[@data-testid='text-element']";
public Authority() {
......
......@@ -277,17 +277,12 @@ public class AuthorityPage {
* @param numberValueByPage Number of items expected.
*/
public void verifyNumberOfResultsDisplayedInTheList(String listType, Integer numberValueByPage) {
Locator locatorValue;
switch (listType) {
case "Dashboard Requests List":
locatorValue = page.locator(REQUEST_STATUS_COLUMN_FROM_REQUEST_LIST_TABLE_LOCATOR);
break;
case "Participant List":
locatorValue = page.locator(PARTICIPANT_LIST_LOCATOR);
break;
default:
throw new IllegalArgumentException("Unknown list type: " + listType);
}
Locator locatorValue = switch (listType) {
case "Dashboard Requests List" -> page.locator(REQUEST_STATUS_COLUMN_FROM_REQUEST_LIST_TABLE_LOCATOR);
case "Participant List" -> page.locator(PARTICIPANT_LIST_LOCATOR);
case "Identity Attributes List" -> page.locator(IDENTITY_ATTRIBUTES_LIST_LOCATOR);
default -> throw new IllegalArgumentException("Unknown list type: " + listType);
};
Utils.verifyTableListDisplayTheResultsExpected(numberValueByPage, locatorValue);
}
......@@ -361,8 +356,8 @@ public class AuthorityPage {
* Clicks the next or previous page button and/or verifies that the table is updated correctly.
*
* @param buttonToPress The button to be pressed ("Next page" or "Previous page").
* @param compareLists Whether to compare the lists before and after pagination.
* @param listToReview The list in which the review is performed.
* @param compareLists Whether to compare the lists before and after pagination.
* @param listToReview The list in which the review is performed.
*/
public void clickNextOrPreviousPageButton(String buttonToPress, String listToReview, boolean compareLists) {
Locator buttonLocator = switch (buttonToPress) {
......@@ -376,6 +371,7 @@ public class AuthorityPage {
String columnLocator = switch (listToReview) {
case "request list" -> REQUEST_EMAIL_COLUMN_FORM_REQUEST_LIST_TABLE_LOCATOR;
case "participant list" -> PARTICIPANT_LIST_PARTICIPANT_NAME_COLUMN_LOCATOR;
case "identity attributes list" -> IDENTITY_ATTRIBUTES_LIST_LOCATOR;
default -> throw new IllegalArgumentException("Invalid list provided value: " + listToReview);
};
page.waitForSelector(columnLocator);
......@@ -404,7 +400,7 @@ public class AuthorityPage {
}
/***
* This method checks that the approve or reject button is visible and then proceeds with the action
* This method checks that the approval or reject button is visible and then proceeds with the action
* of approving or rejecting the request.
* If the request was successfully approved, it is checked that the "APPROVED" status is visible
* If the request was successfully rejected, it is first necessary to fill out the text message,
......
......@@ -268,7 +268,7 @@ Feature: Authority
| Assignable Identity Attribute | Assignable Test Identity Attribute | assignable_test_identity_attribute | true |
| Non-Assignable Identity Attribute | Non-Assignable Test Identity Attribute | non_assignable_test_identity_attribute | false |
@TCA19 @SIMPL-3466 @SIMPL-3139 @SIMPL-3140 @SIMPL-4127 @SIMPL-3468 @SIMPL-3469
@TCA19 @SIMPL-3466 @SIMPL-3139 @SIMPL-3140 @SIMPL-4127 @SIMPL-3468 @SIMPL-3469 @SIMPL-3464 @SIMPL-3470 @SIMPL-3495
Scenario: Successful Update of an Identity Attribute
Given the user navigates to the "Identity Attributes" page
And the user logs in with a user with "IATTR_M" role
......@@ -445,4 +445,30 @@ Feature: Authority
| ascending | Participant Type |
| descending | Participant Type |
| ascending | Onboarding Date |
| descending | Onboarding Date |
\ No newline at end of file
| descending | Onboarding Date |
@TCA30 @SIMPL-4291
Scenario Outline: Display Paginated List of Identity Attributes and with Correct Column Headings : <caseName>
Given the user navigates to the "Identity Attributes" page
When the user logs in with a user with "IATTR_M" role
Then the page displays a table with the following column headings:
| Identifier |
| Code |
| Assignable to Role |
| Enabled |
| In use |
| Creation date |
| Last change date |
| Actions |
And the list of Identity Attributes is displayed
When the user selects <numberValueByPage> items per page from the dropdown list
And the "Identity Attributes List" is updated with a maximum of <numberValueByPage> results
Then the user updates the identity attributes list by trying to click the "Next page" button
And the user updates the identity attributes list by trying to click the "Previous page" button
Examples:
| caseName | numberValueByPage |
| The user selects 5 elements by page | 5 |
| The user selects 10 elements by page | 10 |
| The user selects 25 elements by page | 25 |
| The user selects 100 elements by page | 100 |
\ No newline at end of file
......@@ -660,6 +660,7 @@ public class AuthoritySteps {
public void the_successful_message_is_displayed() {
assertElementIsVisibleByLocator(page.locator(SUCCESSFUL_MESSAGE_LOCATOR));
}
@Then("the error message is displayed")
public void the_error_message_is_displayed() {
assertElementIsVisibleByLocator(page.getByText(ALERT_ERROR_CREATING_CREDENTIAL_LOCATOR));
......@@ -708,7 +709,7 @@ public class AuthoritySteps {
assertThat(page.getByText(button)).isEnabled();
}
@Then("^the user updates the (request list|participant list) by trying to click the \"(Next page|Previous page)\" button$")
@Then("^the user updates the (request list|participant list|identity attributes list) by trying to click the \"(Next page|Previous page)\" button$")
public void theUserUpdatesTheRequestListTryingToClickTheButton(String list, String button) {
authorityPage.clickNextOrPreviousPageButton(button, list, true);
}
......@@ -759,4 +760,16 @@ public class AuthoritySteps {
assertTrue(String.format("Invalid boolean value found"), "true".equals(value) || "false".equals(value));
}
}
@Then("the list of Identity Attributes is displayed")
public void theListOfIdentityAttributesIsDisplayed() {
assertElementIsVisibleByLocator(page.locator(IDENTITY_ATTRIBUTE_LIST_IDENTIFIER_HEADER_LOCATOR));
assertElementIsVisibleByLocator(page.locator(IDENTITY_ATTRIBUTE_LIST_CODE_HEADER_LOCATOR));
assertElementIsVisibleByLocator(page.locator(IDENTITY_ATTRIBUTE_LIST_ASSIGNABLE_TO_ROLE_HEADER_LOCATOR));
assertElementIsVisibleByLocator(page.locator(IDENTITY_ATTRIBUTE_LIST_ENABLED_HEADER_LOCATOR));
assertElementIsVisibleByLocator(page.locator(IDENTITY_ATTRIBUTE_LIST_IN_USE_HEADER_LOCATOR));
assertElementIsVisibleByLocator(page.locator(IDENTITY_ATTRIBUTE_LIST_CREATION_DATE_HEADER_LOCATOR));
assertElementIsVisibleByLocator(page.locator(IDENTITY_ATTRIBUTE_LIST_LAST_CHANGE_DATE_HEADER_LOCATOR));
assertElementIsVisibleByLocator(page.locator(IDENTITY_ATTRIBUTE_LIST_ACTIONS_HEADER_LOCATOR));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment