Full coverage for home controller

This commit is contained in:
James Cole
2014-12-31 07:43:33 +01:00
parent 0cbb50ae9d
commit 64311da4b4
3 changed files with 36 additions and 15 deletions

View File

@@ -1,14 +1,16 @@
<?php <?php
use Illuminate\Database\Eloquent\Model as Eloquent;
use Watson\Validating\ValidatingTrait; use Watson\Validating\ValidatingTrait;
use \Illuminate\Database\Eloquent\Model as Eloquent;
/** /**
* Class Preference * Class Preference
*/ */
class Preference extends Eloquent class Preference extends Eloquent
{ {
use ValidatingTrait; use ValidatingTrait;
public static $rules protected $fillable = ['name', 'data', 'user_id'];
= ['user_id' => 'required|exists:users,id', 'name' => 'required|between:1,255', 'data' => 'required']; protected $rules
= ['user_id' => 'required|exists:users,id', 'name' => 'required|between:1,255', 'data' => 'required'];
/** /**
* @param $value * @param $value

View File

@@ -4,8 +4,8 @@ use Illuminate\Auth\Reminders\RemindableInterface;
use Illuminate\Auth\Reminders\RemindableTrait; use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\UserInterface; use Illuminate\Auth\UserInterface;
use Illuminate\Auth\UserTrait; use Illuminate\Auth\UserTrait;
use Illuminate\Database\Eloquent\Model as Eloquent;
use Watson\Validating\ValidatingTrait; use Watson\Validating\ValidatingTrait;
use \Illuminate\Database\Eloquent\Model as Eloquent;
/** /**
* Class User * Class User
@@ -16,14 +16,14 @@ class User extends Eloquent implements UserInterface, RemindableInterface
use UserTrait, RemindableTrait, ValidatingTrait; use UserTrait, RemindableTrait, ValidatingTrait;
protected $fillable = ['email'];
protected $hidden = ['remember_token'];
protected $rules protected $rules
= [ = [
'email' => 'required|email|unique:users,email', 'email' => 'required|email|unique:users,email',
'password' => 'required|between:60,60', 'password' => 'required|between:60,60',
'reset' => 'between:32,32', 'reset' => 'between:32,32',
]; ];
protected $fillable = ['email'];
protected $hidden = ['remember_token'];
protected $table = 'users'; protected $table = 'users';
/** /**
@@ -34,6 +34,14 @@ class User extends Eloquent implements UserInterface, RemindableInterface
return $this->hasMany('Account'); return $this->hasMany('Account');
} }
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function bills()
{
return $this->hasMany('Bill');
}
/** /**
* @return \Illuminate\Database\Eloquent\Relations\HasMany * @return \Illuminate\Database\Eloquent\Relations\HasMany
*/ */
@@ -66,14 +74,6 @@ class User extends Eloquent implements UserInterface, RemindableInterface
return $this->hasMany('Preference'); return $this->hasMany('Preference');
} }
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function bills()
{
return $this->hasMany('Bill');
}
/** /**
* @return \Illuminate\Database\Eloquent\Relations\HasMany * @return \Illuminate\Database\Eloquent\Relations\HasMany
*/ */

View File

@@ -45,6 +45,25 @@ class HomeControllerCest
$I->see('Firefly'); $I->see('Firefly');
} }
/**
* @param FunctionalTester $I
*/
public function indexWithPrefs(FunctionalTester $I)
{
$I->wantTo('see the home page of Firefly using pre-set accounts');
\Preference::whereName('frontPageAccounts')->delete();
\Preference::create(
[
'user_id' => 1,
'name' => 'frontPageAccounts',
'data' => '[1,2]'
]
);
$I->amOnPage('/');
$I->canSeeResponseCodeIs(200);
$I->see('Firefly');
}
/** /**
* @param FunctionalTester $I * @param FunctionalTester $I
*/ */