diff --git a/app/Http/Controllers/BudgetController.php b/app/Http/Controllers/BudgetController.php index 6802b9b235..6437e97a33 100644 --- a/app/Http/Controllers/BudgetController.php +++ b/app/Http/Controllers/BudgetController.php @@ -191,10 +191,11 @@ class BudgetController extends Controller /** * @param Request $request + * @param string $moment * * @return View */ - public function noBudget(Request $request, string $moment = '') + public function noBudget(Request $request, JournalRepositoryInterface $repository, string $moment = '') { // default values: $range = Preferences::get('viewRange', '1M')->data; @@ -205,6 +206,9 @@ class BudgetController extends Controller // prep for "all" view. if ($moment === 'all') { $subTitle = trans('firefly.all_journals_without_budget'); + $first = $repository->first(); + $start = $first->date ?? new Carbon; + $end = new Carbon; } // prep for "specific date" view. diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index b6aceb646d..c33e58cfd8 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -115,6 +115,7 @@ return [ 'multi_select_no_selection' => 'None selected', 'multi_select_all_selected' => 'All selected', 'multi_select_filter_placeholder' => 'Find..', + 'all_journals_without_budget' => 'All transactions without a budget', // repeat frequencies: diff --git a/tests/Feature/Controllers/BudgetControllerTest.php b/tests/Feature/Controllers/BudgetControllerTest.php index d6d0882781..fca3c8dc29 100644 --- a/tests/Feature/Controllers/BudgetControllerTest.php +++ b/tests/Feature/Controllers/BudgetControllerTest.php @@ -142,6 +142,7 @@ class BudgetControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\BudgetController::noBudget + * @covers \FireflyIII\Http\Controllers\BudgetController::noBudgetPeriodEntries * @dataProvider dateRangeProvider * * @param string $range @@ -151,10 +152,11 @@ class BudgetControllerTest extends TestCase // mock stuff $collector = $this->mock(JournalCollectorInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); - $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); + $journalRepos->shouldReceive('first')->andReturn(new TransactionJournal); $collector->shouldReceive('setAllAssetAccounts')->andReturnSelf(); $collector->shouldReceive('setRange')->andReturnSelf(); + $collector->shouldReceive('getJournals')->andReturn(new Collection); $collector->shouldReceive('setLimit')->andReturnSelf(); $collector->shouldReceive('setPage')->andReturnSelf(); $collector->shouldReceive('withoutBudget')->andReturnSelf(); @@ -172,6 +174,73 @@ class BudgetControllerTest extends TestCase $response->assertSee('