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
@ -7,7 +7,18 @@ class Account extends Elegant
|
||||
public static $rules
|
||||
= [
|
||||
'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()
|
||||
|
@ -1,10 +1,16 @@
|
||||
<?php
|
||||
|
||||
|
||||
class AccountType extends Eloquent {
|
||||
class AccountType extends Eloquent
|
||||
{
|
||||
|
||||
public function accounts() {
|
||||
public static $factory
|
||||
= [
|
||||
'description' => 'string'
|
||||
];
|
||||
|
||||
public function accounts()
|
||||
{
|
||||
return $this->hasMany('Account');
|
||||
}
|
||||
|
||||
}
|
@ -9,6 +9,12 @@ class Preference extends Elegant
|
||||
'data' => 'required'
|
||||
];
|
||||
|
||||
public static $factory = [
|
||||
'user_id' => 'factory|User',
|
||||
'name' => 'string',
|
||||
'data' => 'string'
|
||||
];
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo('User');
|
||||
|
@ -18,6 +18,14 @@ class User extends Elegant implements UserInterface, RemindableInterface
|
||||
'password' => 'required|between:60,60',
|
||||
'reset' => 'between:32,32',
|
||||
];
|
||||
|
||||
public static $factory
|
||||
= [
|
||||
'email' => 'email',
|
||||
'password' => 'string',
|
||||
'migrated' => '0'
|
||||
|
||||
];
|
||||
/**
|
||||
* 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-ide-helper": "1.*",
|
||||
"mockery/mockery": "dev-master",
|
||||
"satooshi/php-coveralls": "dev-master"
|
||||
"satooshi/php-coveralls": "dev-master",
|
||||
"zizaco/factory-muff": "dev-master"
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
|
Loading…
Reference in New Issue
Block a user