mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-11-17 07:08:19 +00:00
Expand tests.
This commit is contained in:
181
tests/Feature/Controllers/Chart/TagReportControllerTest.php
Normal file
181
tests/Feature/Controllers/Chart/TagReportControllerTest.php
Normal file
@@ -0,0 +1,181 @@
|
||||
<?php
|
||||
/**
|
||||
* TagReportControllerTest.php
|
||||
* Copyright (c) 2017 thegrumpydictator@gmail.com
|
||||
* This software may be modified and distributed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.
|
||||
*
|
||||
* See the LICENSE file for details.
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
|
||||
namespace Tests\Feature\Controllers\Chart;
|
||||
|
||||
|
||||
use FireflyIII\Generator\Chart\Basic\GeneratorInterface;
|
||||
use FireflyIII\Helpers\Chart\MetaPieChartInterface;
|
||||
use FireflyIII\Helpers\Collector\JournalCollectorInterface;
|
||||
use FireflyIII\Models\TransactionType;
|
||||
use Illuminate\Support\Collection;
|
||||
use Tests\TestCase;
|
||||
|
||||
/**
|
||||
* Class TagReportControllerTest
|
||||
*
|
||||
* @package Tests\Feature\Controllers\Chart
|
||||
*/
|
||||
class TagReportControllerTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @covers \FireflyIII\Http\Controllers\Chart\TagReportController::accountExpense
|
||||
* @covers \FireflyIII\Http\Controllers\Chart\TagReportController::__construct
|
||||
*/
|
||||
public function testAccountExpense()
|
||||
{
|
||||
$generator = $this->mock(GeneratorInterface::class);
|
||||
$pieChart = $this->mock(MetaPieChartInterface::class);
|
||||
|
||||
$pieChart->shouldReceive('setAccounts')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setTags')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setStart')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setEnd')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setCollectOtherObjects')->once()->andReturnSelf()->withArgs([false]);
|
||||
$pieChart->shouldReceive('generate')->withArgs(['expense', 'account'])->andReturn([])->once();
|
||||
$generator->shouldReceive('pieChart')->andReturn([])->once();
|
||||
|
||||
$this->be($this->user());
|
||||
$response = $this->get(route('chart.tag.account-expense', ['1', 'housing', '20120101', '20120131', 0]));
|
||||
$response->assertStatus(200);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Http\Controllers\Chart\TagReportController::accountIncome
|
||||
*/
|
||||
public function testAccountIncome()
|
||||
{
|
||||
$generator = $this->mock(GeneratorInterface::class);
|
||||
$pieChart = $this->mock(MetaPieChartInterface::class);
|
||||
|
||||
$pieChart->shouldReceive('setAccounts')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setTags')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setStart')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setEnd')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setCollectOtherObjects')->once()->andReturnSelf()->withArgs([false]);
|
||||
$pieChart->shouldReceive('generate')->withArgs(['income', 'account'])->andReturn([])->once();
|
||||
$generator->shouldReceive('pieChart')->andReturn([])->once();
|
||||
|
||||
$this->be($this->user());
|
||||
$response = $this->get(route('chart.tag.account-income', ['1', 'housing', '20120101', '20120131', 0]));
|
||||
$response->assertStatus(200);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Http\Controllers\Chart\TagReportController::budgetExpense()
|
||||
*/
|
||||
public function testBudgetExpense()
|
||||
{
|
||||
$generator = $this->mock(GeneratorInterface::class);
|
||||
$pieChart = $this->mock(MetaPieChartInterface::class);
|
||||
|
||||
$pieChart->shouldReceive('setAccounts')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setTags')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setStart')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setEnd')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setCollectOtherObjects')->once()->andReturnSelf()->withArgs([false]);
|
||||
$pieChart->shouldReceive('generate')->withArgs(['expense', 'budget'])->andReturn([])->once();
|
||||
$generator->shouldReceive('pieChart')->andReturn([])->once();
|
||||
|
||||
$this->be($this->user());
|
||||
$response = $this->get(route('chart.tag.budget-expense', ['1', 'housing', '20120101', '20120131', 0]));
|
||||
$response->assertStatus(200);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Http\Controllers\Chart\TagReportController::categoryExpense()
|
||||
*/
|
||||
public function testCategoryExpense()
|
||||
{
|
||||
$generator = $this->mock(GeneratorInterface::class);
|
||||
$pieChart = $this->mock(MetaPieChartInterface::class);
|
||||
|
||||
$pieChart->shouldReceive('setAccounts')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setTags')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setStart')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setEnd')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setCollectOtherObjects')->once()->andReturnSelf()->withArgs([false]);
|
||||
$pieChart->shouldReceive('generate')->withArgs(['expense', 'category'])->andReturn([])->once();
|
||||
$generator->shouldReceive('pieChart')->andReturn([])->once();
|
||||
|
||||
$this->be($this->user());
|
||||
$response = $this->get(route('chart.tag.category-expense', ['1', 'housing', '20120101', '20120131', 0]));
|
||||
$response->assertStatus(200);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Http\Controllers\Chart\TagReportController::mainChart()
|
||||
*/
|
||||
public function testMainChart()
|
||||
{
|
||||
$generator = $this->mock(GeneratorInterface::class);
|
||||
$collector = $this->mock(JournalCollectorInterface::class);
|
||||
|
||||
$collector->shouldReceive('setAccounts')->andReturnSelf();
|
||||
$collector->shouldReceive('setRange')->andReturnSelf();
|
||||
$collector->shouldReceive('setTypes')->withArgs([[TransactionType::WITHDRAWAL, TransactionType::TRANSFER]])->andReturnSelf();
|
||||
$collector->shouldReceive('setTypes')->withArgs([[TransactionType::DEPOSIT, TransactionType::TRANSFER]])->andReturnSelf();
|
||||
$collector->shouldReceive('disableFilter')->andReturnSelf();
|
||||
$collector->shouldReceive('setTags')->andReturnSelf();
|
||||
$collector->shouldReceive('withOpposingAccount')->andReturnSelf();
|
||||
$collector->shouldReceive('getJournals')->andReturn(new Collection);
|
||||
$generator->shouldReceive('multiSet')->andReturn([])->once();
|
||||
|
||||
$this->be($this->user());
|
||||
$response = $this->get(route('chart.tag.main', ['1', 'housing', '20120101', '20120131']));
|
||||
$response->assertStatus(200);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Http\Controllers\Chart\TagReportController::tagExpense()
|
||||
*/
|
||||
public function testTagExpense()
|
||||
{
|
||||
$generator = $this->mock(GeneratorInterface::class);
|
||||
$pieChart = $this->mock(MetaPieChartInterface::class);
|
||||
|
||||
$pieChart->shouldReceive('setAccounts')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setTags')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setStart')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setEnd')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setCollectOtherObjects')->once()->andReturnSelf()->withArgs([false]);
|
||||
$pieChart->shouldReceive('generate')->withArgs(['expense', 'tag'])->andReturn([])->once();
|
||||
$generator->shouldReceive('pieChart')->andReturn([])->once();
|
||||
|
||||
$this->be($this->user());
|
||||
$response = $this->get(route('chart.tag.tag-expense', ['1', 'housing', '20120101', '20120131', 0]));
|
||||
$response->assertStatus(200);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Http\Controllers\Chart\TagReportController::tagIncome()
|
||||
*/
|
||||
public function testTagIncome()
|
||||
{
|
||||
$generator = $this->mock(GeneratorInterface::class);
|
||||
$pieChart = $this->mock(MetaPieChartInterface::class);
|
||||
|
||||
$pieChart->shouldReceive('setAccounts')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setTags')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setStart')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setEnd')->once()->andReturnSelf();
|
||||
$pieChart->shouldReceive('setCollectOtherObjects')->once()->andReturnSelf()->withArgs([false]);
|
||||
$pieChart->shouldReceive('generate')->withArgs(['income', 'tag'])->andReturn([])->once();
|
||||
$generator->shouldReceive('pieChart')->andReturn([])->once();
|
||||
|
||||
$this->be($this->user());
|
||||
$response = $this->get(route('chart.tag.tag-income', ['1', 'housing', '20120101', '20120131', 0]));
|
||||
$response->assertStatus(200);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user