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

Skip to content
Snippets Groups Projects
Commit 221e083f authored by Sonali MOHANTY's avatar Sonali MOHANTY
Browse files

Merge remote-tracking branch 'origin/smpAutomation' into smpAutomation

# Conflicts:
#	smp-ui-tests/src/main/java/pages/domain/DomainGrid.java
#	smp-ui-tests/src/main/java/pages/domain/DomainPopup.java
#	smp-ui-tests/src/main/java/pages/users/UserPopup.java
#	smp-ui-tests/src/main/java/pages/users/UsersPage.java
#	smp-ui-tests/src/test/java/ui/DomainPgTest.java
#	smp-ui-tests/src/test/java/ui/UsersPgTest.java
parents 7b1097e4 b09d82cf
No related branches found
No related tags found
No related merge requests found
......@@ -10,120 +10,119 @@ import java.util.ArrayList;
import java.util.List;
public class DomainGrid extends BasicGrid {
public DomainGrid(WebDriver driver, WebElement container) {
super(driver, container);
}
private By cellSelector = By.tagName("datatable-body-cell");
public List<DomainRow> getRowsInfo() {
log.info("getting all row info");
List<DomainRow> rowInfos = new ArrayList<>();
for (WebElement gridRow : gridRows) {
List<WebElement> cells = gridRow.findElements(cellSelector);
DomainRow row = new DomainRow();
for (int i = 0; i < headerTxt.size(); i++) {
switch (headerTxt.get(i)) {
case "Domain code":
row.setDomainCode(cells.get(i).getText().trim());
break;
case "SML Domain":
row.setSmlDomain(cells.get(i).getText().trim());
break;
case "Signature CertAlias":
row.setSignatureCertAlias(cells.get(i).getText().trim());
break;
case "SML SMP Id":
row.setSmlSmpID(cells.get(i).getText().trim());
break;
}
}
rowInfos.add(row);
}
return rowInfos;
}
public void mouseHoverOnDomainCode(int rowNumber) {
WebElement element = driver.findElement(By.cssSelector(".datatable-row-wrapper:nth-child(" + rowNumber + ") .datatable-body-cell:nth-child(1) .datatable-body-cell-label span"));
Actions action = new Actions(driver);
action.moveToElement(element).build().perform();
}
public boolean isDomainStillPresent(String domainCode) {
boolean end = false;
List<DomainRow> rows = new ArrayList<>();
DomainPage page = new DomainPage(driver);
page.pagination.skipToFirstPage();
while (!end) {
rows.addAll(page.grid().getRowsInfo());
if (page.pagination.hasNextPage()) {
page.pagination.goToNextPage();
} else {
end = true;
}
}
boolean found = false;
for (DomainRow row : rows) {
if (row.getDomainCode().equalsIgnoreCase(domainCode)) {
found = true;
}
}
return found;
}
public int scrollToDomain(String domainCode) {
DomainPage page = new DomainPage(driver);
page.pagination.skipToFirstPage();
boolean end = false;
while (!end) {
List<DomainRow> rows = page.grid().getRowsInfo();
for (int i = 0; i < rows.size(); i++) {
if (rows.get(i).getDomainCode().equalsIgnoreCase(domainCode)) {
return i;
}
}
if (page.pagination.hasNextPage()) {
page.pagination.goToNextPage();
} else {
end = true;
}
}
return -1;
}
public int scrollToSmlDomain(String smlDomain) {
try {
DomainPage page = new DomainPage(driver);
List<DomainRow> rows;
int count = 0;
do {
if (count != 0) {
page.pagination.goToNextPage();
}
rows = page.grid().getRowsInfo();
for (int i = 0; i < rows.size(); i++) {
if (rows.get(i).getSmlDomain().equalsIgnoreCase(smlDomain)) {
return i;
}
}
count++;
}
while (page.pagination.hasNextPage());
} catch (Exception e) {
e.printStackTrace();
}
return -1;
}
}
\ No newline at end of file
public DomainGrid(WebDriver driver, WebElement container) {
super(driver, container);
}
private By cellSelector = By.tagName("datatable-body-cell");
public List<DomainRow> getRowsInfo(){
log.info("getting all row info");
List<DomainRow> rowInfos = new ArrayList<>();
for (WebElement gridRow : gridRows) {
List<WebElement> cells = gridRow.findElements(cellSelector);
DomainRow row = new DomainRow();
for (int i = 0; i < headerTxt.size(); i++) {
switch (headerTxt.get(i)){
case "Domain code":
row.setDomainCode(cells.get(i).getText().trim());
break;
case "SML Domain":
row.setSmlDomain(cells.get(i).getText().trim());
break;
case "Signature CertAlias":
row.setSignatureCertAlias(cells.get(i).getText().trim());
break;
case "SML SMP Id":
row.setSmlSmpID(cells.get(i).getText().trim());
break;
}
}
rowInfos.add(row);
}
return rowInfos;
}
public void mouseHoverOnDomainCode(int rowNumber) {
WebElement element = driver.findElement(By.cssSelector(".datatable-row-wrapper:nth-child(" + rowNumber + ") .datatable-body-cell:nth-child(1) .datatable-body-cell-label span"));
Actions action = new Actions(driver);
action.moveToElement(element).build().perform();
}
public boolean isDomainStillPresent(String domainCode) {
boolean end = false;
List<DomainRow> rows = new ArrayList<>();
DomainPage page = new DomainPage(driver);
page.pagination.skipToFirstPage();
while (!end) {
rows.addAll(page.grid().getRowsInfo());
if (page.pagination.hasNextPage()) {
page.pagination.goToNextPage();
} else {
end = true;
}
}
boolean found = false;
for (DomainRow row : rows) {
if (row.getDomainCode().equalsIgnoreCase(domainCode)) {
found = true;
}
}
return found;
}
public int scrollToDomain(String domainCode) {
DomainPage page = new DomainPage(driver);
page.pagination.skipToFirstPage();
boolean end = false;
while (!end) {
List<DomainRow> rows = page.grid().getRowsInfo();
for (int i = 0; i < rows.size(); i++) {
if (rows.get(i).getDomainCode().equalsIgnoreCase(domainCode)) {
return i;
}
}
if (page.pagination.hasNextPage()) {
page.pagination.goToNextPage();
} else {
end = true;
}
}
return -1;
}
public int scrollToSmlDomain(String smlDomain) {
try {
DomainPage page = new DomainPage(driver);
List<DomainRow> rows;
int count = 0;
do {
if (count != 0) {
page.pagination.goToNextPage();
}
rows = page.grid().getRowsInfo();
for (int i = 0; i < rows.size(); i++) {
if (rows.get(i).getSmlDomain().equalsIgnoreCase(smlDomain)) {
return i;
}
}
count++;
}
while (page.pagination.hasNextPage());
} catch (Exception e) {
e.printStackTrace();
}
return -1;
}
}
......@@ -50,9 +50,6 @@ public class UserPopup extends PageComponent {
@FindBy(css = "mat-dialog-content > table > tbody > tr > td > button:nth-child(2)")
WebElement cancelBtn;
@FindBy(css = ".mat-form-field-infix > div.has-error")
WebElement passwordUnmatchingMsg;
@FindBy(css = "#role_id")
WebElement rolesSelectContainer;
public GenericSelect rolesSelect;
......
......@@ -42,7 +42,6 @@ public class UsersPage extends SMPPage {
@FindBy(id = "deleteButton")
private WebElement deleteBtn;
public boolean isLoaded(){
......@@ -129,7 +128,7 @@ public class UsersPage extends SMPPage {
}
}
......
......@@ -20,211 +20,211 @@ import java.util.Arrays;
import java.util.List;
public class DomainPgTest extends BaseTest {
@AfterMethod
public void logoutAndReset(){
genericLogoutProcedure();
}
@AfterMethod
public void logoutAndReset() {
genericLogoutProcedure();
}
@BeforeMethod
public void loginAndGoToDomainPage(){
SMPPage page = genericLoginProcedure("SYS_ADMIN");
@BeforeMethod
public void loginAndGoToDomainPage() {
logger.info("Going to Domain page");
page.sidebar.goToPage(DomainPage.class);
}
@Test(description = "DMN-0")
public void openDomainPage(){
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
SMPPage page = genericLoginProcedure("SYS_ADMIN");
soft.assertTrue(page.isLoaded(), "Check that the page is loaded");
DomainGrid grid = page.grid();
DomainRow row0 = grid.getRowsInfo().get(0);
grid.doubleClickRow(0);
DomainPopup popup = new DomainPopup(driver);
logger.info("Going to Domain page");
page.sidebar.goToPage(DomainPage.class);
}
soft.assertTrue(popup.isLoaded(), "Domain popup is loaded");
@Test(description = "DMN-0")
public void openDomainPage() {
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
soft.assertTrue(!popup.isDomainCodeInputEnabled(), "On double click Domain Code input is disabled");
soft.assertTrue(!popup.isSMLDomainInputEnabled(), "On double click SML Domain input is disabled");
soft.assertTrue(page.isLoaded(), "Check that the page is loaded");
DomainGrid grid = page.grid();
DomainRow row0 = grid.getRowsInfo().get(0);
grid.doubleClickRow(0);
popup.clickCancel();
soft.assertEquals(row0, page.grid().getRowsInfo().get(0), "Row is unchanged");
soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is not enabled");
DomainPopup popup = new DomainPopup(driver);
soft.assertAll();
}
soft.assertTrue(popup.isLoaded(), "Domain popup is loaded");
@Test(description = "DMN-10")
public void editDomain(){
soft.assertTrue(!popup.isDomainCodeInputEnabled(), "On double click Domain Code input is disabled");
soft.assertTrue(!popup.isSMLDomainInputEnabled(), "On double click SML Domain input is disabled");
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
popup.clickCancel();
soft.assertTrue(page.isLoaded(), "Check that the page is loaded");
DomainGrid grid = page.grid();
DomainRow row0 = grid.getRowsInfo().get(0);
grid.doubleClickRow(0);
soft.assertEquals(row0, page.grid().getRowsInfo().get(0), "Row is unchanged");
soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is not enabled");
DomainPopup popup = new DomainPopup(driver);
soft.assertAll();
}
@Test(description = "DMN-10")
public void editDomain() {
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
soft.assertTrue(page.isLoaded(), "Check that the page is loaded");
DomainGrid grid = page.grid();
DomainRow row0 = grid.getRowsInfo().get(0);
grid.doubleClickRow(0);
DomainPopup popup = new DomainPopup(driver);
soft.assertTrue(popup.isLoaded(), "Domain popup is loaded");
soft.assertTrue(popup.isLoaded(), "Domain popup is loaded");
soft.assertTrue(!popup.isDomainCodeInputEnabled(), "On double click Domain Code input is disabled");
soft.assertTrue(!popup.isSMLDomainInputEnabled(), "On double click SML Domain input is disabled");
soft.assertTrue(!popup.isDomainCodeInputEnabled(), "On double click Domain Code input is disabled");
soft.assertTrue(!popup.isSMLDomainInputEnabled(), "On double click SML Domain input is disabled");
String rndString = Generator.randomAlphaNumeric(10);
popup.fillSMLSMPIdInput(rndString);
popup.clickCancel();
String rndString = Generator.randomAlphaNumeric(10);
popup.fillSMLSMPIdInput(rndString);
popup.clickCancel();
soft.assertEquals(row0, page.grid().getRowsInfo().get(0), "Row 0 is not changed");
soft.assertEquals(row0, page.grid().getRowsInfo().get(0), "Row 0 is not changed");
page.grid().doubleClickRow(0);
popup = new DomainPopup(driver);
popup.fillSMLSMPIdInput(rndString);
popup.clickOK();
page.grid().doubleClickRow(0);
popup = new DomainPopup(driver);
popup.fillSMLSMPIdInput(rndString);
popup.clickOK();
soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled");
soft.assertNotEquals(row0, page.grid().getRowsInfo().get(0), "Row 0 is changed");
soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled");
soft.assertNotEquals(row0, page.grid().getRowsInfo().get(0), "Row 0 is changed");
page.clickSave().confirm();
page.clickSave().confirm();
DomainRow newRow0 = page.grid().getRowsInfo().get(0);
soft.assertNotEquals(row0, newRow0, "Row 0 is changed after save");
soft.assertEquals(newRow0.getSmlSmpID(), rndString, "SML SMP ID is changed to the desired string");
DomainRow newRow0 = page.grid().getRowsInfo().get(0);
soft.assertNotEquals(row0, newRow0, "Row 0 is changed after save");
soft.assertEquals(newRow0.getSmlSmpID(), rndString, "SML SMP ID is changed to the desired string");
soft.assertEquals(page.alertArea.getAlertMessage().getMessage(), SMPMessages.MSG_18, "Proper message displayed");
soft.assertEquals(page.alertArea.getAlertMessage().getMessage(), SMPMessages.MSG_18, "Proper message displayed");
soft.assertAll();
}
soft.assertAll();
}
@Test(description = "DMN-20")
public void newDomain() {
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
@Test(description = "DMN-20")
public void newDomain(){
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
soft.assertTrue(page.isLoaded(), "Check that the page is loaded");
soft.assertTrue(page.isLoaded(), "Check that the page is loaded");
DomainPopup popup = page.clickNew();
soft.assertTrue(popup.isLoaded(), "Domain popup is loaded");
DomainPopup popup = page.clickNew();
soft.assertTrue(popup.isLoaded(), "Domain popup is loaded");
soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled");
soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled");
soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled");
soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled");
String rndString = Generator.randomAlphaNumeric(10);
String rndString = Generator.randomAlphaNumeric(10);
popup.fillDataForNewDomain(rndString, rndString, rndString, rndString);
popup.clickCancel();
popup.fillDataForNewDomain(rndString, rndString, rndString, rndString);
popup.clickCancel();
soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is NOT enabled");
soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is NOT enabled");
popup = page.clickNew();
popup.fillDataForNewDomain(rndString, rndString, rndString, rndString);
popup.clickOK();
popup = page.clickNew();
popup.fillDataForNewDomain(rndString, rndString, rndString, rndString);
popup.clickOK();
soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled");
soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled");
page.clickSave().confirm();
page.clickSave().confirm();
soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18),
"Success message is as expected");
soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18),
"Success message is as expected");
List<DomainRow> rows = page.grid().getRowsInfo();
while (page.pagination.hasNextPage()) {
page.pagination.goToNextPage();
rows.addAll(page.grid().getRowsInfo());
}
List<DomainRow> rows = page.grid().getRowsInfo();
while (page.pagination.hasNextPage()){
page.pagination.goToNextPage();
rows.addAll(page.grid().getRowsInfo());
}
boolean found = false;
for (DomainRow row : rows) {
if (row.getDomainCode().equalsIgnoreCase(rndString)) {
found = true;
break;
}
}
boolean found = false;
for (DomainRow row : rows) {
if(row.getDomainCode().equalsIgnoreCase(rndString)){
found = true;
break;
}
}
soft.assertTrue(found, "Found new domain in the list of domains");
soft.assertTrue(found, "Found new domain in the list of domains");
soft.assertAll();
}
soft.assertAll();
}
@Test(description = "DMN-30")
public void cancelNewDomainCreation() {
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
@Test(description = "DMN-30")
public void cancelNewDomainCreation(){
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
soft.assertTrue(page.isLoaded(), "Check that the page is loaded");
soft.assertTrue(page.isLoaded(), "Check that the page is loaded");
DomainPopup popup = page.clickNew();
soft.assertTrue(popup.isLoaded(), "Domain popup is loaded");
DomainPopup popup = page.clickNew();
soft.assertTrue(popup.isLoaded(), "Domain popup is loaded");
soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled");
soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled");
soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled");
soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled");
String rndString = Generator.randomAlphaNumeric(10);
String rndString = Generator.randomAlphaNumeric(10);
popup.fillDataForNewDomain(rndString, rndString, rndString, rndString);
popup.clickOK();
popup.fillDataForNewDomain(rndString, rndString, rndString, rndString);
popup.clickOK();
soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled");
soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled");
page.clickCancel().confirm();
new ConfirmationDialog(driver).confirm();
page.clickCancel().confirm();
new ConfirmationDialog(driver).confirm();
List<DomainRow> rows = page.grid().getRowsInfo();
while (page.pagination.hasNextPage()) {
page.pagination.goToNextPage();
rows.addAll(page.grid().getRowsInfo());
}
List<DomainRow> rows = page.grid().getRowsInfo();
while (page.pagination.hasNextPage()){
page.pagination.goToNextPage();
rows.addAll(page.grid().getRowsInfo());
}
boolean found = false;
for (DomainRow row : rows) {
if (row.getDomainCode().equalsIgnoreCase(rndString)) {
found = true;
break;
}
}
boolean found = false;
for (DomainRow row : rows) {
if(row.getDomainCode().equalsIgnoreCase(rndString)){
found = true;
break;
}
}
soft.assertTrue(!found, "New domain NOT in the list of domains");
soft.assertTrue(!found, "New domain NOT in the list of domains");
soft.assertAll();
}
soft.assertAll();
}
@Test(description = "DMN-40")
public void deleteDomain() {
String rndStr = Generator.randomAlphaNumeric(10);
SMPRestClient.createDomain(rndStr);
@Test(description = "DMN-40")
public void deleteDomain(){
String rndStr = Generator.randomAlphaNumeric(10);
SMPRestClient.createDomain(rndStr);
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
page.refreshPage();
page.refreshPage();
soft.assertTrue(page.isLoaded(), "Check that the page is loaded");
soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
soft.assertTrue(page.isLoaded(), "Check that the page is loaded");
soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
int index = page.grid().scrollToDomain(rndStr);
page.grid().selectRow(index);
page.grid().selectRow(index);
soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row selected");
soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row selected");
page.clickDelete();
soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled (2)");
soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled");
soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled");
page.clickDelete();
soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled (2)");
soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled");
soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled");
page.clickCancel().confirm();
new ConfirmationDialog(driver).confirm();
page.clickCancel().confirm();
new ConfirmationDialog(driver).confirm();
soft.assertTrue(page.grid().isDomainStillPresent(rndStr), "Row is still present");
......@@ -236,40 +236,40 @@ public class DomainPgTest extends BaseTest {
soft.assertTrue(!page.grid().isDomainStillPresent(rndStr), "Row is still NOT present after delete");
soft.assertAll();
}
soft.assertAll();
}
@Test(description = "DMN-50")
public void deleteDomainWithSG() {
@Test(description = "DMN-50")
public void deleteDomainWithSG(){
String domainName = Generator.randomAlphaNumeric(10);
String pi = Generator.randomAlphaNumeric(10);
String ps = Generator.randomAlphaNumeric(10);
String domainName = Generator.randomAlphaNumeric(10);
String pi = Generator.randomAlphaNumeric(10);
String ps = Generator.randomAlphaNumeric(10);
String expectedErrorMess = String.format("Delete validation error Could not delete domains used by Service groups! Domain: %s (%s ) uses by:1 SG.", domainName, domainName);
String expectedErrorMess = String.format("Delete validation error Could not delete domains used by Service groups! Domain: %s (%s ) uses by:1 SG.", domainName, domainName);
SMPRestClient.createDomain(domainName);
SMPRestClient.createServiceGroup(pi, ps, new ArrayList<>(Arrays.asList("smp")), new ArrayList<>(Arrays.asList(domainName)));
SMPRestClient.createDomain(domainName);
SMPRestClient.createServiceGroup(pi, ps, new ArrayList<>(Arrays.asList("smp")),new ArrayList<>(Arrays.asList(domainName)));
SoftAssert soft = new SoftAssert();
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
page.refreshPage();
DomainPage page = new DomainPage(driver);
page.refreshPage();
int index = page.grid().scrollToDomain(domainName);
page.grid().selectRow(index);
soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select");
page.clickDelete();
AlertMessage message = page.alertArea.getAlertMessage();
soft.assertTrue(message.isError(), "Page shows error message when deleting domain with SG");
soft.assertTrue(message.getMessage().equalsIgnoreCase(expectedErrorMess), "Desired message appears");
page.clickDelete();
AlertMessage message = page.alertArea.getAlertMessage();
soft.assertTrue(message.isError(), "Page shows error message when deleting domain with SG");
soft.assertTrue(message.getMessage().equalsIgnoreCase(expectedErrorMess), "Desired message appears");
SMPRestClient.deleteSG(pi);
SMPRestClient.deleteDomain(domainName);
SMPRestClient.deleteSG(pi);
SMPRestClient.deleteDomain(domainName);
soft.assertAll();
}
soft.assertAll();
}
@Test(description = "DMN-60")
public void duplicateDomainCreation() {
......
This diff is collapsed.
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