openstamanager/tests/acceptance/FattureCest.php

95 lines
2.3 KiB
PHP
Raw Normal View History

2018-10-13 12:16:26 +02:00
<?php
2018-10-25 16:57:39 +02:00
use Helper\Common\RowHelper;
2018-10-20 10:12:23 +02:00
2018-10-13 12:16:26 +02:00
class FattureCest
{
2018-10-20 10:12:23 +02:00
/**
* @var Helper\SignUp
*/
protected $rowHelper;
public function _before(\AcceptanceTester $t)
{
// Effettua l'accesso con le credenziali fornite
$t->login('admin', 'admin');
}
2018-12-29 12:03:22 +01:00
/**
* Crea una nuova fattura di vendita.
*
* @param AcceptanceTester $t
*/
public function testFatturaDiVendita(AcceptanceTester $t)
{
$this->addFattura($t, true, 2, 2);
$this->rowHelper->testImporti($t);
}
/**
* Crea una nuova fattura di acquisto.
*
* @param AcceptanceTester $t
*/
public function testFatturaDiAcquisto(AcceptanceTester $t)
{
$this->addFattura($t, false, 1, 4);
// Fix pagamento vuoto
$t->select2('#idpagamento', 109);
$t->clickAndWait('Salva');
$this->rowHelper->testImporti($t, 'uscita');
}
protected function _inject(RowHelper $rowHelper)
{
$this->rowHelper = $rowHelper;
}
2018-10-13 12:16:26 +02:00
/**
2018-11-22 15:34:44 +01:00
* Crea una nuova fattura.
2018-10-13 12:16:26 +02:00
*
* @param AcceptanceTester $t
*/
protected function addFattura(AcceptanceTester $t, $entrata, $tipo, $anagrafica)
{
// Seleziona il modulo da aprire
$t->expandSidebarLink($entrata == true ? 'Vendite' : 'Acquisti');
$t->navigateTo($entrata == true ? 'Fatture di vendita' : 'Fatture di acquisto');
// Apre la schermata di nuovo elemento
$t->clickAndWaitModal('.btn-primary', '#tabs');
// Completa i campi per il nuovo elemento
$t->select2ajax('#idanagrafica_add', $anagrafica);
$t->select2('#idtipodocumento', $tipo);
// Effettua il submit
$t->clickAndWait('Aggiungi', '#add-form');
// Controlla il salvataggio finale
2018-11-22 15:34:44 +01:00
$t->see('Aggiunta fattura');
2018-10-13 12:16:26 +02:00
}
/**
2018-11-22 15:34:44 +01:00
* Crea una nuova fattura e la elimina.
2018-10-13 12:16:26 +02:00
*
* @param AcceptanceTester $t
*/
protected function addAndDeleteFattura(AcceptanceTester $t, $cliente = 2, $tipo)
{
$this->addAnag($t, $cliente, $tipo);
// Seleziona l'azione di eliminazione
$t->clickAndWaitSwal('Elimina', '#tab_0');
// Conferma l'eliminazione
$t->clickSwalButton('Elimina');
// Controlla eliminazione
2018-11-22 15:34:44 +01:00
$t->see('Fattura eliminata!', '.alert-success');
2018-10-13 12:16:26 +02:00
}
}