From b73884160acfe98f490a7ae30613277fc92272e9 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 31 Dec 2017 10:40:27 +0100 Subject: [PATCH] Fix account controller + coverage. --- app/Http/Controllers/AccountController.php | 14 +- .../Account/AccountRepository.php | 10 + .../Account/AccountRepositoryInterface.php | 7 + resources/views/transactions/bulk/edit.twig | 24 +- .../Controllers/AccountControllerTest.php | 6 + .../Transaction/BulkControllerTest.php | 217 ++++++++++++++++++ .../Transaction/MassControllerTest.php | 4 + 7 files changed, 254 insertions(+), 28 deletions(-) create mode 100644 tests/Feature/Controllers/Transaction/BulkControllerTest.php diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index bb9d6d0b04..8005640860 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -157,14 +157,14 @@ class AccountController extends Controller * @throws FireflyException * @throws FireflyException */ - public function edit(Request $request, Account $account) + public function edit(Request $request, Account $account, AccountRepositoryInterface $repository) { - /** @var CurrencyRepositoryInterface $repository */ - $repository = app(CurrencyRepositoryInterface::class); + /** @var CurrencyRepositoryInterface $currencyRepos */ + $currencyRepos = app(CurrencyRepositoryInterface::class); $what = config('firefly.shortNamesByFullName')[$account->accountType->type]; $subTitle = trans('firefly.edit_' . $what . '_account', ['name' => $account->name]); $subTitleIcon = config('firefly.subIconsByIdentifier.' . $what); - $allCurrencies = $repository->get(); + $allCurrencies = $currencyRepos->get(); $currencySelectList = ExpandedForm::makeSelectList($allCurrencies); $roles = []; foreach (config('firefly.accountRoles') as $role) { @@ -184,7 +184,7 @@ class AccountController extends Controller $openingBalanceAmount = '0' === $account->getOpeningBalanceAmount() ? '' : $openingBalanceAmount; $openingBalanceDate = $account->getOpeningBalanceDate(); $openingBalanceDate = 1900 === $openingBalanceDate->year ? null : $openingBalanceDate->format('Y-m-d'); - $currency = $repository->find(intval($account->getMeta('currency_id'))); + $currency = $currencyRepos->find(intval($account->getMeta('currency_id'))); $preFilled = [ 'accountNumber' => $account->getMeta('accountNumber'), @@ -196,10 +196,10 @@ class AccountController extends Controller 'openingBalance' => $openingBalanceAmount, 'virtualBalance' => $account->virtual_balance, 'currency_id' => $currency->id, - 'notes' => '', + 'notes' => '', ]; /** @var Note $note */ - $note = $account->notes()->first(); + $note = $repository->getNote($account); if (null !== $note) { $preFilled['notes'] = $note->text; } diff --git a/app/Repositories/Account/AccountRepository.php b/app/Repositories/Account/AccountRepository.php index 291166d511..3a6d0155bb 100644 --- a/app/Repositories/Account/AccountRepository.php +++ b/app/Repositories/Account/AccountRepository.php @@ -87,6 +87,16 @@ class AccountRepository implements AccountRepositoryInterface return true; } + /** + * @param Account $account + * + * @return Note|null + */ + public function getNote(Account $account): ?Note + { + return $account->notes()->first(); + } + /** * Returns the date of the very last transaction in this account. * diff --git a/app/Repositories/Account/AccountRepositoryInterface.php b/app/Repositories/Account/AccountRepositoryInterface.php index 985b32104c..145c7aeeb0 100644 --- a/app/Repositories/Account/AccountRepositoryInterface.php +++ b/app/Repositories/Account/AccountRepositoryInterface.php @@ -24,6 +24,7 @@ namespace FireflyIII\Repositories\Account; use Carbon\Carbon; use FireflyIII\Models\Account; +use FireflyIII\Models\Note; use FireflyIII\Models\TransactionJournal; use FireflyIII\User; use Illuminate\Support\Collection; @@ -33,6 +34,12 @@ use Illuminate\Support\Collection; */ interface AccountRepositoryInterface { + /** + * @param Account $account + * + * @return Note|null + */ + public function getNote(Account $account): ?Note; /** * Moved here from account CRUD. * diff --git a/resources/views/transactions/bulk/edit.twig b/resources/views/transactions/bulk/edit.twig index 5c7c3d0cc8..4957e9eeb8 100644 --- a/resources/views/transactions/bulk/edit.twig +++ b/resources/views/transactions/bulk/edit.twig @@ -79,7 +79,7 @@
@@ -97,7 +97,7 @@
@@ -111,7 +111,7 @@
@@ -121,24 +121,6 @@ -