Improve test coverage.

This commit is contained in:
James Cole
2018-12-12 20:30:25 +01:00
parent 159fffef2e
commit 2a30293905
87 changed files with 1897 additions and 840 deletions

View File

@@ -26,6 +26,7 @@ namespace Tests\Feature\Controllers\Budget;
use Carbon\Carbon;
use FireflyIII\Helpers\Collector\TransactionCollectorInterface;
use FireflyIII\Helpers\FiscalHelperInterface;
use FireflyIII\Models\BudgetLimit;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal;
@@ -56,7 +57,7 @@ class AmountControllerTest extends TestCase
*/
public function testAmount(): void
{
Log::debug('Now in testAmount()');
Log::info('Now in testAmount()');
// mock stuff
$repository = $this->mock(BudgetRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
@@ -79,7 +80,7 @@ class AmountControllerTest extends TestCase
*/
public function testAmountLargeDiff(): void
{
Log::debug('Now in testAmount()');
Log::info('Now in testAmountLargeDiff()');
// mock stuff
$repository = $this->mock(BudgetRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
@@ -102,7 +103,7 @@ class AmountControllerTest extends TestCase
*/
public function testAmountOutOfRange(): void
{
Log::debug('Now in testAmountOutOfRange()');
Log::info('Now in testAmountOutOfRange()');
// mock stuff
$repository = $this->mock(BudgetRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
@@ -126,7 +127,7 @@ class AmountControllerTest extends TestCase
*/
public function testAmountZero(): void
{
Log::debug('Now in testAmountZero()');
Log::info('Now in testAmountZero()');
// mock stuff
$repository = $this->mock(BudgetRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
@@ -147,11 +148,15 @@ class AmountControllerTest extends TestCase
*/
public function testInfoIncome(): void
{
Log::debug('Now in testInfoIncome()');
Log::info('Now in testInfoIncome()');
// mock stuff
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$repository = $this->mock(BudgetRepositoryInterface::class);
$collector = $this->mock(TransactionCollectorInterface::class);
$fiscalHelper = $this->mock(FiscalHelperInterface::class);
$date = new Carbon;
$fiscalHelper->shouldReceive('endOfFiscalYear')->atLeast()->once()->andReturn($date);
$fiscalHelper->shouldReceive('startOfFiscalYear')->atLeast()->once()->andReturn($date);
$collector->shouldReceive('setAllAssetAccounts')->andReturnSelf()->times(2);
$collector->shouldReceive('setRange')->andReturnSelf()->times(2);
@@ -187,11 +192,16 @@ class AmountControllerTest extends TestCase
*/
public function testInfoIncomeExpanded(string $range): void
{
Log::debug(sprintf('Now in testInfoIncomeExpanded(%s)', $range));
Log::info(sprintf('Now in testInfoIncomeExpanded(%s)', $range));
// mock stuff
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$repository = $this->mock(BudgetRepositoryInterface::class);
$collector = $this->mock(TransactionCollectorInterface::class);
$fiscalHelper = $this->mock(FiscalHelperInterface::class);
$date = new Carbon;
$fiscalHelper->shouldReceive('endOfFiscalYear')->atLeast()->once()->andReturn($date);
$fiscalHelper->shouldReceive('startOfFiscalYear')->atLeast()->once()->andReturn($date);
$repository->shouldReceive('getAvailableBudget')->andReturn('100.123');
$accountRepos->shouldReceive('setUser');
$accountRepos->shouldReceive('getAccountsByType')->andReturn(new Collection);
@@ -223,12 +233,15 @@ class AmountControllerTest extends TestCase
*/
public function testInfoIncomeInversed(): void
{
Log::debug('Now in testInfoIncome()');
Log::info('Now in testInfoIncomeInversed()');
// mock stuff
$accountRepos = $this->mock(AccountRepositoryInterface::class);
$repository = $this->mock(BudgetRepositoryInterface::class);
$collector = $this->mock(TransactionCollectorInterface::class);
$fiscalHelper = $this->mock(FiscalHelperInterface::class);
$date = new Carbon;
$fiscalHelper->shouldReceive('endOfFiscalYear')->atLeast()->once()->andReturn($date);
$fiscalHelper->shouldReceive('startOfFiscalYear')->atLeast()->once()->andReturn($date);
$collector->shouldReceive('setAllAssetAccounts')->andReturnSelf()->times(2);
$collector->shouldReceive('setRange')->andReturnSelf()->times(2);
$collector->shouldReceive('setTypes')->andReturnSelf()->times(2);
@@ -260,11 +273,15 @@ class AmountControllerTest extends TestCase
*/
public function testPostUpdateIncome(): void
{
Log::debug('Now in testPostUpdateIncome()');
Log::info('Now in testPostUpdateIncome()');
// mock stuff
$repository = $this->mock(BudgetRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$collector = $this->mock(TransactionCollectorInterface::class);
$fiscalHelper = $this->mock(FiscalHelperInterface::class);
$date = new Carbon;
//$fiscalHelper->shouldReceive('endOfFiscalYear')->atLeast()->once()->andReturn($date);
//$fiscalHelper->shouldReceive('startOfFiscalYear')->atLeast()->once()->andReturn($date);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$repository->shouldReceive('setAvailableBudget');
$repository->shouldReceive('cleanupBudgets');
@@ -281,7 +298,7 @@ class AmountControllerTest extends TestCase
*/
public function testUpdateIncome(): void
{
Log::debug('Now in testUpdateIncome()');
Log::info('Now in testUpdateIncome()');
// must be in list
$this->be($this->user());
@@ -289,6 +306,10 @@ class AmountControllerTest extends TestCase
$repository = $this->mock(BudgetRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$collector = $this->mock(TransactionCollectorInterface::class);
$fiscalHelper = $this->mock(FiscalHelperInterface::class);
$date = new Carbon;
$fiscalHelper->shouldReceive('endOfFiscalYear')->atLeast()->once()->andReturn($date);
$fiscalHelper->shouldReceive('startOfFiscalYear')->atLeast()->once()->andReturn($date);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$repository->shouldReceive('getAvailableBudget')->andReturn('1');
$repository->shouldReceive('cleanupBudgets');

View File

@@ -24,6 +24,7 @@ declare(strict_types=1);
namespace Tests\Feature\Controllers\Budget;
use Carbon\Carbon;
use FireflyIII\Helpers\FiscalHelperInterface;
use FireflyIII\Models\Budget;
use FireflyIII\Models\BudgetLimit;
use FireflyIII\Models\TransactionJournal;
@@ -61,7 +62,7 @@ class IndexControllerTest extends TestCase
{
Log::debug(sprintf('Now in testIndex(%s)', $range));
Log::info(sprintf('Now in testIndex(%s)', $range));
// mock stuff
$budget = factory(Budget::class)->make();
$budgetLimit = factory(BudgetLimit::class)->make();
@@ -110,7 +111,7 @@ class IndexControllerTest extends TestCase
*/
public function testIndexOutOfRange(string $range): void
{
Log::debug(sprintf('Now in testIndexOutOfRange(%s)', $range));
Log::info(sprintf('Now in testIndexOutOfRange(%s)', $range));
// mock stuff
$budget = factory(Budget::class)->make();
$budgetLimit = factory(BudgetLimit::class)->make();
@@ -130,6 +131,10 @@ class IndexControllerTest extends TestCase
$repository = $this->mock(BudgetRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$fiscalHelper = $this->mock(FiscalHelperInterface::class);
$date = new Carbon;
$fiscalHelper->shouldReceive('endOfFiscalYear')->atLeast()->once()->andReturn($date);
$fiscalHelper->shouldReceive('startOfFiscalYear')->atLeast()->once()->andReturn($date);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once();
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
@@ -161,7 +166,7 @@ class IndexControllerTest extends TestCase
*/
public function testIndexWithDate(string $range): void
{
Log::debug(sprintf('Now in testIndexWithDate(%s)', $range));
Log::info(sprintf('Now in testIndexWithDate(%s)', $range));
// mock stuff
$budget = factory(Budget::class)->make();
$budgetLimit = factory(BudgetLimit::class)->make();
@@ -181,6 +186,10 @@ class IndexControllerTest extends TestCase
$repository = $this->mock(BudgetRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$fiscalHelper = $this->mock(FiscalHelperInterface::class);
$date = new Carbon;
$fiscalHelper->shouldReceive('endOfFiscalYear')->atLeast()->once()->andReturn($date);
$fiscalHelper->shouldReceive('startOfFiscalYear')->atLeast()->once()->andReturn($date);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once();
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
@@ -210,7 +219,7 @@ class IndexControllerTest extends TestCase
*/
public function testIndexWithInvalidDate(string $range): void
{
Log::debug(sprintf('Now in testIndexWithInvalidDate(%s)', $range));
Log::info(sprintf('Now in testIndexWithInvalidDate(%s)', $range));
// mock stuff
$budget = factory(Budget::class)->make();
$budgetLimit = factory(BudgetLimit::class)->make();
@@ -230,6 +239,10 @@ class IndexControllerTest extends TestCase
$repository = $this->mock(BudgetRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$fiscalHelper = $this->mock(FiscalHelperInterface::class);
$date = new Carbon;
$fiscalHelper->shouldReceive('endOfFiscalYear')->atLeast()->once()->andReturn($date);
$fiscalHelper->shouldReceive('startOfFiscalYear')->atLeast()->once()->andReturn($date);
$journalRepos->shouldReceive('firstNull')->once()->andReturn(new TransactionJournal);
$accountRepos->shouldReceive('getAccountsByType')->andReturn(new Collection);

View File

@@ -25,6 +25,7 @@ namespace Tests\Feature\Controllers\Budget;
use Carbon\Carbon;
use FireflyIII\Helpers\Collector\TransactionCollectorInterface;
use FireflyIII\Helpers\FiscalHelperInterface;
use FireflyIII\Models\BudgetLimit;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
@@ -62,7 +63,7 @@ class ShowControllerTest extends TestCase
*/
public function testNoBudget(string $range): void
{
Log::debug(sprintf('Now in testNoBudget(%s)', $range));
Log::info(sprintf('Now in testNoBudget(%s)', $range));
// mock stuff
$repository = $this->mock(BudgetRepositoryInterface::class);
@@ -101,7 +102,7 @@ class ShowControllerTest extends TestCase
*/
public function testNoBudgetAll(string $range): void
{
Log::debug(sprintf('Now in testNoBudgetAll(%s)', $range));
Log::info(sprintf('Now in testNoBudgetAll(%s)', $range));
// mock stuff
$repository = $this->mock(BudgetRepositoryInterface::class);
$collector = $this->mock(TransactionCollectorInterface::class);
@@ -140,12 +141,16 @@ class ShowControllerTest extends TestCase
*/
public function testNoBudgetDate(string $range): void
{
Log::debug(sprintf('Now in testNoBudgetDate(%s)', $range));
Log::info(sprintf('Now in testNoBudgetDate(%s)', $range));
// mock stuff
$repository = $this->mock(BudgetRepositoryInterface::class);
$collector = $this->mock(TransactionCollectorInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$userRepos = $this->mock(UserRepositoryInterface::class);
$fiscalHelper = $this->mock(FiscalHelperInterface::class);
$date = new Carbon;
$fiscalHelper->shouldReceive('endOfFiscalYear')->atLeast()->once()->andReturn($date);
$fiscalHelper->shouldReceive('startOfFiscalYear')->atLeast()->once()->andReturn($date);
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once();
$journalRepos->shouldReceive('firstNull')->andReturn(null);
@@ -180,7 +185,7 @@ class ShowControllerTest extends TestCase
*/
public function testShow(string $range): void
{
Log::debug(sprintf('Now in testShow(%s)', $range));
Log::info(sprintf('Now in testShow(%s)', $range));
// mock stuff
$budgetLimit = factory(BudgetLimit::class)->make();
@@ -226,7 +231,7 @@ class ShowControllerTest extends TestCase
*/
public function testShowByBadBudgetLimit(): void
{
Log::debug('Now in testShowByBadBudgetLimit()');
Log::info('Now in testShowByBadBudgetLimit()');
// mock stuff
$repository = $this->mock(BudgetRepositoryInterface::class);
$journalRepos = $this->mock(JournalRepositoryInterface::class);
@@ -247,7 +252,7 @@ class ShowControllerTest extends TestCase
*/
public function testShowByBudgetLimit(string $range): void
{
Log::debug(sprintf('Now in testShowByBudgetLimit(%s)', $range));
Log::info(sprintf('Now in testShowByBudgetLimit(%s)', $range));
// mock stuff
$journalRepos = $this->mock(JournalRepositoryInterface::class);
$accountRepository = $this->mock(AccountRepositoryInterface::class);