mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-14 06:18:12 +00:00
Bug 5239: Extended POs to allow editing RoleDefinitions
This commit is contained in:
1 parent
67a72a2045
commit
a8561d215c
4 files changed
+47
-15
No files matched your search
+12
-3
@@ -9,14 +9,14 @@ import com.sap.sailing.selenium.pages.common.DataEntryDialogPO;
|
||||
import com.sap.sailing.selenium.pages.gwt.StringListEditorCompositePO;
|
||||
import com.sap.sailing.selenium.pages.gwt.TextBoxPO;
|
||||
|
||||
public class RoleDefinitionCreationDialogPO extends DataEntryDialogPO {
|
||||
public class RoleDefinitionCreationAndUpdateDialogPO extends DataEntryDialogPO {
|
||||
|
||||
@FindBy(how = BySeleniumId.class, using = "name")
|
||||
private WebElement roleNameInput;
|
||||
@FindBy(how = BySeleniumId.class, using = "permissions")
|
||||
private WebElement permissionsInput;
|
||||
|
||||
protected RoleDefinitionCreationDialogPO(WebDriver driver, WebElement element) {
|
||||
protected RoleDefinitionCreationAndUpdateDialogPO(WebDriver driver, WebElement element) {
|
||||
super(driver, element);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,16 @@ public class RoleDefinitionCreationDialogPO extends DataEntryDialogPO {
|
||||
TextBoxPO.create(driver, roleNameInput).appendText(name);
|
||||
}
|
||||
|
||||
public StringListEditorCompositePO getPermissionsList() {
|
||||
return StringListEditorCompositePO.create(driver, permissionsInput);
|
||||
}
|
||||
|
||||
public void addPermission(String permission) {
|
||||
StringListEditorCompositePO.create(driver, permissionsInput).addNewValue(permission);
|
||||
getPermissionsList().addNewValue(permission);
|
||||
}
|
||||
|
||||
public void clickOkButtonAndExpectPermissionError() {
|
||||
clickOkButtonOrThrow();
|
||||
waitForAlertContainingMessageAndAccept("could not be added to group");
|
||||
}
|
||||
}
|
||||
+32
-10
@@ -1,16 +1,38 @@
|
||||
package com.sap.sailing.selenium.pages.adminconsole.roles;
|
||||
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.By.ByName;
|
||||
|
||||
import com.sap.sailing.selenium.core.BySeleniumId;
|
||||
import com.sap.sailing.selenium.core.FindBy;
|
||||
import com.sap.sailing.selenium.pages.PageArea;
|
||||
import com.sap.sailing.selenium.pages.adminconsole.security.DataEntryWithSecurityActionsPO;
|
||||
import com.sap.sailing.selenium.pages.gwt.CellTablePO;
|
||||
import com.sap.sailing.selenium.pages.gwt.DataEntryPO;
|
||||
import com.sap.sailing.selenium.pages.gwt.GenericCellTablePO;
|
||||
|
||||
public class RoleDefinitionsPanelPO extends PageArea {
|
||||
|
||||
public static class RoleEntryPO extends DataEntryWithSecurityActionsPO {
|
||||
|
||||
@FindBy(how = ByName.class, using = "UPDATE")
|
||||
private WebElement updateButton;
|
||||
|
||||
public RoleEntryPO(CellTablePO<?> table, WebElement element) {
|
||||
super(table, element);
|
||||
}
|
||||
|
||||
public String getEventURL() {
|
||||
return getWebElement().findElement(By.xpath(".//td/div/a")).getAttribute("href");
|
||||
}
|
||||
|
||||
public RoleDefinitionCreationAndUpdateDialogPO openUpdateDialog() {
|
||||
updateButton.click();
|
||||
return waitForPO(RoleDefinitionCreationAndUpdateDialogPO::new, "RoleDefinitionEditDialog");
|
||||
}
|
||||
}
|
||||
|
||||
private static final String CREATE_ROLE_DIALOG = "RoleDefinitionCreationDialog";
|
||||
|
||||
@FindBy(how = BySeleniumId.class, using = "RolesCellTable")
|
||||
@@ -26,23 +48,23 @@ public class RoleDefinitionsPanelPO extends PageArea {
|
||||
super(driver, element);
|
||||
}
|
||||
|
||||
private CellTablePO<DataEntryPO> getRoleTable() {
|
||||
return new GenericCellTablePO<>(this.driver, this.roleTable, DataEntryPO.class);
|
||||
private CellTablePO<RoleEntryPO> getRoleTable() {
|
||||
return new GenericCellTablePO<>(this.driver, this.roleTable, RoleEntryPO.class);
|
||||
}
|
||||
|
||||
public DataEntryPO findRole(final String username) {
|
||||
final CellTablePO<DataEntryPO> table = getRoleTable();
|
||||
for (DataEntryPO entry : table.getEntries()) {
|
||||
public RoleEntryPO findRole(final String roleName) {
|
||||
final CellTablePO<RoleEntryPO> table = getRoleTable();
|
||||
for (RoleEntryPO entry : table.getEntries()) {
|
||||
final String name = entry.getColumnContent("Name");
|
||||
if (username.equals(name)) {
|
||||
if (roleName.equals(name)) {
|
||||
return entry;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public RoleDefinitionCreationDialogPO getCreateRoleDialog() {
|
||||
|
||||
public RoleDefinitionCreationAndUpdateDialogPO getCreateRoleDialog() {
|
||||
createRoleButton.click();
|
||||
final WebElement dialog = findElementBySeleniumId(this.driver, CREATE_ROLE_DIALOG);
|
||||
return new RoleDefinitionCreationDialogPO(this.driver, dialog);
|
||||
return waitForPO(RoleDefinitionCreationAndUpdateDialogPO::new, CREATE_ROLE_DIALOG);
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -7,7 +7,7 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.selenium.pages.adminconsole.AdminConsolePage;
|
||||
import com.sap.sailing.selenium.pages.adminconsole.roles.RoleDefinitionCreationDialogPO;
|
||||
import com.sap.sailing.selenium.pages.adminconsole.roles.RoleDefinitionCreationAndUpdateDialogPO;
|
||||
import com.sap.sailing.selenium.pages.adminconsole.roles.RoleDefinitionsPanelPO;
|
||||
import com.sap.sailing.selenium.test.AbstractSeleniumTest;
|
||||
|
||||
@@ -26,7 +26,7 @@ public class TestRoleDefinitionCreation extends AbstractSeleniumTest {
|
||||
public void testOpenCreateBoatDialog() throws InterruptedException {
|
||||
final RoleDefinitionsPanelPO roleManagementPanel = goToRoleDefinitionPanel();
|
||||
assertNull(roleManagementPanel.findRole(TEST_ROLE));
|
||||
final RoleDefinitionCreationDialogPO createRoleDialog = roleManagementPanel.getCreateRoleDialog();
|
||||
final RoleDefinitionCreationAndUpdateDialogPO createRoleDialog = roleManagementPanel.getCreateRoleDialog();
|
||||
assertNotNull(createRoleDialog);
|
||||
createRoleDialog.setName(TEST_ROLE);
|
||||
createRoleDialog.addPermission(TEST_PERMISSION);
|
||||
|
||||
+1
@@ -17,6 +17,7 @@ public class RoleDefinitionEditDialog extends AbstractRoleDefinitionDialog {
|
||||
roleDefinitionId = roleDefinition.getId();
|
||||
roleDefinitionNameField.setText(roleDefinition.getName());
|
||||
permissionsList.setValue(roleDefinition.getPermissions());
|
||||
this.ensureDebugId(this.getClass().getSimpleName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user