From e3a32b74cd8b4f71a161b0939d96e825def1e2a0 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Sat, 4 Aug 2018 09:40:03 +0200 Subject: [PATCH] Miglioramento base dei tests --- tests/_support/Helper/Acceptance.php | 47 ++++++++++++++++++++++++++++ tests/acceptance/AnagraficheCest.php | 24 ++++++++++++-- 2 files changed, 68 insertions(+), 3 deletions(-) diff --git a/tests/_support/Helper/Acceptance.php b/tests/_support/Helper/Acceptance.php index 3d9f9fb02..f87473ef6 100644 --- a/tests/_support/Helper/Acceptance.php +++ b/tests/_support/Helper/Acceptance.php @@ -17,12 +17,20 @@ class Acceptance extends \Codeception\Module { $t = $this->getAcceptanceModule(); + if ($t->loadSessionSnapshot('login')) { + return; + } + $t->amOnPage('/'); $t->fillField('username', $username); $t->fillField('password', $password); $this->clickAndWait('Accedi'); + + $t->see($username, '.user-panel'); + + $t->saveSessionSnapshot('login'); } /** @@ -55,6 +63,45 @@ class Acceptance extends \Codeception\Module $t->waitForElementVisible('.modal'); } + /** + * Clicca sul pulsante dentro il modal. + * + * @param $link + */ + public function clickModalButton($link) + { + $t = $this->getAcceptanceModule(); + + $this->clickAndWait($link, '.modal-content'); + } + + /** + * Clicca sul pulsante e attende la conclusione del caricamento del modal SWAL. + * + * @param $link + * @param $context + */ + public function clickAndWaitSwal($link, $context = null) + { + $t = $this->getAcceptanceModule(); + + $this->clickAndWait($link, $context); + + $t->waitForElementVisible('.swal2-modal'); + } + + /** + * Clicca sul pulsante dentro il modal SWAL. + * + * @param $link + */ + public function clickSwalButton($link) + { + $t = $this->getAcceptanceModule(); + + $this->clickAndWait($link, '.swal2-buttonswrapper'); + } + /** * Imposta il valore di un select gestito dal framework Select2. * diff --git a/tests/acceptance/AnagraficheCest.php b/tests/acceptance/AnagraficheCest.php index a3e63a7d6..04fd717e0 100644 --- a/tests/acceptance/AnagraficheCest.php +++ b/tests/acceptance/AnagraficheCest.php @@ -7,7 +7,7 @@ class AnagraficheCest * * @param AcceptanceTester $t */ - public function addWorks(AcceptanceTester $t) + public function addWorks(AcceptanceTester $t, $name = 'TEST', $tipo = 1) { // Effettua l'accesso con le credenziali fornite $t->login('admin', 'admin'); @@ -19,8 +19,8 @@ class AnagraficheCest $t->clickAndWaitModal('.btn-primary', '#tabs'); // Completa i campi per il nuovo elemento - $t->fillField('Ragione sociale', 'TEST'); - $t->select2('#idtipoanagrafica', '1'); + $t->fillField('Ragione sociale', $name); + $t->select2('#idtipoanagrafica', $tipo); // Effettua il submit $t->clickAndWait('Aggiungi', '#add-form'); @@ -28,4 +28,22 @@ class AnagraficheCest // Controlla il salvataggio finale $t->see('Dati anagrafici'); } + + /** + * Crea una nuova anagrafica di tipo Cliente. + * + * @param AcceptanceTester $t + */ + public function addAndDeleteWorks(AcceptanceTester $t) + { + $this->addWorks($t, 'TEST DELETE'); + + // Seleziona l'azione di eliminazione + $t->clickAndWaitSwal('Elimina', '#tab_0'); + + // Conferma l'eliminazione + $t->clickSwalButton('Elimina'); + + $t->see('Anagrafica eliminata!'); + } }