mock(GeneratorInterface::class); $pieChart = $this->mock(MetaPieChartInterface::class); $pieChart->shouldReceive('setAccounts')->once()->andReturnSelf(); $pieChart->shouldReceive('setBudgets')->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.budget.account-expense', ['1', '1', '20120101', '20120131', 0])); $response->assertStatus(200); } /** * @covers \FireflyIII\Http\Controllers\Chart\BudgetReportController::budgetExpense */ public function testBudgetExpense() { $generator = $this->mock(GeneratorInterface::class); $pieChart = $this->mock(MetaPieChartInterface::class); $pieChart->shouldReceive('setAccounts')->once()->andReturnSelf(); $pieChart->shouldReceive('setBudgets')->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.budget.budget-expense', ['1', '1', '20120101', '20120131', 0])); $response->assertStatus(200); } /** * @covers \FireflyIII\Http\Controllers\Chart\BudgetReportController::mainChart * @covers \FireflyIII\Http\Controllers\Chart\BudgetReportController::filterBudgetLimits * @covers \FireflyIII\Http\Controllers\Chart\BudgetReportController::getExpenses * @covers \FireflyIII\Http\Controllers\Chart\BudgetReportController::groupByBudget */ public function testMainChart() { $generator = $this->mock(GeneratorInterface::class); $collector = $this->mock(JournalCollectorInterface::class); $budgetRepos = $this->mock(BudgetRepositoryInterface::class); $one = factory(BudgetLimit::class)->make(); $one->budget_id = 1; $two = factory(BudgetLimit::class)->make(); $two->budget_id = 1; $two->start_date = new Carbon('2012-01-01'); $two->end_date = new Carbon('2012-01-31'); $transaction = factory(Transaction::class)->make(); $transaction->transaction_amount = '-100'; $transaction->destination_amount = '-100'; $transaction->amount = '-100'; $transaction->opposing_account_id = 8; Log::debug('Transaction', $transaction->toArray()); $budgetRepos->shouldReceive('getAllBudgetLimits')->andReturn(new Collection([$one, $two]))->once(); $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('setBudgets')->andReturnSelf(); $collector->shouldReceive('withOpposingAccount')->andReturnSelf(); $collector->shouldReceive('getJournals')->andReturn(new Collection([$transaction])); $generator->shouldReceive('multiSet')->andReturn([])->once(); $this->be($this->user()); $response = $this->get(route('chart.budget.main', ['1', '1', '20120101', '20120131', 0])); $response->assertStatus(200); } }