From 96ccce5db3a1776e2829c85058ab378e076dc6f6 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 24 Dec 2017 11:29:16 +0100 Subject: [PATCH] Expand tests. --- .../Transaction/SplitController.php | 14 ++- app/Models/Tag.php | 2 +- app/Models/TransactionCurrency.php | 2 +- .../Transaction/SplitControllerTest.php | 115 +++++++++++++++++- 4 files changed, 124 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/Transaction/SplitController.php b/app/Http/Controllers/Transaction/SplitController.php index 28f0eb040e..ae111b3827 100644 --- a/app/Http/Controllers/Transaction/SplitController.php +++ b/app/Http/Controllers/Transaction/SplitController.php @@ -63,6 +63,9 @@ class SplitController extends Controller /** @var JournalTaskerInterface */ private $tasker; + /** @var JournalRepositoryInterface */ + private $repository; + /** * */ @@ -78,6 +81,7 @@ class SplitController extends Controller $this->tasker = app(JournalTaskerInterface::class); $this->attachments = app(AttachmentHelperInterface::class); $this->currencies = app(CurrencyRepositoryInterface::class); + $this->repository = app(JournalRepositoryInterface::class); app('view')->share('mainTitleIcon', 'fa-share-alt'); app('view')->share('title', trans('firefly.split-transactions')); @@ -142,18 +146,17 @@ class SplitController extends Controller /** * @param SplitJournalFormRequest $request - * @param JournalRepositoryInterface $repository * @param TransactionJournal $journal * * @return $this|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ - public function update(SplitJournalFormRequest $request, JournalRepositoryInterface $repository, TransactionJournal $journal) + public function update(SplitJournalFormRequest $request, TransactionJournal $journal) { if ($this->isOpeningBalance($journal)) { return $this->redirectToAccount($journal); } $data = $this->arrayFromInput($request); - $journal = $repository->updateSplitJournal($journal, $data); + $journal = $this->repository->updateSplitJournal($journal, $data); /** @var array $files */ $files = $request->hasFile('attachments') ? $request->file('attachments') : null; // save attachments: @@ -229,7 +232,8 @@ class SplitController extends Controller $destinationAccounts = $journal->destinationAccountList(); $notes = ''; /** @var Note $note */ - $note = $journal->notes()->first(); + + $note = $this->repository->getNote($journal); if (null !== $note) { $notes = $note->text; } @@ -259,6 +263,7 @@ class SplitController extends Controller 'transactions' => $this->getTransactionDataFromJournal($journal), ]; // update transactions array with old request data. + $array['transactions'] = $this->updateWithPrevious($array['transactions'], $request->old()); return $array; @@ -346,6 +351,7 @@ class SplitController extends Controller return $array; } $old = $old['transactions']; + foreach ($old as $index => $row) { if (isset($array[$index])) { $array[$index] = array_merge($array[$index], $row); diff --git a/app/Models/Tag.php b/app/Models/Tag.php index 5a50dfe1a0..a9d674bb18 100644 --- a/app/Models/Tag.php +++ b/app/Models/Tag.php @@ -108,7 +108,7 @@ class Tag extends Model * * @throws \FireflyIII\Exceptions\FireflyException */ - public static function tagSum(self $tag): string + public static function tagSum(Tag $tag): string { $sum = '0'; /** @var TransactionJournal $journal */ diff --git a/app/Models/TransactionCurrency.php b/app/Models/TransactionCurrency.php index 2cb261e214..4bc95b9ef6 100644 --- a/app/Models/TransactionCurrency.php +++ b/app/Models/TransactionCurrency.php @@ -55,7 +55,7 @@ class TransactionCurrency extends Model * * @return TransactionCurrency */ - public static function routeBinder(self $currency) + public static function routeBinder(TransactionCurrency $currency) { if (auth()->check()) { return $currency; diff --git a/tests/Feature/Controllers/Transaction/SplitControllerTest.php b/tests/Feature/Controllers/Transaction/SplitControllerTest.php index a193a90ab6..b66b932c3e 100644 --- a/tests/Feature/Controllers/Transaction/SplitControllerTest.php +++ b/tests/Feature/Controllers/Transaction/SplitControllerTest.php @@ -24,6 +24,7 @@ namespace Tests\Feature\Controllers\Transaction; use FireflyIII\Helpers\Attachments\AttachmentHelperInterface; use FireflyIII\Models\AccountType; +use FireflyIII\Models\Note; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; use FireflyIII\Repositories\Account\AccountRepositoryInterface; @@ -48,6 +49,7 @@ class SplitControllerTest extends TestCase * @covers \FireflyIII\Http\Controllers\Transaction\SplitController::edit * @covers \FireflyIII\Http\Controllers\Transaction\SplitController::__construct * @covers \FireflyIII\Http\Controllers\Transaction\SplitController::arrayFromJournal + * @covers \FireflyIII\Http\Controllers\Transaction\SplitController::updateWithPrevious * @covers \FireflyIII\Http\Controllers\Transaction\SplitController::getTransactionDataFromJournal */ public function testEdit() @@ -74,6 +76,90 @@ class SplitControllerTest extends TestCase $response->assertSee('