openstamanager/tests/acceptance/OrdiniCest.php

96 lines
2.2 KiB
PHP
Raw Normal View History

2018-11-22 15:34:44 +01:00
<?php
use Helper\Common\RowHelper;
class OrdiniCest
{
/**
* @var Helper\SignUp
*/
protected $rowHelper;
protected function _inject(RowHelper $rowHelper)
{
$this->rowHelper = $rowHelper;
}
public function _before(\AcceptanceTester $t)
{
// Effettua l'accesso con le credenziali fornite
$t->login('admin', 'admin');
}
/**
* Crea un nuovo ordine.
*
* @param AcceptanceTester $t
*/
protected function addOrdine(AcceptanceTester $t, $entrata, $anagrafica)
{
// Seleziona il modulo da aprire
$t->expandSidebarLink($entrata == true ? 'Vendite' : 'Acquisti');
$t->navigateTo($entrata == true ? 'Ordini cliente' : 'Ordini fornitore');
// Apre la schermata di nuovo elemento
$t->clickAndWaitModal('.btn-primary', '#tabs');
// Completa i campi per il nuovo elemento
$t->select2ajax('#idanagrafica', $anagrafica);
// Effettua il submit
$t->clickAndWait('Aggiungi', '#add-form');
// Controlla il salvataggio finale
$t->see('Aggiunto ordine');
}
/**
* Crea una nuova anagrafica di tipo cliente e la elimina.
*
* @param AcceptanceTester $t
*/
protected function addAndDeleteOrdine(AcceptanceTester $t, $entrata, $anagrafica = 2)
{
$this->addAnag($t, $entrata, $anagrafica);
// Seleziona l'azione di eliminazione
$t->clickAndWaitSwal('Elimina', '#tab_0');
// Conferma l'eliminazione
$t->clickSwalButton('Elimina');
// Controlla eliminazione
$t->see('Ordine eliminato!', '.alert-success');
}
/**
* Crea un nuovo ordine.
*
* @param AcceptanceTester $t
*/
public function testOrdineCliente(AcceptanceTester $t)
{
$this->addOrdine($t, true, 2);
$this->rowHelper->testImporti($t);
//$t->click('Stampa');
}
/**
* Crea un nuovo ordine.
*
* @param AcceptanceTester $t
*/
public function testOrdineFornitore(AcceptanceTester $t)
{
$this->addOrdine($t, false, 4);
// Fix pagamento vuoto
$t->select2('#idpagamento', 109);
$t->clickAndWait('Salva');
$this->rowHelper->testImporti($t);
}
}