From c576902501dba95cf4370cae71a5ea1df8baae9a Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 16 May 2015 16:04:51 +0200 Subject: [PATCH] Fixed tests. --- app/Http/Controllers/ReportController.php | 6 +- tests/TestCase.php | 3 - tests/controllers/ReportControllerTest.php | 109 +++++---------------- tests/helpers/ReportHelperTest.php | 69 +------------ 4 files changed, 29 insertions(+), 158 deletions(-) diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index a6aacdc3f6..fe308a33c9 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -22,17 +22,13 @@ class ReportController extends Controller /** @var ReportHelperInterface */ protected $helper; - /** @var ReportQueryInterface */ - protected $query; /** * @param ReportHelperInterface $helper - * @param ReportQueryInterface $query */ - public function __construct(ReportHelperInterface $helper, ReportQueryInterface $query) + public function __construct(ReportHelperInterface $helper) { parent::__construct(); - $this->query = $query; $this->helper = $helper; View::share('title', trans('firefly.reports')); diff --git a/tests/TestCase.php b/tests/TestCase.php index 0fa64e999a..c110ef4b1e 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -39,7 +39,6 @@ class TestCase extends Illuminate\Foundation\Testing\TestCase FactoryMuffin::loadFactories(__DIR__ . '/factories'); if (!file_exists($copy)) { - Log::debug('Created new database.'); touch($original); Artisan::call('migrate'); @@ -49,12 +48,10 @@ class TestCase extends Illuminate\Foundation\Testing\TestCase $currency = FactoryMuffin::create('FireflyIII\Models\TransactionCurrency'); $currency->code = 'EUR'; $currency->save(); - Log::debug('Created new EUR currency.'); copy($original, $copy); } else { if (file_exists($copy)) { - Log::debug('Copied copy back over original.'); copy($copy, $original); } } diff --git a/tests/controllers/ReportControllerTest.php b/tests/controllers/ReportControllerTest.php index ad71e67aed..e9bfb28746 100644 --- a/tests/controllers/ReportControllerTest.php +++ b/tests/controllers/ReportControllerTest.php @@ -66,78 +66,27 @@ class ReportControllerTest extends TestCase } - public function testModalBalancedTransfers() - { - $account = FactoryMuffin::create('FireflyIII\Models\Account'); - $journal = FactoryMuffin::create('FireflyIII\Models\TransactionJournal'); - $journals = new Collection([$journal]); - $this->be($account->user); - - $query = $this->mock('FireflyIII\Helpers\Report\ReportQueryInterface'); - $query->shouldReceive('balancedTransactionsList')->withAnyArgs()->andReturn($journals); - - - $this->call('GET', '/reports/modal/' . $account->id . '/2015/1/balanced-transfers'); - $this->assertResponseOk(); - } - - public function testModalLeftUnbalanced() - { - $account = FactoryMuffin::create('FireflyIII\Models\Account'); - $journal = FactoryMuffin::create('FireflyIII\Models\TransactionJournal'); - $secondJournal = FactoryMuffin::create('FireflyIII\Models\TransactionJournal'); - $group = FactoryMuffin::create('FireflyIII\Models\TransactionGroup'); - $group->transactionjournals()->save($secondJournal); - $journals = new Collection([$journal, $secondJournal]); - $this->be($account->user); - - $query = $this->mock('FireflyIII\Helpers\Report\ReportQueryInterface'); - $query->shouldReceive('getTransactionsWithoutBudget')->withAnyArgs()->andReturn($journals); - - $this->call('GET', '/reports/modal/' . $account->id . '/2015/1/left-unbalanced'); - $this->assertResponseOk(); - - } - - public function testModalNoBudget() - { - $account = FactoryMuffin::create('FireflyIII\Models\Account'); - $journal = FactoryMuffin::create('FireflyIII\Models\TransactionJournal'); - $journals = new Collection([$journal]); - $this->be($account->user); - - - $query = $this->mock('FireflyIII\Helpers\Report\ReportQueryInterface'); - $query->shouldReceive('getTransactionsWithoutBudget')->withAnyArgs()->andReturn($journals); - - $this->call('GET', '/reports/modal/' . $account->id . '/2015/1/no-budget'); - $this->assertResponseOk(); - - } - public function testMonth() { - $user = FactoryMuffin::create('FireflyIII\User'); - $account = FactoryMuffin::create('FireflyIII\Models\Account'); - $budget1 = FactoryMuffin::create('FireflyIII\Models\Budget'); + $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 = FactoryMuffin::create('FireflyIII\Models\Budget'); $budget2->queryAmount = 0; $this->be($user); // mock! - $query = $this->mock('FireflyIII\Helpers\Report\ReportQueryInterface'); + $helper = $this->mock('FireflyIII\Helpers\Report\ReportHelperInterface'); // 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); + $helper->shouldReceive('getAccountReport')->andReturn(new Collection); + $helper->shouldReceive('getIncomeReport')->andReturn(new Collection); + $helper->shouldReceive('getExpenseReport')->andReturn(new Collection); + $helper->shouldReceive('getBudgetReport')->andReturn(new Collection); + $helper->shouldReceive('getCategoryReport')->andReturn(new Collection); + $helper->shouldReceive('getBalanceReport')->andReturn(new Collection); + $this->call('GET', '/reports/2015/1'); $this->assertResponseOk(); @@ -145,25 +94,24 @@ class ReportControllerTest extends TestCase public function testMonthShared() { - $user = FactoryMuffin::create('FireflyIII\User'); - $account = FactoryMuffin::create('FireflyIII\Models\Account'); - $budget1 = FactoryMuffin::create('FireflyIII\Models\Budget'); + $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 = FactoryMuffin::create('FireflyIII\Models\Budget'); $budget2->queryAmount = 0; $this->be($user); // mock! - $query = $this->mock('FireflyIII\Helpers\Report\ReportQueryInterface'); + $helper = $this->mock('FireflyIII\Helpers\Report\ReportHelperInterface'); // 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); + $helper->shouldReceive('getAccountReport')->andReturn(new Collection); + $helper->shouldReceive('getIncomeReport')->andReturn(new Collection); + $helper->shouldReceive('getExpenseReport')->andReturn(new Collection); + $helper->shouldReceive('getBudgetReport')->andReturn(new Collection); + $helper->shouldReceive('getCategoryReport')->andReturn(new Collection); + $helper->shouldReceive('getBalanceReport')->andReturn(new Collection); $this->call('GET', '/reports/2015/1/shared'); $this->assertResponseOk(); @@ -189,16 +137,11 @@ class ReportControllerTest extends TestCase $this->be($user); $helper = $this->mock('FireflyIII\Helpers\Report\ReportHelperInterface'); - $query = $this->mock('FireflyIII\Helpers\Report\ReportQueryInterface'); - $helper->shouldReceive('yearBalanceReport')->once()->withAnyArgs()->andReturn([]); - $query->shouldReceive('getAllAccounts')->once()->withAnyArgs()->andReturn(new Collection([$account])); - - $query->shouldReceive('incomeInPeriod')->once()->withAnyArgs()->andReturn(new Collection([$journal, $journal])); - $query->shouldReceive('expenseInPeriod')->once()->withAnyArgs()->andReturn(new Collection([$journal, $journal])); - $query->shouldReceive('journalsByRevenueAccount')->once()->withAnyArgs()->andReturn($journals); - $query->shouldReceive('journalsByExpenseAccount')->once()->withAnyArgs()->andReturn($journals); + $helper->shouldReceive('getAccountReport')->once()->withAnyArgs()->andReturn([]); + $helper->shouldReceive('getIncomeReport')->once()->withAnyArgs()->andReturn([]); + $helper->shouldReceive('getExpenseReport')->once()->withAnyArgs()->andReturn([]); // mock stuff! Amount::shouldReceive('getDefaultCurrency')->once()->andReturn($currency); diff --git a/tests/helpers/ReportHelperTest.php b/tests/helpers/ReportHelperTest.php index 729032893b..1b960cf547 100644 --- a/tests/helpers/ReportHelperTest.php +++ b/tests/helpers/ReportHelperTest.php @@ -25,7 +25,8 @@ class ReportHelperTest extends TestCase { parent::setUp(); FactoryMuffin::create('FireflyIII\User'); - $this->object = new ReportHelper; + $query = new \FireflyIII\Helpers\Report\ReportQuery(); + $this->object = new ReportHelper($query); } /** @@ -37,72 +38,6 @@ class ReportHelperTest extends TestCase parent::tearDown(); } - /** - * @covers FireflyIII\Helpers\Report\ReportHelper::getBudgetsForMonth - */ - public function testGetBudgetsForMonthWithShared() - { - $date = new Carbon('2015-01-01'); - $user = FactoryMuffin::create('FireflyIII\User'); - $budgets = []; - - // three budget limits starting on the $date: - for ($i = 0; $i < 3; $i++) { - $budget = FactoryMuffin::create('FireflyIII\Models\Budget'); - $budgetLimit = FactoryMuffin::create('FireflyIII\Models\BudgetLimit'); - $budgetLimit->startdate = $date; - $budget->user_id = $user->id; - $budget->save(); - $budgetLimit->save(); - $budgets[] = $budget; - } - - $this->be($user); - - $result = $this->object->getBudgetsForMonth($date, true); - - // assert each budget is in the array: - foreach ($budgets as $budget) { - $id = $budget->id; - $this->assertEquals($budget->name, $result[$id]['name']); - } - $this->assertEquals(0, $result[0]['queryAmount']); - $this->assertEquals('No budget', $result[0]['name']); - } - - /** - * @covers FireflyIII\Helpers\Report\ReportHelper::getBudgetsForMonth - */ - public function testGetBudgetsForMonthWithoutShared() - { - $date = new Carbon('2015-01-01'); - $user = FactoryMuffin::create('FireflyIII\User'); - $budgets = []; - - // three budget limits starting on the $date: - for ($i = 0; $i < 3; $i++) { - $budget = FactoryMuffin::create('FireflyIII\Models\Budget'); - $budgetLimit = FactoryMuffin::create('FireflyIII\Models\BudgetLimit'); - $budgetLimit->startdate = $date; - $budget->user_id = $user->id; - $budget->save(); - $budgetLimit->save(); - $budgets[] = $budget; - } - - $this->be($user); - - $result = $this->object->getBudgetsForMonth($date, false); - - // assert each budget is in the array: - foreach ($budgets as $budget) { - $id = $budget->id; - $this->assertEquals($budget->name, $result[$id]['name']); - } - $this->assertEquals(0, $result[0]['queryAmount']); - $this->assertEquals('No budget', $result[0]['name']); - } - public function testListOfMonths() { // start of year up until now