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 9247 e 2 e mittente invio notifica digitale a destinatario con nessun domicilio di piattaforma nessun domicilio generale e con pec fornita dalla pa caso ok al primo tentativo #153

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
1b581c0
PN - 9160 - waiting for the call implementation to retrieve the OTP f…
Gabriiii99 Mar 28, 2024
30c3475
fix
Gabriiii99 Mar 28, 2024
6c6a882
Added new file for standard step (both PG and PF) and completed test …
Gabriiii99 Mar 29, 2024
4bacb5a
Merge remote-tracking branch 'origin/develop' into PN-9160-e-2-e-dest…
Gabriiii99 Mar 29, 2024
2a2c320
Test terminato. commit pre test locale (piattaforma offline per inter…
Gabriiii99 Apr 2, 2024
e1a5674
merge conflicts resolved + yaml logic removed from the test
Gabriiii99 Apr 3, 2024
fb7ad4a
unused import deleted
Gabriiii99 Apr 3, 2024
1c77e90
test funzionante without yaml logic + fix visibility of ho capito che…
Gabriiii99 Apr 4, 2024
89809d5
merge conflicts resolved
Gabriiii99 Apr 4, 2024
2eeff67
9244 - error 401 unauthorized in test
Gabriiii99 Apr 9, 2024
e1386ea
Merge remote-tracking branch 'origin/develop' into PN-9244-e-2-e-mitt…
Gabriiii99 Apr 9, 2024
eddf236
Merge remote-tracking branch 'origin/develop' into PN-9244-e-2-e-mitt…
Gabriiii99 Apr 10, 2024
87c42c5
PN - 9245: PA send a notification and wait for status "consegnata"
Gabriiii99 Apr 10, 2024
d48ff5d
PN - 9246: PA send a notification, fail twice, send simple registered…
Gabriiii99 Apr 12, 2024
18eb275
unused import deleted
Gabriiii99 Apr 12, 2024
71a0b4d
merge conflict resolved
Gabriiii99 Apr 12, 2024
495bb2b
PN - 9247: created test, can't see the "domicilio speciale"
Gabriiii99 Apr 12, 2024
f39e890
PN - 9247: fix xpath domicilio speciale
Gabriiii99 Apr 15, 2024
2a52cd5
merge conflicts resolved
Gabriiii99 Apr 16, 2024
187fb77
refactor test + fix wrong baseUrl caused by PF or PG login. No clean …
Gabriiii99 Apr 16, 2024
9de41eb
unused import deleted
Gabriiii99 Apr 16, 2024
281979b
merge conflicts resolved
Gabriiii99 Apr 16, 2024
dbd932c
Merge branch 'PN-9244-e-2-e-mittente-invio-notifica-digitale-a-destin…
Gabriiii99 Apr 17, 2024
bb3c5b8
PN - 9244: renamed steps for courtesy contacts. created step for mana…
Gabriiii99 Apr 18, 2024
9640f6d
PN - 9245: new steps to add PEC in background without YAML logic
Gabriiii99 Apr 18, 2024
f655896
Merge remote-tracking branch 'origin/develop' into PN-9245-e-2-e-mitt…
Gabriiii99 Apr 18, 2024
39bb097
merge with branch 9245 for common methods needed
Gabriiii99 Apr 18, 2024
265fb2f
PN - 9246: test corrected, added steps for insert "domicilio di piatt…
Gabriiii99 Apr 18, 2024
ab8d2eb
merge with branch 9246 for common methods needed
Gabriiii99 Apr 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public int getLinkDocumentiAllegati() {
}

public void selezioneVediDettaglioButton() {
getWebDriverWait(30).withMessage("bottone vedi dettaglio non è cliccabile").until(ExpectedConditions.elementToBeClickable(this.vediDettagliButton));
getWebDriverWait(10).withMessage("Bottone vedi dettaglio non è cliccabile").until(ExpectedConditions.elementToBeClickable(this.vediDettagliButton));
vediDettagliButton.click();
if (!tuttiStatiNotificaList.isEmpty()) {
logger.info("Tutti gli stati sono stati visualizzati correttamente");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -352,10 +352,10 @@ public String waitLoadPopUpElimina() {
By titlePopUp = By.id("dialog-title");
By subTitlePopUp = By.id("dialog-description");
By confermaEliminaButtonBy = By.xpath("//div[@aria-labelledby='dialog-title']//button[contains(text(),'Conferma')]");
this.getWebDriverWait(10).withMessage("Non è stato caricato il titolo del modal").until(ExpectedConditions.visibilityOfElementLocated(titlePopUp));
this.getWebDriverWait(10).withMessage("Non è stato caricato il sottotitolo del modal").until(ExpectedConditions.visibilityOfElementLocated(subTitlePopUp));
this.getWebDriverWait(10).withMessage("Non è stato caricato il bottone annulla del modal").until(ExpectedConditions.visibilityOf(buttonAnnullaEliminazioneInPopUp));
this.getWebDriverWait(10).withMessage("Non è stato caricato il bottone conferma del modal").until(ExpectedConditions.visibilityOfElementLocated(confermaEliminaButtonBy));
getWebDriverWait(10).withMessage("Non è stato caricato il titolo del modal").until(ExpectedConditions.visibilityOfElementLocated(titlePopUp));
getWebDriverWait(10).withMessage("Non è stato caricato il sottotitolo del modal").until(ExpectedConditions.visibilityOfElementLocated(subTitlePopUp));
getWebDriverWait(10).withMessage("Non è stato caricato il bottone annulla del modal").until(ExpectedConditions.visibilityOf(buttonAnnullaEliminazioneInPopUp));
getWebDriverWait(10).withMessage("Non è stato caricato il bottone conferma del modal").until(ExpectedConditions.visibilityOfElementLocated(confermaEliminaButtonBy));
return this.element(titlePopUp).getText();
}

Expand All @@ -369,6 +369,16 @@ public boolean siControllaEliminazionePEC() {
return pecField.isDisplayed();
}

public boolean checkFieldInputPEC(){
try {
getWebDriverWait(10).until(ExpectedConditions.visibilityOf(pecField));
return true;
} catch (TimeoutException e){
logger.info("Non si visualizza il campo input per inserimento della PEC");
return false;
}
}

public boolean siControllaPresenzaPEC() {
return pecEmail.isDisplayed();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,12 @@ public void eliminaEmailEsistente() {
this.js().executeScript("arguments[0].click();", this.element(eliminaMailButton));
}

public void eliminaPECEsistente() {
By eliminaPECAssociataButton = By.xpath("//div[@data-testid='legalContacts']//button[@id='cancelContact-default']");
this.getWebDriverWait(10).withMessage("il Bottone elimina PEC associata non è presente").until(ExpectedConditions.elementToBeClickable(eliminaPECAssociataButton));
this.js().executeScript("arguments[0].click();", this.element(eliminaPECAssociataButton));
}

public void insertEmail(String emailPEC) {
By inserimentoEmailFieldBy = By.id("email");
getWebDriverWait(10).withMessage("input pec field non trovato").until(ExpectedConditions.visibilityOfElementLocated(inserimentoEmailFieldBy));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,14 @@ public void waitLoadDettaglioNotificaPGSection() {
By bannerRecapiti = By.id("side-item-Recapiti");
By attestazioneOpponibile = By.xpath("//button[contains(text(),'Attestazione opponibile a terzi: ')]");

this.getWebDriverWait(30).until(ExpectedConditions.visibilityOfElementLocated(pageTitleDettaglioNotifica));
this.getWebDriverWait(30).withMessage("Il titolo Dettaglio notifica non è visibile").until(ExpectedConditions.visibilityOfElementLocated(titleDettaglioNotificaField));
this.getWebDriverWait(30).withMessage("Il bottone indietro non è visibile").until(ExpectedConditions.visibilityOfElementLocated(indietroButtonBy));
this.getWebDriverWait(30).withMessage("Dettaglio notifica non è visibile").until(ExpectedConditions.visibilityOfElementLocated(informazioniBy));
this.getWebDriverWait(30).withMessage("La sezione Documenti allegati non è visibile").until(ExpectedConditions.visibilityOfElementLocated(allegatiSection));
this.getWebDriverWait(30).withMessage("Lo stato della notificanon non è visibile").until(ExpectedConditions.visibilityOfElementLocated(statoNotificaBy));
this.getWebDriverWait(30).withMessage("Il banner Recapiti non è visibile").until(ExpectedConditions.visibilityOfElementLocated(bannerRecapiti));
this.getWebDriverWait(30).withMessage("La sezione attestazione opponibili non è visibile").until(ExpectedConditions.visibilityOfElementLocated(attestazioneOpponibile));
getWebDriverWait(10).until(ExpectedConditions.visibilityOfElementLocated(pageTitleDettaglioNotifica));
getWebDriverWait(10).withMessage("Il titolo Dettaglio notifica non è visibile").until(ExpectedConditions.visibilityOfElementLocated(titleDettaglioNotificaField));
getWebDriverWait(10).withMessage("Il bottone indietro non è visibile").until(ExpectedConditions.visibilityOfElementLocated(indietroButtonBy));
getWebDriverWait(10).withMessage("Dettaglio notifica non è visibile").until(ExpectedConditions.visibilityOfElementLocated(informazioniBy));
getWebDriverWait(10).withMessage("La sezione Documenti allegati non è visibile").until(ExpectedConditions.visibilityOfElementLocated(allegatiSection));
getWebDriverWait(10).withMessage("Lo stato della notificanon non è visibile").until(ExpectedConditions.visibilityOfElementLocated(statoNotificaBy));
getWebDriverWait(10).withMessage("Il banner Recapiti non è visibile").until(ExpectedConditions.visibilityOfElementLocated(bannerRecapiti));
getWebDriverWait(10).withMessage("La sezione attestazione opponibili non è visibile").until(ExpectedConditions.visibilityOfElementLocated(attestazioneOpponibile));

logger.info("La pagina dettaglio notifica si è caricata correttamente");
} catch (TimeoutException e) {
Expand All @@ -86,12 +86,12 @@ public void waitLoadDettaglioNotificaPGDelegato() {
By bannerRecapiti = By.id("side-item-Recapiti");
By attestazioneOpponibile = By.xpath("//button[contains(text(),'Attestazione opponibile a terzi: ')]");

this.getWebDriverWait(10).withMessage("Dettaglio notifica non è visibile").until(ExpectedConditions.visibilityOfElementLocated(informazioniBy));
this.getWebDriverWait(10).withMessage("Il bottone indietro non è visibile").until(ExpectedConditions.visibilityOfElementLocated(indietroButtonBy));
this.getWebDriverWait(10).withMessage("La sezione Documenti allegati non è visibile").until(ExpectedConditions.visibilityOfElementLocated(allegatiSection));
this.getWebDriverWait(10).withMessage("Lo stato della notificanon non è visibile").until(ExpectedConditions.visibilityOfElementLocated(statoNotificaBy));
this.getWebDriverWait(10).withMessage("Il banner Recapiti non è visibile").until(ExpectedConditions.visibilityOfElementLocated(bannerRecapiti));
this.getWebDriverWait(10).withMessage("La sezione attestazione opponibili non è visibile").until(ExpectedConditions.visibilityOfElementLocated(attestazioneOpponibile));
getWebDriverWait(10).withMessage("Dettaglio notifica non è visibile").until(ExpectedConditions.visibilityOfElementLocated(informazioniBy));
getWebDriverWait(10).withMessage("Il bottone indietro non è visibile").until(ExpectedConditions.visibilityOfElementLocated(indietroButtonBy));
getWebDriverWait(10).withMessage("La sezione Documenti allegati non è visibile").until(ExpectedConditions.visibilityOfElementLocated(allegatiSection));
getWebDriverWait(10).withMessage("Lo stato della notificanon non è visibile").until(ExpectedConditions.visibilityOfElementLocated(statoNotificaBy));
getWebDriverWait(10).withMessage("Il banner Recapiti non è visibile").until(ExpectedConditions.visibilityOfElementLocated(bannerRecapiti));
getWebDriverWait(10).withMessage("La sezione attestazione opponibili non è visibile").until(ExpectedConditions.visibilityOfElementLocated(attestazioneOpponibile));
logger.info("La pagina dettaglio notifica si è caricata correttamente");
} catch (TimeoutException e) {
logger.error("La pagina dettaglio notifica NON si è caricata correttamente con errore:" + e.getMessage());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ public void selezionaNotifica() {
try {
By notificaBy = By.id("notificationsTable.body.row");
attesaCaricamentoPagina();
this.getWebDriverWait(10).until(ExpectedConditions.elementToBeClickable(notificaBy));
getWebDriverWait(10).until(ExpectedConditions.elementToBeClickable(notificaBy));
List<WebElement> notifiche = this.elements(notificaBy);
notifiche.get(0).click();
} catch (TimeoutException e) {
Expand Down Expand Up @@ -813,4 +813,14 @@ public void verificaNotificaCreata() {
Assert.fail("NotificationRequestId non trovato, il codice della risposta al url /delivery/v2.3/requests è diverso di 202 ");
}
}

public void verificaInvioNotificaDiCortesia(){
By voceNotificaDiCortesia = By.xpath("//span[contains(text(), 'Invio del messaggio di cortesia')]");
try {
getWebDriverWait(10).withMessage("Voce nel dettaglio della notifica non trovata").until(ExpectedConditions.visibilityOfElementLocated(voceNotificaDiCortesia));
} catch (TimeoutException e){
logger.error("Voce dell'invio del messaggio di cortesia nel dettaglio della notifica non trovata: " + e.getMessage());
Assert.fail("Voce dell'invio del messaggio di cortesia nel dettaglio della notifica non trovata: " + e.getMessage());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public NewNotificationResponse newNotificationWithOneRecipientAndDocument(NewNot

public String getNotificationStatus(String notificationRequestId) {
final CustomHttpClient<Object, Object> httpClient2 = CustomHttpClient.getInstance(); // Modifica qui
httpClient2.setBaseUrlApi("https://api.test.notifichedigitali.it");
try {
Object response = httpClient2.sendHttpGetRequest("/delivery/v2.3/requests?notificationRequestId=" + notificationRequestId, null, Object.class);
if (response instanceof LinkedTreeMap) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public void selezionaProfiloUtenteMenu() {

public void selezionaVoceEsci() {
WebElement esciVoce = this.menuProfileItems.get(1);
this.getWebDriverWait(10).withMessage("la voce esci non è visibile").until(ExpectedConditions.visibilityOf(esciVoce));
this.getWebDriverWait(30).withMessage("la voce esci non è visibile").until(ExpectedConditions.visibilityOf(esciVoce));
logger.info("click su voce esci");
esciVoce.click();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,4 +262,51 @@ public String getTextLinkAvvenutaRicezione(int i) {
public String getTextDocumentiAllegati() {
return linkAllegati.get(0).getText();
}

public void checkInvioADomicilioDiPiattaforma(String domicilioDiPiattaforma) {
try {
By invioDomicilioSpecialeBy = By.xpath("//div[contains(span/text(), 'Invio via PEC riuscito') and (//div[contains(p/text(), '" + domicilioDiPiattaforma + "')])]");
getWebDriverWait(10).withMessage("Non si visualizza l'invio della notifica al domicilio speciale nella timeline").until(ExpectedConditions.visibilityOfElementLocated(invioDomicilioSpecialeBy));
} catch (TimeoutException e) {
logger.error("L'invio della notifica al domicilio speciale indicato non viene effettuato con errore: " + e.getMessage());
Assert.fail("L'invio della notifica al domicilio speciale indicato non viene effettuato con errore: " + e.getMessage());
}

}

public void checkDoppioFallimentoInvioViaPEC(int numeroFallimenti){
try {
By invioPECFallitoBy = By.xpath("//span[text()='Invio via PEC fallito']");
List<WebElement> invioPECFallitoList = driver.findElements(invioPECFallitoBy);
logger.info("L'invio della notifica è fallito questo numero di volte: " + invioPECFallitoList.size());
if (invioPECFallitoList.size() != numeroFallimenti) {
logger.error("L'invio della notifica non è fallito " + numeroFallimenti + " volta/e");
Assert.fail("L'invio della notifica non è fallito " + numeroFallimenti + " volta/e");
}
} catch (TimeoutException e) {
logger.error("NON è fallito l'invio della notifica: " + e.getMessage());
Assert.fail("NON è fallito l'invio della notifica: " + e.getMessage());
}
}

public void checkInvioRaccomandataSemplice() {
try {
By invioRaccomandataSemplice = By.xpath("//span[text()='Invio via raccomandata semplice']");
getWebDriverWait(10).withMessage("Non si visualizza l'invio della raccomandata nella timeline della notifica").until(ExpectedConditions.visibilityOfElementLocated(invioRaccomandataSemplice));
logger.info("L'invio della notifica avviene via raccomandata semplice");
} catch (TimeoutException e) {
logger.error("L'invio della notifica per raccomandata non viene visualizzato: " + e.getMessage());
Assert.fail("L'invio della notifica per raccomandata non viene visualizzato: " + e.getMessage());
}
}

public void checkInvioADomicilioSpeciale(String domicilioSpeciale) {
try {
By invioDomicilioSpecialeBy = By.xpath("//div[contains(span/text(), 'Invio via PEC riuscito') and (//div[contains(p/text(), '" + domicilioSpeciale + "')])]");
getWebDriverWait(10).withMessage("Non si visualizza l'invio della notifica al domicilio speciale nella timeline").until(ExpectedConditions.visibilityOfElementLocated(invioDomicilioSpecialeBy));
} catch (TimeoutException e) {
logger.error("L'invio della notifica al domicilio speciale indicato non viene effettuato con errore: " + e.getMessage());
Assert.fail("L'invio della notifica al domicilio speciale indicato non viene effettuato con errore: " + e.getMessage());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -261,4 +261,12 @@ public void aggiuntaEmailDiCortesia(String email) {
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiRecuperaIlCodiceOTPTramiteChiamataRequestDellEmailEVieneInserito(email);
recapitiTest.siControllaCheLEmailInseritaSiaPresente();
}

public void aggiuntaPEC(String emailPEC){
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiControllaCheNonCiSiaGiaUnaPec();
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiInserisceLEmailPerLaPECDelDestinatario(emailPEC);
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiCliccaSulBottoneConferma();
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiVisualizzaCorrettamenteIlPopUpDiInserimentoOTP();
recapitiPersonaFisicaTest.nellaPaginaITuoiRecapitiSiRecuperaIlCodiceOTPTramiteChiamataRequestDellEmailEVieneInserito(emailPEC);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ public void nellaPaginITuoiRecapitiSiControllaCheIlNumeroDiCellulareNonSiaPresen
recapitiDestinatarioPage.checkNumeroDiCellulareNonPresente();
}

@And("Nella pagina I Tuoi Recapiti si controlla che ci sia già una Email o si inserisce {string}")
public void nellaPaginaITuoiRecapitiSiControllaCheCiSiaGiaUnaEmailOSiInserisce(String email) {
logger.info("Si controlla che che ci sia già una Email e se ne inserisce una");
@And("Nella pagina I Tuoi Recapiti si controlla che non ci sia già una Email di cortesia e si inserisce {string}")
public void nellaPaginaITuoiRecapitiSiControllaCheNonCiSiaGiaUnaEmailDiCortesiaESiInserisce(String email) {
logger.info("Si controlla che ci sia già una Email di cortesia e se ne inserisce una");
ITuoiRecapitiPage iTuoiRecapitiPage = new ITuoiRecapitiPage(this.driver);
BackgroundTest backgroundTest = new BackgroundTest();
iTuoiRecapitiPage.waitLoadITuoiRecapitiPage();
Expand All @@ -80,6 +80,30 @@ public void nellaPaginaITuoiRecapitiSiControllaCheCiSiaGiaUnaEmailOSiInserisce(S
WebTool.waitTime(10);
}

@And("Nella pagina I Tuoi Recapiti si controlla che non ci sia già una PEC e si inserisce {string}")
public void nellaPaginaITuoiRecapitiSiControllaCheCiSiaGiaUnaPECESiInserisce(String emailPEC) {
logger.info("Si controlla che non ci sia già una PEC e se ne inserisce una");
ITuoiRecapitiPage iTuoiRecapitiPage = new ITuoiRecapitiPage(this.driver);
BackgroundTest backgroundTest = new BackgroundTest();
iTuoiRecapitiPage.waitLoadITuoiRecapitiPage();
if (recapitiDestinatarioPage.checkFieldInputPEC()) {
backgroundTest.aggiuntaPEC(emailPEC);
} else if (recapitiDestinatarioPage.siControllaPresenzaPEC()) {
iTuoiRecapitiPage.eliminaPECEsistente();
if (recapitiDestinatarioPage.waitLoadPopUpElimina().equalsIgnoreCase("Rimuovi PEC")) {
recapitiDestinatarioPage.clickConfermaButtonEliminaPopUp();
} else {
recapitiDestinatarioPage.clickSuChiudiPopUp();
recapitiDestinatarioPage.eliminaNuovaEmail();
iTuoiRecapitiPage.eliminaPECEsistente();
recapitiDestinatarioPage.waitLoadPopUpElimina();
recapitiDestinatarioPage.clickConfermaButtonEliminaPopUp();
}
backgroundTest.aggiuntaPEC(emailPEC);
}
WebTool.waitTime(10);
}

@Then("Si visualizza il campo email modificabile")
public void siVisualizzaIlCampoEmailModificabile() {
logger.info("Si visualizza il campo email modificabile");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ public void nellaPaginaITuoiRecapitiSiInserisceLaPECDelDestinatario(String dpFil
recapitiDestinatarioPage.insertEmailPEC(emailPEC);
}

@And("Nella pagina I Tuoi Recapiti si inserisce l'email {string} per la PEC del destinatario")
public void nellaPaginaITuoiRecapitiSiInserisceLEmailPerLaPECDelDestinatario(String emailPEC) {
logger.info("Si inserisce la email PEC");
recapitiDestinatarioPage.insertEmailPEC(emailPEC);
}

@And("Nella pagina I Tuoi Recapiti si inserisce l'indirizzo della PEC {string}")
public void nellaPaginaITuoiRecapitiSiInserisceLIndirizzoDellaPECDelDestinatario(String emailPEC) {
logger.info("Si inserisce la email PEC");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public class RecapitiPGPagoPaTest {
private final RecapitiDestinatarioPage recapitiDestinatarioPage = new RecapitiDestinatarioPage(this.driver);

@And("Si visualizza correttamente la pagina Recapiti persona giuridica")
public void siVisualizzaRecapitiPagePersonaGiuridca(){
public void siVisualizzaRecapitiPagePersonaGiuridica(){
logger.info("Si visualizza correttamente la pagina Recapiti persona giuridica");

recapitiPGPage.waitLoadRecapitiPage();
Expand Down
Loading