mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Some experimental model tests.
This commit is contained in:
parent
5645f7a893
commit
84f4e80da1
@ -6,8 +6,19 @@ class Account extends Elegant
|
|||||||
|
|
||||||
public static $rules
|
public static $rules
|
||||||
= [
|
= [
|
||||||
'name' => 'required|between:1,100',
|
'name' => 'required|between:1,100',
|
||||||
'user_id' => 'required|exists:users,id'
|
'user_id' => 'required|exists:users,id',
|
||||||
|
'account_type_id' => 'required|exists:account_types,id',
|
||||||
|
'active' => 'required|between:0,1|numeric'
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
public static $factory
|
||||||
|
= [
|
||||||
|
'name' => 'string',
|
||||||
|
'user_id' => 'factory|User',
|
||||||
|
'account_type_id' => 'factory|AccountType',
|
||||||
|
'active' => '1'
|
||||||
];
|
];
|
||||||
|
|
||||||
public function accountType()
|
public function accountType()
|
||||||
|
@ -1,10 +1,16 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
||||||
class AccountType extends Eloquent {
|
class AccountType extends Eloquent
|
||||||
|
{
|
||||||
|
|
||||||
public function accounts() {
|
public static $factory
|
||||||
|
= [
|
||||||
|
'description' => 'string'
|
||||||
|
];
|
||||||
|
|
||||||
|
public function accounts()
|
||||||
|
{
|
||||||
return $this->hasMany('Account');
|
return $this->hasMany('Account');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -9,6 +9,12 @@ class Preference extends Elegant
|
|||||||
'data' => 'required'
|
'data' => 'required'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static $factory = [
|
||||||
|
'user_id' => 'factory|User',
|
||||||
|
'name' => 'string',
|
||||||
|
'data' => 'string'
|
||||||
|
];
|
||||||
|
|
||||||
public function user()
|
public function user()
|
||||||
{
|
{
|
||||||
return $this->belongsTo('User');
|
return $this->belongsTo('User');
|
||||||
|
@ -18,6 +18,14 @@ class User extends Elegant implements UserInterface, RemindableInterface
|
|||||||
'password' => 'required|between:60,60',
|
'password' => 'required|between:60,60',
|
||||||
'reset' => 'between:32,32',
|
'reset' => 'between:32,32',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static $factory
|
||||||
|
= [
|
||||||
|
'email' => 'email',
|
||||||
|
'password' => 'string',
|
||||||
|
'migrated' => '0'
|
||||||
|
|
||||||
|
];
|
||||||
/**
|
/**
|
||||||
* The database table used by the model.
|
* The database table used by the model.
|
||||||
*
|
*
|
||||||
|
55
app/tests/models/AllModelsTest.php
Normal file
55
app/tests/models/AllModelsTest.php
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Zizaco\FactoryMuff\Facade\FactoryMuff;
|
||||||
|
|
||||||
|
class AllModelsTest extends TestCase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Default preparation for each test
|
||||||
|
*/
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
$this->prepareForTests();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Migrate the database
|
||||||
|
*/
|
||||||
|
private function prepareForTests()
|
||||||
|
{
|
||||||
|
Artisan::call('migrate');
|
||||||
|
Artisan::call('db:seed');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User tests
|
||||||
|
*/
|
||||||
|
public function testUser()
|
||||||
|
{
|
||||||
|
$user = FactoryMuff::create('User');
|
||||||
|
$pref = FactoryMuff::create('Preference');
|
||||||
|
$account = FactoryMuff::create('Account');
|
||||||
|
|
||||||
|
$account->user()->associate($user);
|
||||||
|
$pref->user()->associate($user);
|
||||||
|
|
||||||
|
$this->assertEquals($account->user_id, $user->id);
|
||||||
|
$this->assertEquals($pref->user_id,$user->id);
|
||||||
|
|
||||||
|
|
||||||
|
$this->assertTrue(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Account tests
|
||||||
|
*/
|
||||||
|
public function testUserAccounts()
|
||||||
|
{
|
||||||
|
$this->assertTrue(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -1,30 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
class TransactionJournalTest extends TestCase
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Default preparation for each test
|
|
||||||
*/
|
|
||||||
public function setUp()
|
|
||||||
{
|
|
||||||
parent::setUp();
|
|
||||||
|
|
||||||
$this->prepareForTests();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Migrate the database
|
|
||||||
*/
|
|
||||||
private function prepareForTests()
|
|
||||||
{
|
|
||||||
Artisan::call('migrate');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test accounts
|
|
||||||
*/
|
|
||||||
public function testJournal()
|
|
||||||
{
|
|
||||||
$this->assertTrue(true);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,75 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
class UserTest extends TestCase
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Default preparation for each test
|
|
||||||
*/
|
|
||||||
public function setUp()
|
|
||||||
{
|
|
||||||
parent::setUp();
|
|
||||||
|
|
||||||
$this->prepareForTests();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Migrate the database
|
|
||||||
*/
|
|
||||||
private function prepareForTests()
|
|
||||||
{
|
|
||||||
Artisan::call('migrate');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Username is required
|
|
||||||
*/
|
|
||||||
public function testUsernameIsRequired()
|
|
||||||
{
|
|
||||||
// Create a new User
|
|
||||||
$user = new User;
|
|
||||||
$user->migrated = 0;
|
|
||||||
$user->password = Str::random(60);
|
|
||||||
|
|
||||||
// User should not save
|
|
||||||
$this->assertFalse($user->isValid());
|
|
||||||
|
|
||||||
// Save the errors
|
|
||||||
$errors = $user->validator->messages()->all();
|
|
||||||
// // There should be 1 error
|
|
||||||
$this->assertCount(1, $errors);
|
|
||||||
|
|
||||||
// // The username error should be set
|
|
||||||
$this->assertEquals($errors[0], "The email field is required.");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test accounts
|
|
||||||
*/
|
|
||||||
public function testUserAccounts()
|
|
||||||
{
|
|
||||||
// Create a new User
|
|
||||||
$user = new User;
|
|
||||||
$user->email = 'bla';
|
|
||||||
$user->password = 'bla';
|
|
||||||
$user->migrated = 0;
|
|
||||||
$user->save();
|
|
||||||
|
|
||||||
// account type:
|
|
||||||
$at = new AccountType;
|
|
||||||
$at->description = 'Bla';
|
|
||||||
$at->save();
|
|
||||||
|
|
||||||
|
|
||||||
$account = new Account;
|
|
||||||
$account->name = 'bla';
|
|
||||||
$account->active = 1;
|
|
||||||
$account->accountType()->associate($at);
|
|
||||||
$account->user()->associate($user);
|
|
||||||
|
|
||||||
$account->save();
|
|
||||||
|
|
||||||
$this->assertCount(1,$user->accounts()->get());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -28,7 +28,8 @@
|
|||||||
"barryvdh/laravel-debugbar": "1.*",
|
"barryvdh/laravel-debugbar": "1.*",
|
||||||
"barryvdh/laravel-ide-helper": "1.*",
|
"barryvdh/laravel-ide-helper": "1.*",
|
||||||
"mockery/mockery": "dev-master",
|
"mockery/mockery": "dev-master",
|
||||||
"satooshi/php-coveralls": "dev-master"
|
"satooshi/php-coveralls": "dev-master",
|
||||||
|
"zizaco/factory-muff": "dev-master"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"classmap": [
|
"classmap": [
|
||||||
|
Loading…
Reference in New Issue
Block a user