diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index 750e90d53a..1273797ad6 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -26,6 +26,7 @@ use FireflyIII\Repositories\Account\AccountTaskerInterface; use FireflyIII\Support\CacheProperties; use Illuminate\Support\Collection; use Input; +use Log; use Navigation; use Preferences; use Session; @@ -248,6 +249,7 @@ class AccountController extends Controller if ($cache->has()) { $entries = $cache->get(); + Log::debug('Entries are cached, return cache.'); return view('accounts.show', compact('account', 'what', 'entries', 'subTitleIcon', 'journals', 'subTitle')); } @@ -257,7 +259,7 @@ class AccountController extends Controller if (in_array($account->accountType->type, [AccountType::ASSET, AccountType::DEFAULT])) { $assets = $repository->getAccountsByType([AccountType::ASSET, AccountType::DEFAULT]); } - + Log::debug('Going to get period expenses and incomes.'); while ($end >= $start) { $end = Navigation::startOfPeriod($end, $range); $currentEnd = Navigation::endOfPeriod($end, $range); diff --git a/tests/TestCase.php b/tests/TestCase.php index 79e8cbf40b..cdcd841f02 100755 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -103,9 +103,8 @@ abstract class TestCase extends Illuminate\Foundation\Testing\TestCase */ protected function mock($class) { + Log::debug(sprintf('Will now mock %s', $class)); $object = Mockery::mock($class); - - $this->app->instance($class, $object); return $object; diff --git a/tests/acceptance/Controllers/AccountControllerTest.php b/tests/acceptance/Controllers/AccountControllerTest.php index 6e862ea3a3..ed97ae26df 100644 --- a/tests/acceptance/Controllers/AccountControllerTest.php +++ b/tests/acceptance/Controllers/AccountControllerTest.php @@ -7,7 +7,6 @@ class AccountControllerTest extends TestCase { - /** * Sets up the fixture, for example, opens a network connection. @@ -18,14 +17,6 @@ class AccountControllerTest extends TestCase parent::setUp(); } - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() - { - } - /** * @covers FireflyIII\Http\Controllers\AccountController::create */ @@ -38,14 +29,12 @@ class AccountControllerTest extends TestCase /** * @covers FireflyIII\Http\Controllers\AccountController::delete - * @todo Implement testDelete(). */ public function testDelete() { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); + $this->be($this->user()); + $this->call('GET', route('accounts.delete', [1])); + $this->assertResponseStatus(200); } /** @@ -62,50 +51,61 @@ class AccountControllerTest extends TestCase /** * @covers FireflyIII\Http\Controllers\AccountController::edit - * @todo Implement testEdit(). */ public function testEdit() { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); + $this->be($this->user()); + $this->call('GET', route('accounts.edit', [1])); + $this->assertResponseStatus(200); } /** - * @covers FireflyIII\Http\Controllers\AccountController::index - * @todo Implement testIndex(). + * @covers FireflyIII\Http\Controllers\AccountController::index + * @dataProvider dateRangeProvider + * + * @param string $range */ - public function testIndex() + public function testIndex(string $range) { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); + $this->be($this->user()); + $this->changeDateRange($this->user(), $range); + $this->call('GET', route('accounts.index', ['asset'])); + $this->assertResponseStatus(200); } /** * @covers FireflyIII\Http\Controllers\AccountController::show - * @todo Implement testShow(). + * @dataProvider dateRangeProvider + * + * @param string $range */ - public function testShow() + public function testShow(string $range) { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); + + $this->be($this->user()); + $this->changeDateRange($this->user(), $range); + + $tasker = $this->mock(\FireflyIII\Repositories\Account\AccountTaskerInterface::class); + $tasker->shouldReceive('amountOutInPeriod')->withAnyArgs()->andReturn('-1'); + $tasker->shouldReceive('amountInInPeriod')->withAnyArgs()->andReturn('1'); + + + $this->call('GET', route('accounts.show', [1])); + $this->assertResponseStatus(200); } /** * @covers FireflyIII\Http\Controllers\AccountController::showWithDate - * @todo Implement testShowWithDate(). + * @dataProvider dateRangeProvider + * + * @param string $range */ - public function testShowWithDate() + public function testShowWithDate(string $range) { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); + $this->be($this->user()); + $this->changeDateRange($this->user(), $range); + $this->call('GET', route('accounts.show', [1, '2016-01-01'])); + $this->assertResponseStatus(200); } /** @@ -131,4 +131,12 @@ class AccountControllerTest extends TestCase 'This test has not been implemented yet.' ); } + + /** + * Tears down the fixture, for example, closes a network connection. + * This method is called after a test is executed. + */ + protected function tearDown() + { + } }