mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-29 18:20:01 +00:00
Routes and JS cleanup.
This commit is contained in:
@@ -285,26 +285,23 @@ Route::group(
|
||||
|
||||
// budgets:
|
||||
Route::get('/chart/budget/frontpage', ['uses' => 'Chart\BudgetController@frontpage']);
|
||||
Route::get('/chart/budget/year/{year}/{shared?}', ['uses' => 'Chart\BudgetController@year'])->where(['year' => '[0-9]{4}', 'shared' => 'shared']);
|
||||
Route::get('/chart/budget/{budget}/{limitrepetition}', ['uses' => 'Chart\BudgetController@budgetLimit']);
|
||||
|
||||
// categories:
|
||||
Route::get('/chart/category/frontpage', ['uses' => 'Chart\CategoryController@frontpage']);
|
||||
Route::get('/chart/category/year/{year}/{shared?}', ['uses' => 'Chart\CategoryController@year'])->where(['year' => '[0-9]{4}', 'shared' => 'shared']);
|
||||
Route::get('/chart/category/{category}/month', ['uses' => 'Chart\CategoryController@month']); // should be period.
|
||||
Route::get('/chart/category/{category}/all', ['uses' => 'Chart\CategoryController@all']);
|
||||
|
||||
// piggy banks:
|
||||
Route::get('/chart/piggyBank/{piggyBank}', ['uses' => 'Chart\PiggyBankController@history']);
|
||||
|
||||
|
||||
|
||||
Route::get('/chart/reports/income-expenses/{year}/{shared?}', ['uses' => 'GoogleChartController@yearInExp'])->where(
|
||||
// reports:
|
||||
Route::get('/chart/report/in-out/{year}/{shared?}', ['uses' => 'Chart\ReportController@yearInOut'])->where(['year' => '[0-9]{4}', 'shared' => 'shared']);
|
||||
Route::get('/chart/report/in-out-sum/{year}/{shared?}', ['uses' => 'Chart\ReportController@yearInOutSummarized'])->where(
|
||||
['year' => '[0-9]{4}', 'shared' => 'shared']
|
||||
);
|
||||
Route::get('/chart/reports/income-expenses-sum/{year}/{shared?}', ['uses' => 'GoogleChartController@yearInExpSum'])->where(
|
||||
['year' => '[0-9]{4}', 'shared' => 'shared']
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@@ -385,19 +382,6 @@ Route::group(
|
||||
'/reports/modal/{account}/{year}/{month}/left-unbalanced', ['uses' => 'ReportController@modalLeftUnbalanced', 'as' => 'reports.left-unbalanced']
|
||||
);
|
||||
|
||||
/**
|
||||
* Report Chart Controller:
|
||||
*/
|
||||
Route::get('/report/chart/in-out/{year}/{shared?}', ['uses' => 'ReportChartController@yearInOut'])->where(['year' => '[0-9]{4}', 'shared' => 'shared']);
|
||||
Route::get('/report/chart/in-out-sum/{year}/{shared?}', ['uses' => 'ReportChartController@yearInOutSummarized'])->where(
|
||||
['year' => '[0-9]{4}', 'shared' => 'shared']
|
||||
);
|
||||
|
||||
Route::get('/report/chart/budgets/{year}/{shared?}', ['uses' => 'ReportChartController@yearBudgets'])->where(['year' => '[0-9]{4}', 'shared' => 'shared']);
|
||||
Route::get('/report/chart/categories/{year}/{shared?}', ['uses' => 'ReportChartController@yearCategories'])->where(
|
||||
['year' => '[0-9]{4}', 'shared' => 'shared']
|
||||
);
|
||||
|
||||
/**
|
||||
* Search Controller
|
||||
*/
|
||||
|
@@ -4,10 +4,11 @@ if (typeof(google) != 'undefined') {
|
||||
|
||||
|
||||
function drawChart() {
|
||||
googleColumnChart('report/chart/in-out/' + year + shared, 'income-expenses-chart');
|
||||
googleColumnChart('report/chart/in-out-sum/' + year + shared, 'income-expenses-sum-chart')
|
||||
googleColumnChart('chart/report/in-out/' + year + shared, 'income-expenses-chart');
|
||||
googleColumnChart('chart/report/in-out-sum/' + year + shared, 'income-expenses-sum-chart');
|
||||
|
||||
googleStackedColumnChart('report/chart/budgets/' + year + shared, 'budgets');
|
||||
googleStackedColumnChart('chart/budget/year/' + year + shared, 'budgets');
|
||||
googleStackedColumnChart('chart/category/year/' + year + shared, 'categories');
|
||||
}
|
||||
|
||||
$(function () {
|
||||
|
@@ -164,7 +164,7 @@
|
||||
{{ 'categories'|_ }}
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div id="categories">(to do)</div>
|
||||
<div id="categories"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,256 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Carbon\Carbon;
|
||||
use FireflyIII\Models\Preference;
|
||||
use Illuminate\Support\Collection;
|
||||
use League\FactoryMuffin\Facade as FactoryMuffin;
|
||||
|
||||
/**
|
||||
* Class GoogleChartControllerTest
|
||||
*/
|
||||
class GoogleChartControllerTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* Sets up the fixture, for example, opens a network connection.
|
||||
* This method is called before a test is executed.
|
||||
*/
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called before the first test of this test class is run.
|
||||
*
|
||||
* @since Method available since Release 3.4.0
|
||||
*/
|
||||
public static function setUpBeforeClass()
|
||||
{
|
||||
parent::setUpBeforeClass();
|
||||
}
|
||||
|
||||
/**
|
||||
* Tears down the fixture, for example, closes a network connection.
|
||||
* This method is called after a test is executed.
|
||||
*/
|
||||
public function tearDown()
|
||||
{
|
||||
parent::tearDown();
|
||||
|
||||
}
|
||||
|
||||
public function testAccountBalance()
|
||||
{
|
||||
$account = FactoryMuffin::create('FireflyIII\Models\Account');
|
||||
$this->be($account->user);
|
||||
|
||||
// mock stuff:
|
||||
Steam::shouldReceive('balance')->andReturn(0);
|
||||
|
||||
$this->call('GET', '/chart/account/' . $account->id);
|
||||
$this->assertResponseOk();
|
||||
}
|
||||
|
||||
public function testAllAccountsBalanceChart()
|
||||
{
|
||||
$account = FactoryMuffin::create('FireflyIII\Models\Account');
|
||||
$this->be($account->user);
|
||||
$collection = new Collection;
|
||||
$collection->push($account);
|
||||
|
||||
//mock stuff:
|
||||
Preferences::shouldReceive('get')->andReturn(new Preference);
|
||||
$repository = $this->mock('FireflyIII\Repositories\Account\AccountRepositoryInterface');
|
||||
$repository->shouldReceive('getFrontpageAccounts')->andReturn($collection);
|
||||
|
||||
$this->call('GET', '/chart/home/account');
|
||||
$this->assertResponseOk();
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function testAllBudgetsHomeChart()
|
||||
{
|
||||
|
||||
$budget1 = FactoryMuffin::create('FireflyIII\Models\Budget');
|
||||
$budget2 = FactoryMuffin::create('FireflyIII\Models\Budget');
|
||||
$budget3 = FactoryMuffin::create('FireflyIII\Models\Budget');
|
||||
$budget4 = FactoryMuffin::create('FireflyIII\Models\Budget');
|
||||
$budgets = new Collection([$budget1, $budget2, $budget3, $budget4]);
|
||||
|
||||
$rep1 = FactoryMuffin::create('FireflyIII\Models\LimitRepetition');
|
||||
$rep2 = FactoryMuffin::create('FireflyIII\Models\LimitRepetition');
|
||||
$rep3 = FactoryMuffin::create('FireflyIII\Models\LimitRepetition');
|
||||
|
||||
$rep1->amount = 6;
|
||||
$rep1->save();
|
||||
$rep2->amount = 18;
|
||||
$rep2->save();
|
||||
$this->be($budget1->user);
|
||||
|
||||
|
||||
$coll1 = new Collection([$rep1]);
|
||||
$coll2 = new Collection([$rep2]);
|
||||
$coll3 = new Collection([$rep3]);
|
||||
$coll4 = new Collection;
|
||||
|
||||
|
||||
// mock stuff:
|
||||
$repository = $this->mock('FireflyIII\Repositories\Budget\BudgetRepositoryInterface');
|
||||
$repository->shouldReceive('getBudgets')->andReturn($budgets);
|
||||
$repository->shouldReceive('getBudgetLimitRepetitions')->andReturn($coll1, $coll2, $coll3, $coll4);
|
||||
$repository->shouldReceive('sumBudgetExpensesInPeriod')->andReturn(12, 12, 12, -12);
|
||||
$repository->shouldReceive('getWithoutBudgetSum')->andReturn(0);
|
||||
|
||||
$this->call('GET', '/chart/home/budgets');
|
||||
$this->assertResponseOk();
|
||||
}
|
||||
|
||||
public function testAllCategoriesHomeChart()
|
||||
{
|
||||
$category = FactoryMuffin::create('FireflyIII\Models\Category');
|
||||
|
||||
$this->be($category->user);
|
||||
$category->save();
|
||||
$category->sum = 100;
|
||||
$collection = new Collection;
|
||||
$collection->push($category);
|
||||
|
||||
// mock stuff:
|
||||
$repository = $this->mock('FireflyIII\Repositories\Category\CategoryRepositoryInterface');
|
||||
$repository->shouldReceive('getCategoriesAndExpenses')->andReturn($collection);
|
||||
Crypt::shouldReceive('decrypt')->andReturn('Hello!');
|
||||
Crypt::shouldReceive('encrypt')->andReturn('Hello!');
|
||||
|
||||
|
||||
$this->call('GET', '/chart/home/categories');
|
||||
$this->assertResponseOk();
|
||||
}
|
||||
|
||||
public function testBillOverview()
|
||||
{
|
||||
$bill = FactoryMuffin::create('FireflyIII\Models\Bill');
|
||||
$journal = FactoryMuffin::create('FireflyIII\Models\TransactionJournal');
|
||||
$collection = new Collection;
|
||||
$collection->push($journal);
|
||||
$this->be($bill->user);
|
||||
|
||||
// mock!
|
||||
$repository = $this->mock('FireflyIII\Repositories\Bill\BillRepositoryInterface');
|
||||
$repository->shouldReceive('getJournals')->andReturn($collection);
|
||||
|
||||
|
||||
// call!
|
||||
$this->call('GET', '/chart/bills/' . $bill->id);
|
||||
$this->assertResponseOk();
|
||||
}
|
||||
|
||||
public function testBillsOverview()
|
||||
{
|
||||
$bill1 = FactoryMuffin::create('FireflyIII\Models\Bill');
|
||||
$bill2 = FactoryMuffin::create('FireflyIII\Models\Bill');
|
||||
$journal1 = FactoryMuffin::create('FireflyIII\Models\TransactionJournal');
|
||||
$journal2 = FactoryMuffin::create('FireflyIII\Models\TransactionJournal');
|
||||
$card1 = FactoryMuffin::create('FireflyIII\Models\Account');
|
||||
$card2 = FactoryMuffin::create('FireflyIII\Models\Account');
|
||||
$fake = FactoryMuffin::create('FireflyIII\Models\Bill');
|
||||
|
||||
|
||||
$bills = new Collection([$bill1, $bill2]);
|
||||
$journals = new Collection([$journal1, $journal2]);
|
||||
$cards = new Collection([$card1, $card2]);
|
||||
$emptyCollection = new Collection;
|
||||
$ranges = [['start' => new Carbon, 'end' => new Carbon]];
|
||||
$this->be($bill1->user);
|
||||
|
||||
// mock!
|
||||
$repository = $this->mock('FireflyIII\Repositories\Bill\BillRepositoryInterface');
|
||||
$accounts = $this->mock('FireflyIII\Repositories\Account\AccountRepositoryInterface');
|
||||
|
||||
// calls:
|
||||
$repository->shouldReceive('getActiveBills')->andReturn($bills);
|
||||
$repository->shouldReceive('getRanges')->andReturn($ranges);
|
||||
$repository->shouldReceive('getJournalsInRange')->andReturn($journals, $emptyCollection);
|
||||
$accounts->shouldReceive('getCreditCards')->andReturn($cards);
|
||||
$accounts->shouldReceive('getTransfersInRange')->andReturn($journals, $emptyCollection);
|
||||
$repository->shouldReceive('createFakeBill')->andReturn($fake);
|
||||
Steam::shouldReceive('balance')->andReturn(-1, 0);
|
||||
|
||||
$this->call('GET', '/chart/home/bills');
|
||||
$this->assertResponseOk();
|
||||
}
|
||||
|
||||
public function testBudgetLimitSpending()
|
||||
{
|
||||
$repetition = FactoryMuffin::create('FireflyIII\Models\LimitRepetition');
|
||||
$repetition->startdate = Carbon::now()->startOfMonth();
|
||||
$repetition->enddate = Carbon::now()->endOfMonth();
|
||||
$repetition->save();
|
||||
$budget = $repetition->budgetlimit->budget;
|
||||
$this->be($budget->user);
|
||||
///chart/budget/{budget}/{limitrepetition}
|
||||
|
||||
// mock!
|
||||
$repository = $this->mock('FireflyIII\Repositories\Budget\BudgetRepositoryInterface');
|
||||
$repository->shouldReceive('expensesOnDay')->andReturn(rand(1, 1000));
|
||||
|
||||
$this->call('GET', '/chart/budget/' . $budget->id . '/' . $repetition->id);
|
||||
$this->assertResponseOk();
|
||||
|
||||
}
|
||||
|
||||
public function testCategoryOverviewChart()
|
||||
{
|
||||
$category = FactoryMuffin::create('FireflyIII\Models\Category');
|
||||
$pref = FactoryMuffin::create('FireflyIII\Models\Preference');
|
||||
$this->be($category->user);
|
||||
$start = new Carbon();
|
||||
$start->subDay();
|
||||
$end = new Carbon;
|
||||
$end->addWeek();
|
||||
|
||||
// mock!
|
||||
$repository = $this->mock('FireflyIII\Repositories\Category\CategoryRepositoryInterface');
|
||||
$repository->shouldReceive('getFirstActivityDate')->andReturn($start);
|
||||
$repository->shouldReceive('spentInPeriod')->andReturn(rand(1, 100));
|
||||
Preferences::shouldReceive('get')->andReturn($pref);
|
||||
|
||||
Navigation::shouldReceive('startOfPeriod')->andReturn($start);
|
||||
Navigation::shouldReceive('endOfPeriod')->andReturn($start);
|
||||
Navigation::shouldReceive('addPeriod')->andReturn($end);
|
||||
|
||||
$this->call('GET', '/chart/category/' . $category->id . '/overview');
|
||||
$this->assertResponseOk();
|
||||
}
|
||||
|
||||
public function testCategoryPeriodChart()
|
||||
{
|
||||
$category = FactoryMuffin::create('FireflyIII\Models\Category');
|
||||
$this->be($category->user);
|
||||
|
||||
// mock!
|
||||
$repository = $this->mock('FireflyIII\Repositories\Category\CategoryRepositoryInterface');
|
||||
$repository->shouldReceive('spentOnDaySum')->andReturn(rand(1, 100));
|
||||
|
||||
$this->call('GET', '/chart/category/' . $category->id . '/period');
|
||||
$this->assertResponseOk();
|
||||
}
|
||||
|
||||
public function testPiggyBankHistory()
|
||||
{
|
||||
$piggyBank = FactoryMuffin::create('FireflyIII\Models\PiggyBank');
|
||||
$this->be($piggyBank->account->user);
|
||||
|
||||
$obj = new stdClass;
|
||||
$obj->sum = 12;
|
||||
$obj->date = new Carbon;
|
||||
$collection = new Collection([$obj]);
|
||||
|
||||
$repository = $this->mock('FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface');
|
||||
$repository->shouldReceive('getEventSummarySet')->andReturn($collection);
|
||||
|
||||
$this->call('GET', '/chart/piggy-history/' . $piggyBank->id);
|
||||
$this->assertResponseOk();
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user