Expand tests.

This commit is contained in:
James Cole
2017-03-12 21:24:34 +01:00
parent aedc3fdff9
commit e53d294c1c
13 changed files with 448 additions and 6 deletions

View File

@@ -12,8 +12,14 @@ declare(strict_types = 1);
namespace Tests\Feature\Controllers\Report;
use FireflyIII\Repositories\Account\AccountTaskerInterface;
use Tests\TestCase;
/**
* Class AccountControllerTest
*
* @package Tests\Feature\Controllers\Report
*/
class AccountControllerTest extends TestCase
{
/**
@@ -21,6 +27,17 @@ class AccountControllerTest extends TestCase
*/
public function testGeneral()
{
$return = [
'accounts' => [],
'start' => '0',
'end' => '0',
'difference' => '0',
];
$tasker = $this->mock(AccountTaskerInterface::class);
$tasker->shouldReceive('getAccountReport')->andReturn($return);
$this->be($this->user());
$response = $this->get(route('report-data.account.general', ['1', '20120101', '20120131']));
$response->assertStatus(200);

View File

@@ -12,8 +12,15 @@ declare(strict_types = 1);
namespace Tests\Feature\Controllers\Report;
use FireflyIII\Helpers\Collection\Balance;
use FireflyIII\Helpers\Report\BalanceReportHelperInterface;
use Tests\TestCase;
/**
* Class BalanceControllerTest
*
* @package Tests\Feature\Controllers\Report
*/
class BalanceControllerTest extends TestCase
{
/**
@@ -21,6 +28,9 @@ class BalanceControllerTest extends TestCase
*/
public function testGeneral()
{
$balance = $this->mock(BalanceReportHelperInterface::class);
$balance->shouldReceive('getBalanceReport')->andReturn(new Balance);
$this->be($this->user());
$response = $this->get(route('report-data.balance.general', ['1', '20120101', '20120131']));
$response->assertStatus(200);

View File

@@ -12,8 +12,16 @@ declare(strict_types = 1);
namespace Tests\Feature\Controllers\Report;
use FireflyIII\Helpers\Report\BudgetReportHelperInterface;
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
use Illuminate\Support\Collection;
use Tests\TestCase;
/**
* Class BudgetControllerTest
*
* @package Tests\Feature\Controllers\Report
*/
class BudgetControllerTest extends TestCase
{
/**
@@ -21,6 +29,10 @@ class BudgetControllerTest extends TestCase
*/
public function testGeneral()
{
$return = [];
$helper = $this->mock(BudgetReportHelperInterface::class);
$helper->shouldReceive('getBudgetReport')->andReturn($return);
$this->be($this->user());
$response = $this->get(route('report-data.budget.general', ['1', '20120101', '20120131']));
$response->assertStatus(200);
@@ -28,9 +40,17 @@ class BudgetControllerTest extends TestCase
/**
* @covers \FireflyIII\Http\Controllers\Report\BudgetController::period
* @covers \FireflyIII\Http\Controllers\Report\BudgetController::filterBudgetPeriodReport
*/
public function testPeriod()
{
$first = [1 => ['entries' => ['1', '1']]];
$second = ['entries' => ['1', '1']];
$repository = $this->mock(BudgetRepositoryInterface::class);
$repository->shouldReceive('getBudgets')->andReturn(new Collection);
$repository->shouldReceive('getBudgetPeriodReport')->andReturn($first);
$repository->shouldReceive('getNoBudgetPeriodReport')->andReturn($second);
$this->be($this->user());
$response = $this->get(route('report-data.budget.period', ['1', '20120101', '20120131']));
$response->assertStatus(200);

View File

@@ -12,15 +12,26 @@ declare(strict_types = 1);
namespace Tests\Feature\Controllers\Report;
use FireflyIII\Models\Category;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
use Illuminate\Support\Collection;
use Tests\TestCase;
class CategoryControllerTest extends TestCase
{
/**
* @covers \FireflyIII\Http\Controllers\Report\CategoryController::expenses
* @covers \FireflyIII\Http\Controllers\Report\CategoryController::filterReport
*/
public function testExpenses()
{
$first = [1 => ['entries' => ['1', '1']]];
$second = ['entries' => ['1', '1']];
$repository = $this->mock(CategoryRepositoryInterface::class);
$repository->shouldReceive('getCategories')->andReturn(new Collection);
$repository->shouldReceive('periodExpenses')->andReturn($first);
$repository->shouldReceive('periodExpensesNoCategory')->andReturn($second);
$this->be($this->user());
$response = $this->get(route('report-data.category.expenses', ['1', '20120101', '20120131']));
$response->assertStatus(200);
@@ -28,9 +39,17 @@ class CategoryControllerTest extends TestCase
/**
* @covers \FireflyIII\Http\Controllers\Report\CategoryController::income
* @covers \FireflyIII\Http\Controllers\Report\CategoryController::filterReport
*/
public function testIncome()
{
$first = [1 => ['entries' => ['1', '1']]];
$second = ['entries' => ['1', '1']];
$repository = $this->mock(CategoryRepositoryInterface::class);
$repository->shouldReceive('getCategories')->andReturn(new Collection);
$repository->shouldReceive('periodIncome')->andReturn($first);
$repository->shouldReceive('periodIncomeNoCategory')->andReturn($second);
$this->be($this->user());
$response = $this->get(route('report-data.category.income', ['1', '20120101', '20120131']));
$response->assertStatus(200);
@@ -41,6 +60,11 @@ class CategoryControllerTest extends TestCase
*/
public function testOperations()
{
$repository = $this->mock(CategoryRepositoryInterface::class);
$category = factory(Category::class)->make();
$repository->shouldReceive('getCategories')->andReturn(new Collection([$category]));
$repository->shouldReceive('spentInPeriod')->andReturn('-1');
$this->be($this->user());
$response = $this->get(route('report-data.category.operations', ['1', '20120101', '20120131']));
$response->assertStatus(200);

View File

@@ -17,6 +17,11 @@ use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionType;
use Tests\TestCase;
/**
* Class OperationsControllerTest
*
* @package Tests\Feature\Controllers\Report
*/
class OperationsControllerTest extends TestCase
{
/**
@@ -28,6 +33,7 @@ class OperationsControllerTest extends TestCase
{
$transactions = factory(Transaction::class, 10)->make();
$collector = $this->mock(JournalCollectorInterface::class);
$collector->shouldReceive('setAccounts')->andReturnSelf();
$collector->shouldReceive('setRange')->andReturnSelf();
$collector->shouldReceive('setTypes')->withArgs([[TransactionType::WITHDRAWAL, TransactionType::TRANSFER]])->andReturnSelf();
@@ -49,6 +55,7 @@ class OperationsControllerTest extends TestCase
{
$transactions = factory(Transaction::class, 10)->make();
$collector = $this->mock(JournalCollectorInterface::class);
$collector->shouldReceive('setAccounts')->andReturnSelf();
$collector->shouldReceive('setRange')->andReturnSelf();
$collector->shouldReceive('setTypes')->withArgs([[TransactionType::DEPOSIT, TransactionType::TRANSFER]])->andReturnSelf();
@@ -66,6 +73,17 @@ class OperationsControllerTest extends TestCase
*/
public function testOperations()
{
$collector = $this->mock(JournalCollectorInterface::class);
$transactions = factory(Transaction::class, 10)->make();
$collector->shouldReceive('setAccounts')->andReturnSelf();
$collector->shouldReceive('setRange')->andReturnSelf();
$collector->shouldReceive('setTypes')->withArgs([[TransactionType::DEPOSIT, TransactionType::TRANSFER]])->andReturnSelf()->once();
$collector->shouldReceive('setTypes')->withArgs([[TransactionType::WITHDRAWAL, TransactionType::TRANSFER]])->andReturnSelf()->once();
$collector->shouldReceive('withOpposingAccount')->andReturnSelf();
$collector->shouldReceive('enableInternalFilter')->andReturnSelf();
$collector->shouldReceive('getJournals')->andReturn($transactions);
$this->be($this->user());
$response = $this->get(route('report-data.operations.operations', ['1', '20160101', '20160131']));
$response->assertStatus(200);