. */ declare(strict_types=1); namespace Tests\Feature\Controllers\Chart; use FireflyIII\Generator\Chart\Basic\GeneratorInterface; use FireflyIII\Repositories\Account\AccountTaskerInterface; use Log; use Steam; use Tests\TestCase; /** * Class ReportControllerTest */ class ReportControllerTest extends TestCase { /** * */ public function setUp() { parent::setUp(); Log::debug(sprintf('Now in %s.', \get_class($this))); } /** * @covers \FireflyIII\Http\Controllers\Chart\ReportController */ public function testNetWorth(): void { $generator = $this->mock(GeneratorInterface::class); Steam::shouldReceive('balancesByAccounts')->andReturn(['5', '10']); $generator->shouldReceive('singleSet')->andReturn([]); $this->be($this->user()); $response = $this->get(route('chart.report.net-worth', [1, '20120101', '20120131'])); $response->assertStatus(200); } /** * @covers \FireflyIII\Http\Controllers\Chart\ReportController */ public function testOperations(): void { $generator = $this->mock(GeneratorInterface::class); $tasker = $this->mock(AccountTaskerInterface::class); $income = [1 => ['sum' => '100']]; $expense = [2 => ['sum' => '-100']]; $tasker->shouldReceive('getIncomeReport')->once()->andReturn($income); $tasker->shouldReceive('getExpenseReport')->once()->andReturn($expense); $generator->shouldReceive('multiSet')->andReturn([]); $this->be($this->user()); $response = $this->get(route('chart.report.operations', [1, '20120101', '20120131'])); $response->assertStatus(200); } /** * @covers \FireflyIII\Http\Controllers\Chart\ReportController */ public function testSum(): void { $generator = $this->mock(GeneratorInterface::class); $tasker = $this->mock(AccountTaskerInterface::class); $income = []; $expense = []; $tasker->shouldReceive('getIncomeReport')->andReturn($income)->times(1); $tasker->shouldReceive('getExpenseReport')->andReturn($expense)->times(1); $generator->shouldReceive('multiSet')->andReturn([]); $this->be($this->user()); $response = $this->get(route('chart.report.sum', [1, '20120101', '20120131'])); $response->assertStatus(200); } }