1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-03-07 12:47:41 +01:00

Fix tests

This commit is contained in:
Thomas Zilio 2019-02-22 13:10:58 +01:00
parent af428c6058
commit 7f1a7e1d87
7 changed files with 19 additions and 25 deletions

View File

@ -79,18 +79,18 @@ Cerchiamo di essere disponibili quanto possibile, ma non sempre riusciamo a risp
Il progetto presenta, a partire dalla versione 2.4.2, un insieme di test per facilitare il controllo sul corretto funzionamento del gestionale.
Per eseguire i test è necessario seguire le seguenti istruzioni (https://codeception.com/docs/modules/WebDriver):
- Scaricare (Selenium Server)[https://docs.seleniumhq.org/download/] e salvarlo come `selenium-server-standalone.jar` nella cartella principale
- Scaricare (ChromeDriver)[https://sites.google.com/a/chromium.org/chromedriver/getting-started], rendendolo eseguibile da riga di comando (su Windows, aggiungerlo al PATH)
- Configurare localmente Codeception nel file `codeception.yml` con l'URL del web server locale
E' innanzitutto necessario configurare correttamente l'ambiente locale per l'esecuzione dei test:
- Impostare l'URL del web server locale nel file `codeception.yml` per Codeception
```yml
modules:
config:
WebDriver:
url: http://localhost/openstamanager
```
- Eseguire su shell differenti i seguenti comandi:
- Scaricare (ChromeDriver)[https://sites.google.com/a/chromium.org/chromedriver/getting-started], rendendolo eseguibile da riga di comando (su Windows, aggiungerlo al PATH)
E' quindi possibile eseguire i tests avviando dapprima il server ChromeDriver e poi Codeception in shell differenti:
```bash
npm run tests-server # Avvia i server per i test di funzionamento grafico
npm run tests-OSM # Avvia i test
chromedriver --url-base=/wd/hub
php codecept.phar run --steps
```

View File

@ -11,3 +11,4 @@ actor_suffix: Tester
extensions:
enabled:
- Codeception\Extension\RunFailed
- Codeception\Extension\Recorder

View File

@ -60,7 +60,7 @@
"symfony/var-dumper": "^3.3"
},
"require-dev": {
"codeception/codeception": "2.4.*",
"codeception/codeception": "^2.4",
"friendsofphp/php-cs-fixer": "^2.10",
"phpmd/phpmd": "2.6.0"
},

View File

@ -66,8 +66,6 @@
"assets-OSM": "yarn upgrade && yarn run build-OSM",
"build-OSM": "gulp",
"dump-OSM": "php composer.phar dump-autoload",
"tests-server": "concurrently \"java -jar selenium-server-standalone.jar\" \"chromedriver --url-base=/wd/hub\"",
"tests-OSM": "php codecept.phar run",
"windows-fix": "yarn global add windows-build-tools"
},
"overrides": {

View File

@ -1,6 +1,5 @@
<?php
/**
* Inherited Methods.
*
@ -111,10 +110,6 @@ class AcceptanceTester extends \Codeception\Actor
{
$t = $this;
if ($t->loadSessionSnapshot('login')) {
return;
}
// Operazioni di login
$t->amOnPage('/');
@ -126,8 +121,6 @@ class AcceptanceTester extends \Codeception\Actor
// Controlla il completamento del login
$t->see($username, '.user-panel');
$t->saveSessionSnapshot('login');
// Rimozione barra di debug
$t->executeJS('$(".phpdebugbar-close-btn").click()');
}

View File

@ -97,7 +97,7 @@ class RowHelper extends \Codeception\Module
$t->see('588,45', $this->getFinalValue('Totale'));
// Sconto globale in euro
$t->fillField('Sconto incondizionato', 100);
$t->fillField('#sconto_generico', 100);
$t->select2ajax('#tipo_sconto_generico', 'UNT');
$t->clickAndWait('Salva');
@ -108,7 +108,7 @@ class RowHelper extends \Codeception\Module
$t->see('466,45', $this->getFinalValue('Totale'));
// Sconto globale in percentuale
$t->fillField('Sconto incondizionato', 10);
$t->fillField('#sconto_generico', 10);
$t->select2ajax('#tipo_sconto_generico', 'PRC');
$t->clickAndWait('Salva');
@ -135,13 +135,12 @@ class RowHelper extends \Codeception\Module
protected function fill(AcceptanceTester $t, $descrizione, $qta, $prezzo, $sconto = 0, $tipo_sconto = 'UNT', $id_iva = null, $id_rivalsa_inps = null, $id_ritenuta_acconto = null)
{
$t->fillField('#descrizione_riga', $descrizione);
$t->fillField('Q.tà', $qta);
$t->fillField('#qta', $qta);
$label = ($this->dir == 'uscita') ? 'Prezzo unitario' : 'Prezzo unitario di vendita';
$t->fillField($label, $prezzo);
$t->fillField("#prezzo", $prezzo);
if (!empty($sconto)) {
$t->fillField('Sconto unitario', $sconto);
$t->fillField('#sconto', $sconto);
if (in_array($tipo_sconto, ['PRC', 'UNT'])) {
$t->select2ajax('#tipo_sconto', $tipo_sconto);

View File

@ -8,9 +8,12 @@ actor: AcceptanceTester
modules:
enabled:
- WebDriver:
window_size: false # disabled in ChromeDriver
port: 9515
browser: chrome
port: 9515 # ChromeDriver port
window_size: false
capabilities:
chromeOptions:
args: ["--headless", "--disable-gpu"]
- \Helper\Acceptance
- \Helper\Select2
- \Helper\Select2Ajax