mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-01-05 21:53:08 -06:00
203 lines
6.1 KiB
PHP
203 lines
6.1 KiB
PHP
<?php
|
|
|
|
/**
|
|
*
|
|
* @SuppressWarnings("CamelCase")
|
|
* @SuppressWarnings("short")
|
|
*
|
|
* Class CurrencyControllerCest
|
|
*/
|
|
class CurrencyControllerCest
|
|
{
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function _after(FunctionalTester $I)
|
|
{
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function _before(FunctionalTester $I)
|
|
{
|
|
$I->amLoggedAs(['email' => 'thegrumpydictator@gmail.com', 'password' => 'james']);
|
|
}
|
|
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function create(FunctionalTester $I)
|
|
{
|
|
$I->wantTo('create a currency');
|
|
$I->amOnRoute('currency.create');
|
|
$I->see('Create a new currency');
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function defaultCurrency(FunctionalTester $I)
|
|
{
|
|
$I->wantTo('make US Dollar the default currency');
|
|
$I->amOnPage('/currency/default/2');
|
|
$I->see('US Dollar is now the default currency.');
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function delete(FunctionalTester $I)
|
|
{
|
|
$I->wantTo('delete a currency');
|
|
$I->amOnPage('/currency/delete/3');
|
|
$I->see('Delete currency "Hungarian forint"');
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function destroy(FunctionalTester $I)
|
|
{
|
|
$I->wantTo('destroy a currency');
|
|
$I->amOnPage('/currency/delete/3');
|
|
$I->see('Delete currency "Hungarian forint"');
|
|
$I->submitForm('#destroy', []);
|
|
$I->see('Currency "Hungarian forint" deleted');
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function destroyFail(FunctionalTester $I)
|
|
{
|
|
$I->wantTo('destroy a currency currently in use');
|
|
$I->amOnPage('/currency/delete/1');
|
|
$I->see('Cannot delete Euro because there are still transactions attached to it.');
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function edit(FunctionalTester $I)
|
|
{
|
|
$I->wantTo('edit a currency');
|
|
$I->amOnPage('/currency/edit/2');
|
|
$I->see('Edit currency "US Dollar"');
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function failUpdate(FunctionalTester $I)
|
|
{
|
|
$I->wantTo('update a currency and fail');
|
|
$I->amOnPage('/currency/edit/2');
|
|
$I->see('Edit currency "US Dollar"');
|
|
$I->submitForm('#update', ['name' => 'Failed update', 'code' => '123', 'post_submit_action' => 'update']);
|
|
$I->dontSeeRecord('transaction_currencies', ['name' => 'Failed update']);
|
|
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function index(FunctionalTester $I)
|
|
{
|
|
$I->wantTo('show all currencies');
|
|
$I->amOnPage('/currency');
|
|
$I->see('fa-usd');
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function store(FunctionalTester $I)
|
|
{
|
|
$I->amOnPage('/currency/create');
|
|
$I->wantTo('store a new currency');
|
|
$I->see('Create a new currency');
|
|
$I->submitForm('#store', ['name' => 'New currency.', 'symbol' => 'C', 'code' => 'CXX', 'post_submit_action' => 'store']);
|
|
$I->seeRecord('transaction_currencies', ['name' => 'New currency.']);
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function storeAndCreateAnother(FunctionalTester $I)
|
|
{
|
|
$I->amOnPage('/currency/create');
|
|
$I->wantTo('store a new currency and create another');
|
|
$I->see('Create a new currency');
|
|
$I->submitForm('#store', ['name' => 'Store and create another.', 'symbol' => 'C', 'code' => 'CXX', 'post_submit_action' => 'create_another']);
|
|
$I->seeRecord('transaction_currencies', ['name' => 'Store and create another.']);
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function storeFail(FunctionalTester $I)
|
|
{
|
|
$I->amOnPage('/currency/create');
|
|
$I->wantTo('make storing a new currency fail.');
|
|
$I->see('Create a new currency');
|
|
$I->submitForm('#store', ['name' => 'Store and fail', 'symbol' => null, 'code' => '123', 'post_submit_action' => 'store']);
|
|
$I->dontSeeRecord('transaction_currencies', ['name' => 'Store and fail']);
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function storeValidateOnly(FunctionalTester $I)
|
|
{
|
|
$I->amOnPage('/currency/create');
|
|
$I->wantTo('validate a new currency');
|
|
$I->see('Create a new currency');
|
|
$I->submitForm('#store', ['name' => 'Store validate only.', 'symbol' => 'C', 'code' => 'CXX', 'post_submit_action' => 'validate_only']);
|
|
$I->dontSeeRecord('transaction_currencies', ['name' => 'Store validate only.']);
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function update(FunctionalTester $I)
|
|
{
|
|
$I->wantTo('update a currency');
|
|
$I->amOnPage('/currency/edit/2');
|
|
$I->see('Edit currency "US Dollar"');
|
|
$I->submitForm('#update', ['name' => 'Successful update', 'symbol' => '$', 'code' => 'USD', 'post_submit_action' => 'update']);
|
|
$I->seeRecord('transaction_currencies', ['name' => 'Successful update']);
|
|
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function updateAndReturn(FunctionalTester $I)
|
|
{
|
|
$I->wantTo('update a currency and return to form');
|
|
$I->amOnPage('/currency/edit/2');
|
|
$I->see('Edit currency "US Dollar"');
|
|
$I->submitForm(
|
|
'#update', ['name' => 'US DollarXXX', 'symbol' => '$', 'code' => 'USD', 'post_submit_action' => 'return_to_edit']
|
|
);
|
|
$I->seeRecord('transaction_currencies', ['name' => 'US DollarXXX']);
|
|
|
|
}
|
|
|
|
/**
|
|
* @param FunctionalTester $I
|
|
*/
|
|
public function validateUpdateOnly(FunctionalTester $I)
|
|
{
|
|
$I->wantTo('update a currency and validate only');
|
|
$I->amOnPage('/currency/edit/2');
|
|
$I->see('Edit currency "US Dollar"');
|
|
$I->submitForm('#update', ['name' => 'Update Validate Only', 'post_submit_action' => 'validate_only']);
|
|
$I->dontSeeRecord('transaction_currencies', ['name' => 'Update Validate Only']);
|
|
$I->seeRecord('transaction_currencies', ['name' => 'US Dollar']);
|
|
|
|
}
|
|
}
|