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 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);

View File

@@ -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;

View File

@@ -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()
{
}
}