Miglioramento base dei tests

This commit is contained in:
Thomas Zilio 2018-08-04 09:40:03 +02:00
parent 5c84399b70
commit e3a32b74cd
2 changed files with 68 additions and 3 deletions

View File

@ -17,12 +17,20 @@ class Acceptance extends \Codeception\Module
{ {
$t = $this->getAcceptanceModule(); $t = $this->getAcceptanceModule();
if ($t->loadSessionSnapshot('login')) {
return;
}
$t->amOnPage('/'); $t->amOnPage('/');
$t->fillField('username', $username); $t->fillField('username', $username);
$t->fillField('password', $password); $t->fillField('password', $password);
$this->clickAndWait('Accedi'); $this->clickAndWait('Accedi');
$t->see($username, '.user-panel');
$t->saveSessionSnapshot('login');
} }
/** /**
@ -55,6 +63,45 @@ class Acceptance extends \Codeception\Module
$t->waitForElementVisible('.modal'); $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. * Imposta il valore di un select gestito dal framework Select2.
* *

View File

@ -7,7 +7,7 @@ class AnagraficheCest
* *
* @param AcceptanceTester $t * @param AcceptanceTester $t
*/ */
public function addWorks(AcceptanceTester $t) public function addWorks(AcceptanceTester $t, $name = 'TEST', $tipo = 1)
{ {
// Effettua l'accesso con le credenziali fornite // Effettua l'accesso con le credenziali fornite
$t->login('admin', 'admin'); $t->login('admin', 'admin');
@ -19,8 +19,8 @@ class AnagraficheCest
$t->clickAndWaitModal('.btn-primary', '#tabs'); $t->clickAndWaitModal('.btn-primary', '#tabs');
// Completa i campi per il nuovo elemento // Completa i campi per il nuovo elemento
$t->fillField('Ragione sociale', 'TEST'); $t->fillField('Ragione sociale', $name);
$t->select2('#idtipoanagrafica', '1'); $t->select2('#idtipoanagrafica', $tipo);
// Effettua il submit // Effettua il submit
$t->clickAndWait('Aggiungi', '#add-form'); $t->clickAndWait('Aggiungi', '#add-form');
@ -28,4 +28,22 @@ class AnagraficheCest
// Controlla il salvataggio finale // Controlla il salvataggio finale
$t->see('Dati anagrafici'); $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!');
}
} }