From 49d7dea086644432ad3dde2a121624ec008d2dfe Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 15 May 2015 23:02:42 +0200 Subject: [PATCH] Fixed some coverage. --- .../controllers/GoogleChartControllerTest.php | 4 +- .../controllers/PreferencesControllerTest.php | 3 +- tests/controllers/ReportControllerTest.php | 87 ++++++++++++++++++- 3 files changed, 87 insertions(+), 7 deletions(-) diff --git a/tests/controllers/GoogleChartControllerTest.php b/tests/controllers/GoogleChartControllerTest.php index 86ddb053fd..cec841a503 100644 --- a/tests/controllers/GoogleChartControllerTest.php +++ b/tests/controllers/GoogleChartControllerTest.php @@ -324,7 +324,7 @@ class GoogleChartControllerTest extends TestCase Preferences::shouldReceive('get')->withAnyArgs()->andReturn($language); - $this->call('GET', '/chart/reports/income-expenses/2015'); + $this->call('GET', '/chart/reports/income-expenses/2015/shared'); $this->assertResponseOk(); } @@ -353,7 +353,7 @@ class GoogleChartControllerTest extends TestCase Preferences::shouldReceive('get')->withAnyArgs()->andReturn($language); - $this->call('GET', '/chart/reports/income-expenses-sum/2015'); + $this->call('GET', '/chart/reports/income-expenses-sum/2015/shared'); } } diff --git a/tests/controllers/PreferencesControllerTest.php b/tests/controllers/PreferencesControllerTest.php index 67dfdfb80d..37fd226a33 100644 --- a/tests/controllers/PreferencesControllerTest.php +++ b/tests/controllers/PreferencesControllerTest.php @@ -77,7 +77,8 @@ class PreferencesControllerTest extends TestCase $data = [ 'frontPageAccounts' => [1, 2, 3], '_token' => 'replaceMe', - 'viewRange' => '1M' + 'viewRange' => '1M', + 'language' => 'en', ]; Preferences::shouldReceive('set')->once()->withArgs(['frontPageAccounts', [1, 2, 3]]); diff --git a/tests/controllers/ReportControllerTest.php b/tests/controllers/ReportControllerTest.php index 3b65c0087a..1af2811b94 100644 --- a/tests/controllers/ReportControllerTest.php +++ b/tests/controllers/ReportControllerTest.php @@ -1,4 +1,5 @@ be($user); // mock stuff - $helper = $this->mock('FireflyIII\Helpers\Report\ReportHelperInterface'); + $helper = $this->mock('FireflyIII\Helpers\Report\ReportHelperInterface'); + $repository = $this->mock('FireflyIII\Repositories\Account\AccountRepositoryInterface'); + $account = FactoryMuffin::create('FireflyIII\Models\Account'); + + // make shared: + AccountMeta::create( + [ + 'account_id' => $account->id, + 'name' => 'accountRole', + 'data' => 'sharedAsset' + ] + ); $helper->shouldReceive('listOfMonths')->andReturn([]); $helper->shouldReceive('listOfYears')->andReturn([]); + $repository->shouldReceive('getAccounts')->andReturn(new Collection([$account])); $this->call('GET', '/reports'); @@ -102,11 +115,75 @@ class ReportControllerTest extends TestCase } + public function testMonth() + { + $user = FactoryMuffin::create('FireflyIII\User'); + $account = FactoryMuffin::create('FireflyIII\Models\Account'); + $budget1 = FactoryMuffin::create('FireflyIII\Models\Budget'); + $budget1->queryAmount = 12; + $budget2 = FactoryMuffin::create('FireflyIII\Models\Budget'); + $budget2->queryAmount = 0; + $this->be($user); + + // mock! + $query = $this->mock('FireflyIII\Helpers\Report\ReportQueryInterface'); + + // fake! + $query->shouldReceive('incomeInPeriod')->andReturn([]); + $query->shouldReceive('journalsByExpenseAccount')->andReturn(new Collection); + $query->shouldReceive('getAllAccounts')->andReturn(new Collection([$account])); + $query->shouldReceive('getBudgetSummary')->andReturn(new Collection([$budget1, $budget2])); + $query->shouldReceive('journalsByBudget')->andReturn(new Collection); + $query->shouldReceive('journalsByCategory')->andReturn(new Collection); + $query->shouldReceive('balancedTransactionsSum')->andReturn(0); + $query->shouldReceive('sharedExpenses')->andReturn(new Collection); + $query->shouldReceive('sharedExpensesByCategory')->andReturn(new Collection); + + $this->call('GET', '/reports/2015/1'); + $this->assertResponseOk(); + } + + public function testMonthShared() + { + $user = FactoryMuffin::create('FireflyIII\User'); + $account = FactoryMuffin::create('FireflyIII\Models\Account'); + $budget1 = FactoryMuffin::create('FireflyIII\Models\Budget'); + $budget1->queryAmount = 12; + $budget2 = FactoryMuffin::create('FireflyIII\Models\Budget'); + $budget2->queryAmount = 0; + $this->be($user); + + // mock! + $query = $this->mock('FireflyIII\Helpers\Report\ReportQueryInterface'); + + // fake! + $query->shouldReceive('incomeInPeriod')->andReturn([]); + $query->shouldReceive('journalsByExpenseAccount')->andReturn(new Collection); + $query->shouldReceive('getAllAccounts')->andReturn(new Collection([$account])); + $query->shouldReceive('getBudgetSummary')->andReturn(new Collection([$budget1, $budget2])); + $query->shouldReceive('journalsByBudget')->andReturn(new Collection); + $query->shouldReceive('journalsByCategory')->andReturn(new Collection); + $query->shouldReceive('balancedTransactionsSum')->andReturn(0); + + $this->call('GET', '/reports/2015/1/shared'); + $this->assertResponseOk(); + } + public function testYear() { $user = FactoryMuffin::create('FireflyIII\User'); $journal = FactoryMuffin::create('FireflyIII\Models\TransactionJournal'); $currency = FactoryMuffin::create('FireflyIII\Models\TransactionCurrency'); + $account = FactoryMuffin::create('FireflyIII\Models\Account'); + + // make shared: + AccountMeta::create( + [ + 'account_id' => $account->id, + 'name' => 'accountRole', + 'data' => 'sharedAsset' + ] + ); $journals = new Collection([$journal]); $this->be($user); @@ -114,9 +191,11 @@ class ReportControllerTest extends TestCase $helper = $this->mock('FireflyIII\Helpers\Report\ReportHelperInterface'); $query = $this->mock('FireflyIII\Helpers\Report\ReportQueryInterface'); + $helper->shouldReceive('yearBalanceReport')->withAnyArgs()->andReturn([]); - $query->shouldReceive('getAllAccounts')->withAnyArgs()->andReturn([]); - $query->shouldReceive('incomeInPeriod')->withAnyArgs()->andReturn([]); + $query->shouldReceive('getAllAccounts')->withAnyArgs()->andReturn(new Collection([$account])); + + $query->shouldReceive('incomeInPeriod')->withAnyArgs()->andReturn(new Collection([$journal, $journal])); $query->shouldReceive('journalsByRevenueAccount')->withAnyArgs()->andReturn($journals); $query->shouldReceive('journalsByExpenseAccount')->withAnyArgs()->andReturn($journals); @@ -127,7 +206,7 @@ class ReportControllerTest extends TestCase Amount::shouldReceive('getCurrencySymbol')->andReturn('X'); Amount::shouldReceive('format')->andReturn('X'); - $this->call('GET', '/reports/2015'); + $this->call('GET', '/reports/2015/shared'); $this->assertResponseOk(); }