From ce2e8c149a819af06189063fb94aa0ffb602a9bb Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Fri, 26 Feb 2016 11:47:39 +0200 Subject: [PATCH] Added test for vendors and expenses --- .travis.yml | 1 + tests/acceptance/ExpenseCest.php | 55 ++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 tests/acceptance/ExpenseCest.php diff --git a/.travis.yml b/.travis.yml index e3b0e7301e69..015fda1427a8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -67,6 +67,7 @@ script: - php ./vendor/codeception/codeception/codecept run --debug acceptance APICest.php - php ./vendor/codeception/codeception/codecept run --debug acceptance CheckBalanceCest.php - php ./vendor/codeception/codeception/codecept run --debug acceptance ClientCest.php + - php ./vendor/codeception/codeception/codecept run --debug acceptance ExpenseCest.php - php ./vendor/codeception/codeception/codecept run --debug acceptance CreditCest.php - php ./vendor/codeception/codeception/codecept run --debug acceptance InvoiceCest.php - php ./vendor/codeception/codeception/codecept run --debug acceptance InvoiceDesignCest.php diff --git a/tests/acceptance/ExpenseCest.php b/tests/acceptance/ExpenseCest.php new file mode 100644 index 000000000000..a329f7a1d294 --- /dev/null +++ b/tests/acceptance/ExpenseCest.php @@ -0,0 +1,55 @@ +checkIfLogin($I); + + $this->faker = Factory::create(); + } + + public function createExpense(AcceptanceTester $I) + { + $I->wantTo('Create an expense'); + + $vendorName = $this->faker->name; + $clientEmail = $this->faker->safeEmail; + $amount = $this->faker->numberBetween(10, 20); + + // create vendor + $I->amOnPage('/vendors/create'); + $I->fillField(['name' => 'name'], $vendorName); + $I->click('Save'); + $I->see($vendorName); + $vendorId = $I->grabFromDatabase('vendors', 'id', ['name' => $vendorName]); + + // create client + $I->amOnPage('/clients/create'); + $I->fillField(['name' => 'contacts[0][email]'], $clientEmail); + $I->click('Save'); + $I->see($clientEmail); + + // create expense + $I->amOnPage('/expenses/create'); + $I->fillField(['name' => 'amount'], $amount); + $I->selectDropdown($I, $vendorName, '.vendor-select .dropdown-toggle'); + $I->selectDropdown($I, $clientEmail, '.client-select .dropdown-toggle'); + $I->click('Save'); + $I->seeInDatabase('expenses', ['vendor_id' => $vendorId]); + + // invoice expense + $I->executeJS('submitAction(\'invoice\')'); + $I->click('Save'); + $I->see($clientEmail); + $I->see($amount); + } +}