. */ declare(strict_types=1); namespace Tests\Feature\Controllers\Chart; use FireflyIII\Generator\Chart\Basic\GeneratorInterface; use FireflyIII\Repositories\Account\AccountTaskerInterface; use Steam; use Tests\TestCase; /** * Class ReportControllerTest * * @package Tests\Feature\Controllers\Chart * @SuppressWarnings(PHPMD.TooManyPublicMethods) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class ReportControllerTest extends TestCase { /** * @covers \FireflyIII\Http\Controllers\Chart\ReportController::netWorth * @covers \FireflyIII\Http\Controllers\Chart\ReportController::arraySum * @covers \FireflyIII\Http\Controllers\Chart\ReportController::__construct */ public function testNetWorth() { $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::operations * @covers \FireflyIII\Http\Controllers\Chart\ReportController::getChartData */ public function testOperations() { $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::sum * @covers \FireflyIII\Http\Controllers\Chart\ReportController::getChartData */ public function testSum() { $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); } }