Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pn 9334 e 2 e destinatario altri recapiti visualizzazione già associati PF #142

2 changes: 1 addition & 1 deletion src/main/java/it/pn/frontend/e2e/common/BasePage.java
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public void vaiInFondoAllaPagina() {
this.js().executeScript("window.scrollBy(0,document.body.scrollHeight)");
}

public void aggionamentoPagina() {
public void aggiornamentoPagina() {
this.driver.navigate().refresh();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public class RecapitiDestinatarioPage extends BasePage {
@FindBy(id = "s_pec")
WebElement indirizzoPecField;

@FindBy(xpath = "//button[@data-testid = 'addSpecialButton']")
@FindBy(id = "addSpecialButton")
WebElement associaButton;

@FindBy(id = "s_mail")
Expand Down Expand Up @@ -93,17 +93,17 @@ public void eliminaPecEsistente() {

public void clickSuChiudiPopUp() {
By chiudiButtonBy = By.xpath("//button[contains(text(),'Chiudi')]");
this.getWebDriverWait(10).withMessage("Il bottone chiudi non è cliccabile").until(ExpectedConditions.elementToBeClickable(chiudiButtonBy));
getWebDriverWait(10).withMessage("Il bottone chiudi non è cliccabile").until(ExpectedConditions.elementToBeClickable(chiudiButtonBy));
this.js().executeScript("arguments[0].click()", this.element(chiudiButtonBy));
}

public void insertEmailPEC(String emailPEC) {
this.getWebDriverWait(10).withMessage("input pec field non trovato").until(ExpectedConditions.visibilityOf(pecField));
getWebDriverWait(10).withMessage("input pec field non trovato").until(ExpectedConditions.visibilityOf(pecField));
pecField.sendKeys(emailPEC);
}

public void confermaButtonClick() {
this.getWebDriverWait(10).withMessage("Il bottone conferma non è cliccabile").until(ExpectedConditions.elementToBeClickable(this.confermaButton));
getWebDriverWait(10).withMessage("Il bottone conferma non è cliccabile").until(ExpectedConditions.elementToBeClickable(this.confermaButton));
this.confermaButton.click();
}

Expand All @@ -121,16 +121,16 @@ public void waitLoadPopUp() {
List<WebElement> inputBoxes = driver.findElements(By.xpath("//input[contains(@id,'code-input-')]"));
// The message is different in PG and PF
By footerNotReceived = By.xpath("//p[contains(text(), 'Non l’hai ricevuto? Controlla')]");
this.getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(titleBy));
this.getWebDriverWait(10).until(ExpectedConditions.and(
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(titleBy));
getWebDriverWait(10).until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(descriptionBy),
ExpectedConditions.attributeContains(descriptionBy, "textContent", "Il codice è valido per 15 minuti.")));
this.getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(titleOption));
this.getWebDriverWait(10).until(ExpectedConditions.visibilityOfAllElements(inputBoxes));
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(titleOption));
getWebDriverWait(10).until(ExpectedConditions.visibilityOfAllElements(inputBoxes));
if (inputBoxes.size() != 5) {
Assert.fail("Il numero di input box non è corretto");
}
this.getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(footerNotReceived));
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(footerNotReceived));
boolean checkButton = !confermaButtonPopUp.isEnabled() && annullaButton.isEnabled();
if (!checkButton) {
Assert.fail("i pulsanti all'interno del pop-up non rispettano le condizioni");
Expand Down Expand Up @@ -176,7 +176,7 @@ public void confermaButtonClickPopUp() {
public boolean waitMessaggioErrore() {
try {
By messaggioErroreBy = By.id("error-alert");
this.getWebDriverWait(5).until(ExpectedConditions.visibilityOfElementLocated(messaggioErroreBy));
getWebDriverWait(5).until(ExpectedConditions.visibilityOfElementLocated(messaggioErroreBy));
logger.info("Il messaggio di errore viene visualizzato correttamente");
return true;
} catch (TimeoutException e) {
Expand Down Expand Up @@ -230,7 +230,7 @@ public void insertPhone(String cellulare) {

public boolean verificaPecAssociata() {
try {
By pecAssociata = By.xpath("//p[contains(text(), 'PEC associata')]");
By pecAssociata = By.id("associatedPEC");
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(pecAssociata));
return true;
} catch (TimeoutException e) {
Expand All @@ -251,7 +251,7 @@ public boolean siVisualizzaPopUpConferma() {
}

public void clickConfermaButton() {
this.getWebDriverWait(30).withMessage("Il bottone conferma del pop up non é cliccabile").until(ExpectedConditions.elementToBeClickable(confermaButtonPoPUpPec));
getWebDriverWait(10).withMessage("Il bottone conferma del pop up non é cliccabile").until(ExpectedConditions.elementToBeClickable(confermaButtonPoPUpPec));
this.confermaButtonPoPUpPec.click();
}

Expand All @@ -277,7 +277,7 @@ public boolean verificaMailAssociata() {
public boolean siVisualizzaPecInserita() {
try {
By pecInseritaBy = By.xpath("//p[contains(text(),'PEC associata')]");
this.getWebDriverWait(5).until(ExpectedConditions.visibilityOfElementLocated(pecInseritaBy));
getWebDriverWait(5).until(ExpectedConditions.visibilityOfElementLocated(pecInseritaBy));
return true;
} catch (TimeoutException e) {
logger.error("Pec inserita non presente con errore:" + e.getMessage());
Expand Down Expand Up @@ -323,7 +323,6 @@ public void cancellaTesto() {
}



public void clickSuSalva() {
By salvaButtonBy = By.xpath("//button[contains(text(),'Salva')]");
this.getWebDriverWait(30).withMessage("Non si riesce a cliccare sul bottone salva").until(ExpectedConditions.elementToBeClickable(salvaButtonBy));
Expand All @@ -332,29 +331,29 @@ public void clickSuSalva() {

public boolean siControllaPECModificata(String pecInserita) {
By pecBy = By.xpath("//div[@data-testid = 'legalContacts']//div//p");
this.getWebDriverWait(10).withMessage("Non trovata nessuna email PEC inserita").until(ExpectedConditions.visibilityOfElementLocated(pecBy));
getWebDriverWait(10).withMessage("Non trovata nessuna email PEC inserita").until(ExpectedConditions.visibilityOfElementLocated(pecBy));
WebElement pec = this.element(pecBy);
return pec.getText().equals(pecInserita);
}


public void clickSuEliminaPec() {
this.getWebDriverWait(30).withMessage("Non si è riuscito ad cliccare sul bottone elimina PEC").until(ExpectedConditions.elementToBeClickable(eliminaPECButton));
getWebDriverWait(10).withMessage("Non si è riuscito ad cliccare sul bottone elimina PEC").until(ExpectedConditions.elementToBeClickable(eliminaPECButton));
logger.info("click sul pulsante elimina pec");
this.eliminaPECButton.click();
}

public String waitLoadPopUpElimina() {
By titlePopUp = By.id("dialog-title");
By subTitlePopUp = By.id("dialog-description");
this.getWebDriverWait(10).withMessage("Non è stato caricato il titolo del pop-up").until(ExpectedConditions.visibilityOfElementLocated(titlePopUp));
this.getWebDriverWait(10).withMessage("Non è stato caricato il sottotitolo del pop-up").until(ExpectedConditions.visibilityOfElementLocated(subTitlePopUp));
getWebDriverWait(10).withMessage("Non è stato caricato il titolo del pop-up").until(ExpectedConditions.visibilityOfElementLocated(titlePopUp));
getWebDriverWait(10).withMessage("Non è stato caricato il sottotitolo del pop-up").until(ExpectedConditions.visibilityOfElementLocated(subTitlePopUp));
return this.element(titlePopUp).getText();
}

public void clickSuConfermaElimina() {
By confermaRimuoviPECBy = By.xpath("//button[contains(text(),'Annulla')]/following-sibling::button");
this.getWebDriverWait(30).withMessage("Non è stato possibile cliccare sul bottone conferma").until(ExpectedConditions.elementToBeClickable(confermaRimuoviPECBy));
By confermaRimuoviPECBy = By.id("buttonConferma");
getWebDriverWait(10).withMessage("Non è stato possibile cliccare sul bottone conferma").until(ExpectedConditions.elementToBeClickable(confermaRimuoviPECBy));
this.element(confermaRimuoviPECBy).click();
}

Expand All @@ -381,13 +380,13 @@ public void insertEnte(String comune) {
this.enteField.sendKeys(Keys.ARROW_DOWN);
this.enteField.sendKeys(Keys.ENTER);
// verify if the first option is the one we want by checking the value
this.getWebDriverWait(10).withMessage("Il comune non è visibile").until(ExpectedConditions.attributeContains(this.enteField, "value", comune));
getWebDriverWait(10).withMessage("Il comune non è visibile").until(ExpectedConditions.attributeContains(this.enteField, "value", comune));
}

public void clickSuIndirizzoPEC() {
this.tipoIndirizzoField.click();
By opzionePEC = By.xpath("//li[@data-value ='PEC']");
this.getWebDriverWait(30).withMessage("Non è visibile l'opzione 'Indirizzo PEC'").until(ExpectedConditions.elementToBeClickable(opzionePEC));
getWebDriverWait(30).withMessage("Non è visibile l'opzione 'Indirizzo PEC'").until(ExpectedConditions.elementToBeClickable(opzionePEC));
this.element(opzionePEC).click();
}

Expand All @@ -405,7 +404,7 @@ public void insertPECAggiuntiva(String emailPec) {
}

public void clickSuAssocia() {
this.getWebDriverWait(30).withMessage("Il bottone associa non è cliccabile").until(ExpectedConditions.elementToBeClickable(this.associaButton));
getWebDriverWait(10).withMessage("Il bottone associa non è cliccabile").until(ExpectedConditions.elementToBeClickable(this.associaButton));
this.js().executeScript("arguments[0].click()", associaButton);
}

Expand Down Expand Up @@ -461,10 +460,10 @@ public void eliminaNuovaEmail() {
}

public void eliminaNuovaPec() {
this.getWebDriverWait(30).withMessage("Non è stato possibile cliccare sul bottone elimina email").until(ExpectedConditions.elementToBeClickable(this.eliminaButtonList.get(0)));
getWebDriverWait(30).withMessage("Non è stato possibile cliccare sul bottone elimina email").until(ExpectedConditions.elementToBeClickable(this.eliminaButtonList.get(0)));
this.js().executeScript("arguments[0].click()", this.eliminaButtonList.get(0));
By confermaPopUpBy = By.xpath("//div[@aria-labelledby='dialog-title']//div/button[contains(text(),'Conferma')]");
this.getWebDriverWait(30).withMessage("Il bottone del pop-up non è cliccabile").until(ExpectedConditions.elementToBeClickable(confermaPopUpBy));
getWebDriverWait(30).withMessage("Il bottone del pop-up non è cliccabile").until(ExpectedConditions.elementToBeClickable(confermaPopUpBy));
this.element(confermaPopUpBy).click();
}

Expand Down Expand Up @@ -536,10 +535,35 @@ public void visualizzazioneSezioneAltriRecapiti() {
getWebDriverWait(5).withMessage(" Non si visualizza correttamente il titolo della sezione altri recapiti").until(ExpectedConditions.visibilityOfElementLocated(altriRecapitiSectionBy));
}

public void visualizzazioneSezioneAltriRecapitiPG() {
public void visualizzazioneCampiSezioneAltriRecapiti() {
vaiInFondoAllaPagina();
By altriRecapitiSectionBy = By.id("specialContactTitle");
getWebDriverWait(5).withMessage(" Non si visualizza correttamente il titolo della sezione altri recapiti").until(ExpectedConditions.visibilityOfElementLocated(altriRecapitiSectionBy));
By altriRecapitiSectionBy = By.xpath(".//h5[contains(@id, 'specialContact')]");
By titleGiaAssociatiBy = By.xpath("//p[contains(text(), 'Già associati')]");
WebElement tableGiaAssociati = driver.findElement(By.xpath("//table[@aria-label='Già associati']"));
By modifyButtonBy = By.xpath(".//button[contains(@id, 'modifyContact')]");
By deleteButtonBy = By.xpath(".//button[contains(@id, 'cancelContact')]");
getWebDriverWait(10).withMessage("Non si visualizza correttamente il titolo della sezione altri recapiti").until(ExpectedConditions.visibilityOfElementLocated(altriRecapitiSectionBy));
getWebDriverWait(10).withMessage("Non si visualizza il titolo della tabella").until(ExpectedConditions.visibilityOfElementLocated(titleGiaAssociatiBy));
getWebDriverWait(10).withMessage("Non si visualizza la tabella dei recapiti già associati").until(ExpectedConditions.visibilityOf(tableGiaAssociati));
getWebDriverWait(10).withMessage("Bottone modifica non visualizzato e non cliccabile").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(modifyButtonBy),
ExpectedConditions.elementToBeClickable(modifyButtonBy)));
getWebDriverWait(10).withMessage("Bottone elimina non visualizzato e non cliccabile").until(ExpectedConditions.and(
ExpectedConditions.visibilityOfElementLocated(deleteButtonBy),
ExpectedConditions.elementToBeClickable(deleteButtonBy)));
List<WebElement> tableRows = tableGiaAssociati.findElements(By.xpath(".//tbody/tr"));
for (WebElement row : tableRows) {
List<WebElement> columns = row.findElements(By.xpath(".//td"));
if (columns.get(0).getText().contains("Comune di Verona")) {
logger.info("Si visualizza l'ente inserito correttamente");
}
if (columns.get(1).getText().contains("@")) {
logger.info("Si visualizza l'indirizzo pec inserito correttamente");
}
if (columns.get(2).getText().contains("-") && columns.get(3).getText().contains("-")) {
logger.info("Si visualizzano il cellulare e la mail inseriti correttamente");
}
Gabriiii99 marked this conversation as resolved.
Show resolved Hide resolved
}
}

public void checkButtonAnnullaEliminazioneInPopUp() {
Expand Down Expand Up @@ -597,4 +621,10 @@ public void clickSuAnnulla() {
ExpectedConditions.elementToBeClickable(annullaButtonBy)));
this.element(annullaButtonBy).click();
}

public void clickConfermaRecapitoGiaPresente() {
By confermaButton = By.xpath("//div[@data-testid='dialog-actions']//button[contains(text(), 'Conferma')]");
getWebDriverWait(10).withMessage("Bottone conferma non visualizzato").until(ExpectedConditions.and(ExpectedConditions.visibilityOfElementLocated(confermaButton), ExpectedConditions.elementToBeClickable(confermaButton)));
this.element(confermaButton).click();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,11 @@ public void waitLoadITuoiRecapitiPage() {
By titlePageByOne = By.xpath("//h4[contains(@id,'Recapiti-page')]");
By titlePageByTwo = By.xpath("//h4[contains(@id,'I tuoi recapiti-page')]");
By subTitlePageBy = By.id("subtitle-page");
this.getWebDriverWait(10).until(ExpectedConditions.or(
getWebDriverWait(10).until(ExpectedConditions.or(
ExpectedConditions.visibilityOfElementLocated(titlePageByOne),
ExpectedConditions.visibilityOfElementLocated(titlePageByTwo)
));
this.getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(subTitlePageBy));
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(subTitlePageBy));
logger.info("La pagina I Tuoi Recapiti si vede correttamente");
} catch (TimeoutException e) {
logger.error("La pagina I Tuoi Recapiti NON si vede correttamente con errori:" + e.getMessage());
Expand Down Expand Up @@ -183,7 +183,7 @@ public void selezionaTipoEmail() {
logger.error("errore: " + e.getMessage());
}
By opzionePEC = By.id("dropdown-EMAIL");
this.getWebDriverWait(10)
getWebDriverWait(10)
.withMessage("Non è visibile l'opzione indirizzo email")
.until(ExpectedConditions.elementToBeClickable(opzionePEC));
this.element(opzionePEC).click();
Expand All @@ -198,23 +198,12 @@ public void selezionaTipoPec() {
logger.error("errore: " + e.getMessage());
}
By opzionePEC = By.id("dropdown-PEC");
this.getWebDriverWait(10)
getWebDriverWait(10)
.withMessage("Non è visibile l'opzione indirizzo email")
.until(ExpectedConditions.elementToBeClickable(opzionePEC));
this.element(opzionePEC).click();
}

public void waitLoadRecapitiGiaAssociatoSection() {
By titlePage = By.xpath("//p[contains(text(),'Già associati')]");
By tableBy = By.xpath("//table[@aria-label = 'Già associati']");
By eliminaBy = By.xpath("//form[@data-testid = 'specialContactForm']//div//button[contains(text(),'Elimina')]");
By modificaBy = By.xpath("//form[@data-testid = 'specialContactForm']//div//button[contains(text(),'Modifica')]");
this.getWebDriverWait(10).withMessage("Non si visualizza il titolo 'Gia Associati'").until(ExpectedConditions.visibilityOfElementLocated(titlePage));
this.getWebDriverWait(10).withMessage("Non si visualizza la tabella 'Gia Associati'").until(ExpectedConditions.visibilityOfElementLocated(tableBy));
this.getWebDriverWait(10).withMessage("Non si visualizza il bottone elimina della sezione recapiti gia associati ").until(ExpectedConditions.visibilityOfElementLocated(eliminaBy));
this.getWebDriverWait(10).withMessage("Non si visualizza il bottone modifica della sezione recapiti gia associati").until(ExpectedConditions.visibilityOfElementLocated(modificaBy));
}

public void checkPostModifica() {
By saveButton = By.id("saveModifyButton-default");
By cancelButton = By.xpath("//button[contains(text(),'Annulla')]");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ public void waitLoadSezioneNotificheDelegate(String ragioneSociale) {
}

public void clickRecapitiButton() {
getWebDriverWait(30).withMessage("Il bottone recapiti non è visibile").until(ExpectedConditions.visibilityOf(recapitiButton));
getWebDriverWait(10).withMessage("Il bottone recapiti non è visibile").until(ExpectedConditions.visibilityOf(recapitiButton));
this.js().executeScript("arguments[0].click()", this.recapitiButton);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public RecapitiPGPage(WebDriver driver) {
public void waitLoadRecapitiPage() {
try {
By racapitiPageTitle = By.id("Recapiti-page");
getWebDriverWait(30).withMessage("il titolo Ricapiti della pagina recapiti non è visibile").until(ExpectedConditions.visibilityOfElementLocated(racapitiPageTitle));
getWebDriverWait(10).withMessage("il titolo Recapiti della pagina recapiti non è visibile").until(ExpectedConditions.visibilityOfElementLocated(racapitiPageTitle));
logger.info("Si visualizza correttamente recapiti page");
}catch (TimeoutException e){
logger.error("Non si visualizza correttamente recapiti page con errore:"+e.getMessage());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ public void waitLoadDisserviziTable() {

public void checkDisserviziInCorso() {
try {
aggionamentoPagina();
aggiornamentoPagina();
List<WebElement> disserviziTableRows = disserviziTable.findElements(By.id("tableDowntimeLog.row"));
if (!disserviziTableRows.isEmpty()) {
for (WebElement disserviziRow : disserviziTableRows) {
Expand Down
Loading