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/resources/views/header.blade.php b/resources/views/header.blade.php index 6074859a018b..fe9107336451 100644 --- a/resources/views/header.blade.php +++ b/resources/views/header.blade.php @@ -354,7 +354,7 @@ // Focus the search input if the user clicks forward slash $('body').keypress(function(event) { - if (event.which == 47) { + if (event.which == 47 && !$('*:focus').length) { event.preventDefault(); showSearch(); } diff --git a/tests/acceptance/ExpenseCest.php b/tests/acceptance/ExpenseCest.php new file mode 100644 index 000000000000..01cc3112d83f --- /dev/null +++ b/tests/acceptance/ExpenseCest.php @@ -0,0 +1,56 @@ +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->wait(1); + $I->see($clientEmail); + $I->see($amount); + } +}