First tests for User model.

This commit is contained in:
James Cole
2014-07-03 09:43:12 +02:00
parent 924ec29eaf
commit 3d1bc5891f
4 changed files with 82 additions and 3 deletions

View File

@@ -0,0 +1,11 @@
<?php
return [
'default' => 'sqlite',
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => ':memory:',
'prefix' => ''
],
]
];

View File

@@ -22,7 +22,7 @@ class User extends Elegant implements UserInterface, RemindableInterface
= [
'email' => 'required|email|unique:users,email',
'migrated' => 'required|numeric|between:0,1',
'password' => 'between:60,60',
'password' => 'required|between:60,60',
'verification' => 'between:32,32',
];
@@ -31,10 +31,10 @@ class User extends Elegant implements UserInterface, RemindableInterface
*
* @var array
*/
protected $hidden = array('password', 'remember_token');
protected $hidden = array('remember_token');
public function accounts() {
return $this->hasMany('Account');
}
}
}

View File

@@ -0,0 +1,23 @@
<?php
class HomeControllerTest extends TestCase
{
public function setUp()
{
parent::setUp();
}
public function testIndex()
{
// mock:
View::shouldReceive('make')->with('index');
Auth::shouldReceive('check')->andReturn(true);
// call
$this->call('GET', '/');
// test
$this->assertResponseOk();
}
}

View File

@@ -0,0 +1,45 @@
<?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.");
}
}