First account controller tests

This commit is contained in:
James Cole
2016-11-20 08:46:02 +01:00
parent 45e7a4576a
commit 685310a368
3 changed files with 50 additions and 41 deletions

View File

@@ -26,6 +26,7 @@ use FireflyIII\Repositories\Account\AccountTaskerInterface;
use FireflyIII\Support\CacheProperties; use FireflyIII\Support\CacheProperties;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Input; use Input;
use Log;
use Navigation; use Navigation;
use Preferences; use Preferences;
use Session; use Session;
@@ -248,6 +249,7 @@ class AccountController extends Controller
if ($cache->has()) { if ($cache->has()) {
$entries = $cache->get(); $entries = $cache->get();
Log::debug('Entries are cached, return cache.');
return view('accounts.show', compact('account', 'what', 'entries', 'subTitleIcon', 'journals', 'subTitle')); 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])) { if (in_array($account->accountType->type, [AccountType::ASSET, AccountType::DEFAULT])) {
$assets = $repository->getAccountsByType([AccountType::ASSET, AccountType::DEFAULT]); $assets = $repository->getAccountsByType([AccountType::ASSET, AccountType::DEFAULT]);
} }
Log::debug('Going to get period expenses and incomes.');
while ($end >= $start) { while ($end >= $start) {
$end = Navigation::startOfPeriod($end, $range); $end = Navigation::startOfPeriod($end, $range);
$currentEnd = Navigation::endOfPeriod($end, $range); $currentEnd = Navigation::endOfPeriod($end, $range);

View File

@@ -103,9 +103,8 @@ abstract class TestCase extends Illuminate\Foundation\Testing\TestCase
*/ */
protected function mock($class) protected function mock($class)
{ {
Log::debug(sprintf('Will now mock %s', $class));
$object = Mockery::mock($class); $object = Mockery::mock($class);
$this->app->instance($class, $object); $this->app->instance($class, $object);
return $object; return $object;

View File

@@ -7,7 +7,6 @@
class AccountControllerTest extends TestCase class AccountControllerTest extends TestCase
{ {
/** /**
* Sets up the fixture, for example, opens a network connection. * Sets up the fixture, for example, opens a network connection.
@@ -18,14 +17,6 @@ class AccountControllerTest extends TestCase
parent::setUp(); 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 * @covers FireflyIII\Http\Controllers\AccountController::create
*/ */
@@ -38,14 +29,12 @@ class AccountControllerTest extends TestCase
/** /**
* @covers FireflyIII\Http\Controllers\AccountController::delete * @covers FireflyIII\Http\Controllers\AccountController::delete
* @todo Implement testDelete().
*/ */
public function testDelete() public function testDelete()
{ {
// Remove the following lines when you implement this test. $this->be($this->user());
$this->markTestIncomplete( $this->call('GET', route('accounts.delete', [1]));
'This test has not been implemented yet.' $this->assertResponseStatus(200);
);
} }
/** /**
@@ -62,50 +51,61 @@ class AccountControllerTest extends TestCase
/** /**
* @covers FireflyIII\Http\Controllers\AccountController::edit * @covers FireflyIII\Http\Controllers\AccountController::edit
* @todo Implement testEdit().
*/ */
public function testEdit() public function testEdit()
{ {
// Remove the following lines when you implement this test. $this->be($this->user());
$this->markTestIncomplete( $this->call('GET', route('accounts.edit', [1]));
'This test has not been implemented yet.' $this->assertResponseStatus(200);
);
} }
/** /**
* @covers FireflyIII\Http\Controllers\AccountController::index * @covers FireflyIII\Http\Controllers\AccountController::index
* @todo Implement testIndex(). * @dataProvider dateRangeProvider
*
* @param string $range
*/ */
public function testIndex() public function testIndex(string $range)
{ {
// Remove the following lines when you implement this test. $this->be($this->user());
$this->markTestIncomplete( $this->changeDateRange($this->user(), $range);
'This test has not been implemented yet.' $this->call('GET', route('accounts.index', ['asset']));
); $this->assertResponseStatus(200);
} }
/** /**
* @covers FireflyIII\Http\Controllers\AccountController::show * @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->be($this->user());
'This test has not been implemented yet.' $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 * @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->be($this->user());
$this->markTestIncomplete( $this->changeDateRange($this->user(), $range);
'This test has not been implemented yet.' $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.' '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()
{
}
} }