From 3ef84dc1fc4b52fea5447c063af490f8bc6ed33a Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 2 Mar 2016 13:13:33 +0100 Subject: [PATCH] Cleanup and fix tests. --- app/Helpers/Collection/Account.php | 14 +++-- app/Helpers/Collection/Balance.php | 2 +- app/Http/Controllers/ReportController.php | 8 ++- .../Controllers/ReportControllerTest.php | 52 ++++++++++++------- 4 files changed, 51 insertions(+), 25 deletions(-) diff --git a/app/Helpers/Collection/Account.php b/app/Helpers/Collection/Account.php index b9256a0a9a..24ef263642 100644 --- a/app/Helpers/Collection/Account.php +++ b/app/Helpers/Collection/Account.php @@ -16,11 +16,19 @@ class Account /** @var Collection */ protected $accounts; /** @var string */ - protected $difference; + protected $difference = ''; /** @var string */ - protected $end; + protected $end = ''; /** @var string */ - protected $start; + protected $start = ''; + + /** + * Account constructor. + */ + public function __construct() + { + $this->accounts = new Collection; + } /** * @return Collection diff --git a/app/Helpers/Collection/Balance.php b/app/Helpers/Collection/Balance.php index 82549b9248..41db832ef7 100644 --- a/app/Helpers/Collection/Balance.php +++ b/app/Helpers/Collection/Balance.php @@ -41,7 +41,7 @@ class Balance */ public function getBalanceHeader(): BalanceHeader { - return $this->balanceHeader; + return $this->balanceHeader ?? new BalanceHeader; } /** diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index d9cbc3796e..b416c7fa63 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -2,6 +2,9 @@ use Carbon\Carbon; use FireflyIII\Exceptions\FireflyException; +use FireflyIII\Helpers\Report\AccountReportHelperInterface; +use FireflyIII\Helpers\Report\BalanceReportHelperInterface; +use FireflyIII\Helpers\Report\BudgetReportHelperInterface; use FireflyIII\Helpers\Report\ReportHelperInterface; use FireflyIII\Models\Account; use FireflyIII\Repositories\Account\AccountRepositoryInterface as ARI; @@ -19,9 +22,12 @@ use View; class ReportController extends Controller { - + /** @var AccountReportHelperInterface */ protected $accountHelper; + /** @var BalanceReportHelperInterface */ protected $balanceHelper; + + /** @var BudgetReportHelperInterface */ protected $budgetHelper; /** @var ReportHelperInterface */ protected $helper; diff --git a/tests/acceptance/Controllers/ReportControllerTest.php b/tests/acceptance/Controllers/ReportControllerTest.php index 72bc946c06..b5a7c4c8bf 100644 --- a/tests/acceptance/Controllers/ReportControllerTest.php +++ b/tests/acceptance/Controllers/ReportControllerTest.php @@ -11,6 +11,9 @@ use FireflyIII\Helpers\Collection\Bill as BillCollection; use FireflyIII\Helpers\Collection\Category as CategoryCollection; use FireflyIII\Helpers\Collection\Expense; use FireflyIII\Helpers\Collection\Income; +use FireflyIII\Helpers\Collection\Account as AccountCollection; +use FireflyIII\Helpers\Collection\Budget as BudgetCollection; +use FireflyIII\Helpers\Collection\Balance; /** * Generated by PHPUnit_SkeletonGenerator on 2016-01-19 at 15:39:28. @@ -44,34 +47,28 @@ class ReportControllerTest extends TestCase public function testReportDefaultMonth($range) { // mock some stuff. - $repository = $this->mock('FireflyIII\Helpers\Report\ReportHelperInterface'); - $repository->shouldReceive('getCategoryReport')->once()->andReturn(new CategoryCollection); - $repository->shouldReceive('getIncomeReport')->once()->andReturn(new Income); - $repository->shouldReceive('getExpenseReport')->once()->andReturn(new Expense); - $repository->shouldReceive('getBillReport')->once()->andReturn(new BillCollection); + $accountHelper = $this->mock('FireflyIII\Helpers\Report\AccountReportHelperInterface'); + $budgetHelper = $this->mock('FireflyIII\Helpers\Report\BudgetReportHelperInterface'); + $balanceHelper = $this->mock('FireflyIII\Helpers\Report\BalanceReportHelperInterface'); + $defaultHelper = $this->mock('FireflyIII\Helpers\Report\ReportHelperInterface'); + + $accountHelper->shouldReceive('getAccountReport')->once()->andReturn(new AccountCollection); + $defaultHelper->shouldReceive('getIncomeReport')->once()->andReturn(new Income); + $defaultHelper->shouldReceive('getExpenseReport')->once()->andReturn(new Expense); + $budgetHelper->shouldReceive('getBudgetReport')->once()->andReturn(new BudgetCollection); + $defaultHelper->shouldReceive('getCategoryReport')->once()->andReturn(new CategoryCollection); + $balanceHelper->shouldReceive('getBalanceReport')->once()->andReturn(new Balance); + $defaultHelper->shouldReceive('getBillReport')->once()->andReturn(new BillCollection); + $defaultHelper->shouldReceive('tagReport')->once()->andReturn([]); + $this->be($this->user()); $this->changeDateRange($this->user(), $range); $this->call('GET', '/reports/report/default/20160101/20160131/1,2'); $this->assertResponseStatus(200); } - /** - * @covers FireflyIII\Http\Controllers\ReportController::report - * @covers FireflyIII\Http\Controllers\ReportController::defaultYear - * @dataProvider dateRangeProvider - * - * @param $range - */ - public function testReportDefaultYear($range) - { - $this->be($this->user()); - $this->changeDateRange($this->user(), $range); - $this->call('GET', '/reports/report/default/20160101/20161231/1,2'); - $this->assertResponseStatus(200); - } - /** * @covers FireflyIII\Http\Controllers\ReportController::report * @covers FireflyIII\Http\Controllers\ReportController::defaultMultiYear @@ -86,4 +83,19 @@ class ReportControllerTest extends TestCase $this->call('GET', '/reports/report/default/20160101/20171231/1,2'); $this->assertResponseStatus(200); } + + /** + * @covers FireflyIII\Http\Controllers\ReportController::report + * @covers FireflyIII\Http\Controllers\ReportController::defaultYear + * @dataProvider dateRangeProvider + * + * @param $range + */ + public function testReportDefaultYear($range) + { + $this->be($this->user()); + $this->changeDateRange($this->user(), $range); + $this->call('GET', '/reports/report/default/20160101/20161231/1,2'); + $this->assertResponseStatus(200); + } }