diff options
author | Louise Crow <louise.crow@gmail.com> | 2014-12-15 10:44:19 +0000 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2014-12-15 10:44:19 +0000 |
commit | 0e5726a1de7bf927a4ef99a98267b90beffb4746 (patch) | |
tree | c53cfda3eed152070e8df62477dcbcd76f849e79 /spec/controllers/general_controller_spec.rb | |
parent | 64e636fee3651f5f6c9d3e34bd1260d546e11ce7 (diff) | |
parent | 224725e202d581d956e8958c521abb00de9935b1 (diff) |
Merge branch 'misc-fixes' into rails-3-develop
Diffstat (limited to 'spec/controllers/general_controller_spec.rb')
-rw-r--r-- | spec/controllers/general_controller_spec.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/controllers/general_controller_spec.rb b/spec/controllers/general_controller_spec.rb index c0a9d57d3..4a7a0bb48 100644 --- a/spec/controllers/general_controller_spec.rb +++ b/spec/controllers/general_controller_spec.rb @@ -126,6 +126,35 @@ describe GeneralController, "when showing the frontpage" do end + describe 'when handling logged-in users' do + + before do + @user = FactoryGirl.create(:user) + session[:user_id] = @user.id + end + + it 'should set a time to live on a non "remember me" session' do + get :frontpage + response.body.should match @user.name + session[:ttl].should be_within(1).of(Time.now) + end + + it 'should not set a time to live on a "remember me" session' do + session[:remember_me] = true + get :frontpage + response.body.should match @user.name + session[:ttl].should be_nil + end + + it 'should end a logged-in session whose ttl has expired' do + session[:ttl] = Time.now - 4.hours + get :frontpage + response.should redirect_to signin_path + session[:user_id].should be_nil + end + + end + end |