From 64311da4b40e20587ba58df6d33fa6a02bd91fa1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 31 Dec 2014 07:43:33 +0100 Subject: [PATCH] Full coverage for home controller --- app/models/Preference.php | 8 +++++--- app/models/User.php | 24 ++++++++++++------------ tests/functional/HomeControllerCest.php | 19 +++++++++++++++++++ 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/app/models/Preference.php b/app/models/Preference.php index 67df6c44f0..d56e0304e3 100644 --- a/app/models/Preference.php +++ b/app/models/Preference.php @@ -1,14 +1,16 @@ 'required|exists:users,id', 'name' => 'required|between:1,255', 'data' => 'required']; + protected $fillable = ['name', 'data', 'user_id']; + protected $rules + = ['user_id' => 'required|exists:users,id', 'name' => 'required|between:1,255', 'data' => 'required']; /** * @param $value diff --git a/app/models/User.php b/app/models/User.php index 6bfaf45255..6984098fa6 100644 --- a/app/models/User.php +++ b/app/models/User.php @@ -4,8 +4,8 @@ use Illuminate\Auth\Reminders\RemindableInterface; use Illuminate\Auth\Reminders\RemindableTrait; use Illuminate\Auth\UserInterface; use Illuminate\Auth\UserTrait; +use Illuminate\Database\Eloquent\Model as Eloquent; use Watson\Validating\ValidatingTrait; -use \Illuminate\Database\Eloquent\Model as Eloquent; /** * Class User @@ -16,14 +16,14 @@ class User extends Eloquent implements UserInterface, RemindableInterface use UserTrait, RemindableTrait, ValidatingTrait; + protected $fillable = ['email']; + protected $hidden = ['remember_token']; protected $rules - = [ + = [ 'email' => 'required|email|unique:users,email', 'password' => 'required|between:60,60', 'reset' => 'between:32,32', ]; - protected $fillable = ['email']; - protected $hidden = ['remember_token']; protected $table = 'users'; /** @@ -34,6 +34,14 @@ class User extends Eloquent implements UserInterface, RemindableInterface return $this->hasMany('Account'); } + /** + * @return \Illuminate\Database\Eloquent\Relations\HasMany + */ + public function bills() + { + return $this->hasMany('Bill'); + } + /** * @return \Illuminate\Database\Eloquent\Relations\HasMany */ @@ -66,14 +74,6 @@ class User extends Eloquent implements UserInterface, RemindableInterface return $this->hasMany('Preference'); } - /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany - */ - public function bills() - { - return $this->hasMany('Bill'); - } - /** * @return \Illuminate\Database\Eloquent\Relations\HasMany */ diff --git a/tests/functional/HomeControllerCest.php b/tests/functional/HomeControllerCest.php index c48de4a0e4..43e43b04c6 100644 --- a/tests/functional/HomeControllerCest.php +++ b/tests/functional/HomeControllerCest.php @@ -45,6 +45,25 @@ class HomeControllerCest $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 */