mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-05 04:03:26 +00:00
Bunch of new tests.
This commit is contained in:
@@ -6,6 +6,7 @@ class ReportController extends BaseController
|
|||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@@ -1,36 +1,37 @@
|
|||||||
<?php
|
<?php
|
||||||
|
use Carbon\Carbon;
|
||||||
use LaravelBook\Ardent\Ardent;
|
use LaravelBook\Ardent\Ardent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RecurringTransaction
|
* RecurringTransaction
|
||||||
*
|
*
|
||||||
* @property integer $id
|
* @property integer $id
|
||||||
* @property \Carbon\Carbon $created_at
|
* @property \Carbon\Carbon $created_at
|
||||||
* @property \Carbon\Carbon $updated_at
|
* @property \Carbon\Carbon $updated_at
|
||||||
* @property integer $user_id
|
* @property integer $user_id
|
||||||
* @property string $name
|
* @property string $name
|
||||||
* @property string $match
|
* @property string $match
|
||||||
* @property float $amount_max
|
* @property float $amount_max
|
||||||
* @property float $amount_min
|
* @property float $amount_min
|
||||||
* @property \Carbon\Carbon $date
|
* @property \Carbon\Carbon $date
|
||||||
* @property boolean $active
|
* @property boolean $active
|
||||||
* @property boolean $automatch
|
* @property boolean $automatch
|
||||||
* @property string $repeat_freq
|
* @property string $repeat_freq
|
||||||
* @property integer $skip
|
* @property integer $skip
|
||||||
* @property-read \User $user
|
* @property-read \User $user
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereId($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereId($value)
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereCreatedAt($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereCreatedAt($value)
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereUpdatedAt($value)
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereUserId($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereUserId($value)
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereName($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereName($value)
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereMatch($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereMatch($value)
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereAmountMax($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereAmountMax($value)
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereAmountMin($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereAmountMin($value)
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereDate($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereDate($value)
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereActive($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereActive($value)
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereAutomatch($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereAutomatch($value)
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereRepeatFreq($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereRepeatFreq($value)
|
||||||
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereSkip($value)
|
* @method static \Illuminate\Database\Query\Builder|\RecurringTransaction whereSkip($value)
|
||||||
*/
|
*/
|
||||||
class RecurringTransaction extends Ardent
|
class RecurringTransaction extends Ardent
|
||||||
{
|
{
|
||||||
@@ -49,12 +50,23 @@ class RecurringTransaction extends Ardent
|
|||||||
'skip' => 'required|between:0,31',
|
'skip' => 'required|between:0,31',
|
||||||
];
|
];
|
||||||
|
|
||||||
public static $factory
|
public static function factory()
|
||||||
= [
|
{
|
||||||
'user_id' => 'factory|User',
|
$date = new Carbon;
|
||||||
'name' => 'string',
|
|
||||||
'data' => 'string'
|
return [
|
||||||
|
'user_id' => 'factory|User',
|
||||||
|
'name' => 'string',
|
||||||
|
'match' => 'string',
|
||||||
|
'amount_max' => 100,
|
||||||
|
'amount_min' => 50,
|
||||||
|
'date' => $date,
|
||||||
|
'active' => 1,
|
||||||
|
'automatch' => 1,
|
||||||
|
'repeat_freq' => 'monthly',
|
||||||
|
'skip' => 0,
|
||||||
];
|
];
|
||||||
|
}
|
||||||
|
|
||||||
public function getDates()
|
public function getDates()
|
||||||
{
|
{
|
||||||
|
@@ -156,6 +156,9 @@ Route::group(['before' => 'auth'], function () {
|
|||||||
Route::get('/recurring/edit/{recurring}',['uses' => 'RecurringController@edit','as' => 'recurring.edit']);
|
Route::get('/recurring/edit/{recurring}',['uses' => 'RecurringController@edit','as' => 'recurring.edit']);
|
||||||
Route::get('/recurring/delete/{recurring}',['uses' => 'RecurringController@delete','as' => 'recurring.delete']);
|
Route::get('/recurring/delete/{recurring}',['uses' => 'RecurringController@delete','as' => 'recurring.delete']);
|
||||||
|
|
||||||
|
// report controller:
|
||||||
|
Route::get('/reports',['uses' => 'ReportController@index','as' => 'reports.index']);
|
||||||
|
|
||||||
// transaction controller:
|
// transaction controller:
|
||||||
Route::get('/transactions/create/{what}', ['uses' => 'TransactionController@create', 'as' => 'transactions.create'])->where(['what' => 'withdrawal|deposit|transfer']);
|
Route::get('/transactions/create/{what}', ['uses' => 'TransactionController@create', 'as' => 'transactions.create'])->where(['what' => 'withdrawal|deposit|transfer']);
|
||||||
Route::get('/transaction/show/{tj}',['uses' => 'TransactionController@show','as' => 'transactions.show']);
|
Route::get('/transaction/show/{tj}',['uses' => 'TransactionController@show','as' => 'transactions.show']);
|
||||||
|
53
app/tests/controllers/PreferencesControllerTest.php
Normal file
53
app/tests/controllers/PreferencesControllerTest.php
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
use Mockery as m;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class PreferencesControllerTest
|
||||||
|
*/
|
||||||
|
class PreferencesControllerTest extends TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
protected $_user;
|
||||||
|
protected $_helper;
|
||||||
|
protected $_accounts;
|
||||||
|
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
Artisan::call('migrate');
|
||||||
|
Artisan::call('db:seed');
|
||||||
|
$this->_user = m::mock('User', 'Eloquent');
|
||||||
|
$this->_helper = $this->mock('Firefly\Helper\Preferences\PreferencesHelperInterface');
|
||||||
|
$this->_accounts = $this->mock('Firefly\Storage\Account\AccountRepositoryInterface');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tearDown()
|
||||||
|
{
|
||||||
|
m::close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testIndex()
|
||||||
|
{
|
||||||
|
$viewRange = $this->mock('Preference');
|
||||||
|
$viewRange->shouldReceive('getAttribute')->with('data')->andReturn('1M');
|
||||||
|
|
||||||
|
$this->_accounts->shouldReceive('getDefault')->andReturn([]);
|
||||||
|
$this->_helper->shouldReceive('get')->with('viewRange','1M')->andReturn($viewRange);
|
||||||
|
$this->_helper->shouldReceive('get')->with('frontpageAccounts',[])->andReturn([]);
|
||||||
|
|
||||||
|
|
||||||
|
$this->action('GET', 'PreferencesController@index');
|
||||||
|
$this->assertResponseOk();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testPostIndex()
|
||||||
|
{
|
||||||
|
$this->_helper->shouldReceive('set')->with('frontpageAccounts',[1]);
|
||||||
|
$this->_helper->shouldReceive('set')->with('viewRange','1M');
|
||||||
|
$this->action('POST', 'PreferencesController@postIndex',['frontpageAccounts' => [1],'viewRange' => '1M']);
|
||||||
|
$this->assertResponseStatus(302);
|
||||||
|
}
|
||||||
|
}
|
161
app/tests/controllers/RecurringControllerTest.php
Normal file
161
app/tests/controllers/RecurringControllerTest.php
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
<?php
|
||||||
|
use Mockery as m;
|
||||||
|
use Zizaco\FactoryMuff\Facade\FactoryMuff as f;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class RecurringControllerTest
|
||||||
|
*/
|
||||||
|
class RecurringControllerTest extends TestCase
|
||||||
|
{
|
||||||
|
protected $_user;
|
||||||
|
protected $_repository;
|
||||||
|
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
Artisan::call('migrate');
|
||||||
|
Artisan::call('db:seed');
|
||||||
|
$this->_user = m::mock('User', 'Eloquent');
|
||||||
|
$this->_repository = $this->mock(
|
||||||
|
'Firefly\Storage\RecurringTransaction\RecurringTransactionRepositoryInterface'
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tearDown()
|
||||||
|
{
|
||||||
|
m::close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCreate()
|
||||||
|
{
|
||||||
|
$this->action('GET', 'RecurringController@create');
|
||||||
|
$this->assertResponseOk();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDelete()
|
||||||
|
{
|
||||||
|
$recurringTransaction = f::create('RecurringTransaction');
|
||||||
|
|
||||||
|
// for binding
|
||||||
|
Auth::shouldReceive('user')->andReturn($this->_user);
|
||||||
|
Auth::shouldReceive('check')->andReturn(true);
|
||||||
|
$this->_user->shouldReceive('getAttribute')->with('id')->once()->andReturn($recurringTransaction->user_id);
|
||||||
|
$this->_user->shouldReceive('getAttribute')->with('email')->once()->andReturn('some@email');
|
||||||
|
|
||||||
|
|
||||||
|
$this->action('GET', 'RecurringController@delete',$recurringTransaction->id);
|
||||||
|
$this->assertResponseOk();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDestroy()
|
||||||
|
{
|
||||||
|
$recurringTransaction = f::create('RecurringTransaction');
|
||||||
|
|
||||||
|
// for binding
|
||||||
|
Auth::shouldReceive('user')->andReturn($this->_user);
|
||||||
|
Auth::shouldReceive('check')->andReturn(true);
|
||||||
|
$this->_user->shouldReceive('getAttribute')->with('id')->once()->andReturn($recurringTransaction->user_id);
|
||||||
|
$this->_user->shouldReceive('getAttribute')->with('email')->andReturn('some@email');
|
||||||
|
$this->_repository->shouldReceive('destroy')->andReturn(true);
|
||||||
|
|
||||||
|
$this->action('POST', 'RecurringController@destroy',$recurringTransaction->id);
|
||||||
|
$this->assertResponseStatus(302);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDestroyFails()
|
||||||
|
{
|
||||||
|
$recurringTransaction = f::create('RecurringTransaction');
|
||||||
|
|
||||||
|
// for binding
|
||||||
|
Auth::shouldReceive('user')->andReturn($this->_user);
|
||||||
|
Auth::shouldReceive('check')->andReturn(true);
|
||||||
|
$this->_user->shouldReceive('getAttribute')->with('id')->once()->andReturn($recurringTransaction->user_id);
|
||||||
|
$this->_user->shouldReceive('getAttribute')->with('email')->andReturn('some@email');
|
||||||
|
$this->_repository->shouldReceive('destroy')->andReturn(false);
|
||||||
|
|
||||||
|
$this->action('POST', 'RecurringController@destroy',$recurringTransaction->id);
|
||||||
|
$this->assertResponseStatus(302);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testEdit()
|
||||||
|
{
|
||||||
|
$recurringTransaction = f::create('RecurringTransaction');
|
||||||
|
|
||||||
|
// for binding
|
||||||
|
Auth::shouldReceive('user')->andReturn($this->_user);
|
||||||
|
Auth::shouldReceive('check')->andReturn(true);
|
||||||
|
$this->_user->shouldReceive('getAttribute')->with('id')->once()->andReturn($recurringTransaction->user_id);
|
||||||
|
$this->_user->shouldReceive('getAttribute')->with('email')->once()->andReturn('some@email');
|
||||||
|
|
||||||
|
$this->action('GET', 'RecurringController@edit',$recurringTransaction->id);
|
||||||
|
$this->assertResponseOk();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testIndex()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->_repository->shouldReceive('get')->andReturn([]);
|
||||||
|
|
||||||
|
$this->action('GET', 'RecurringController@index');
|
||||||
|
$this->assertResponseOk();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testShow()
|
||||||
|
{
|
||||||
|
$recurringTransaction = f::create('RecurringTransaction');
|
||||||
|
|
||||||
|
// for binding
|
||||||
|
Auth::shouldReceive('user')->andReturn($this->_user);
|
||||||
|
Auth::shouldReceive('check')->andReturn(true);
|
||||||
|
$this->_user->shouldReceive('getAttribute')->with('id')->andReturn($recurringTransaction->user_id);
|
||||||
|
$this->_user->shouldReceive('getAttribute')->with('email')->andReturn('some@email');
|
||||||
|
|
||||||
|
|
||||||
|
$this->action('GET', 'RecurringController@show',$recurringTransaction->id);
|
||||||
|
$this->assertResponseOk();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testStore()
|
||||||
|
{
|
||||||
|
$recurringTransaction = f::create('RecurringTransaction');
|
||||||
|
|
||||||
|
$this->_repository->shouldReceive('store')->andReturn($recurringTransaction);
|
||||||
|
$this->action('POST', 'RecurringController@store');
|
||||||
|
$this->assertResponseStatus(302);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testStoreRedirect()
|
||||||
|
{
|
||||||
|
$recurringTransaction = f::create('RecurringTransaction');
|
||||||
|
|
||||||
|
$this->_repository->shouldReceive('store')->andReturn($recurringTransaction);
|
||||||
|
$this->action('POST', 'RecurringController@store',['create' => '1']);
|
||||||
|
$this->assertResponseStatus(302);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testStoreFails()
|
||||||
|
{
|
||||||
|
$recurringTransaction = f::create('RecurringTransaction');
|
||||||
|
unset($recurringTransaction->id);
|
||||||
|
|
||||||
|
$this->_repository->shouldReceive('store')->andReturn($recurringTransaction);
|
||||||
|
$this->action('POST', 'RecurringController@store',['create' => '1']);
|
||||||
|
$this->assertResponseStatus(302);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testUpdate()
|
||||||
|
{
|
||||||
|
$recurringTransaction = f::create('RecurringTransaction');
|
||||||
|
|
||||||
|
// for binding
|
||||||
|
Auth::shouldReceive('user')->andReturn($this->_user);
|
||||||
|
Auth::shouldReceive('check')->andReturn(true);
|
||||||
|
$this->_user->shouldReceive('getAttribute')->with('id')->andReturn($recurringTransaction->user_id);
|
||||||
|
$this->_user->shouldReceive('getAttribute')->with('email')->andReturn('some@email');
|
||||||
|
|
||||||
|
|
||||||
|
$this->action('POST', 'RecurringController@update',$recurringTransaction->id);
|
||||||
|
$this->assertResponseOk();
|
||||||
|
}
|
||||||
|
}
|
27
app/tests/controllers/ReportControllerTest.php
Normal file
27
app/tests/controllers/ReportControllerTest.php
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
use Mockery as m;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class ReportControllerTest
|
||||||
|
*/
|
||||||
|
class ReportControllerTest extends TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tearDown()
|
||||||
|
{
|
||||||
|
m::close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testIndex()
|
||||||
|
{
|
||||||
|
$this->action('GET', 'ReportController@index');
|
||||||
|
$this->assertResponseOk();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
9
app/tests/controllers/UserControllerTes.php
Normal file
9
app/tests/controllers/UserControllerTes.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class UserControllerTest extends TestCase
|
||||||
|
{
|
||||||
|
public function testJemoeder()
|
||||||
|
{
|
||||||
|
$this->assertTrue(true);
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user