aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers/general_controller_spec.rb
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2015-03-30 16:00:02 +0100
committerLouise Crow <louise.crow@gmail.com>2015-03-30 16:00:02 +0100
commitf24cc98afa25ad6010ae5316eecc15dfdb3fa79b (patch)
treec32fecb16bb2097da7dfdf90e6915fce0bf1a425 /spec/controllers/general_controller_spec.rb
parent823e58dc69960c600230b10604a0051359173f85 (diff)
parent3c0604cf900ad274d8f6ff421d39854ccbf4b6af (diff)
Merge branch 'release/0.21'0.21.0.0
Conflicts: locale/cy/app.po locale/es_NI/app.po locale/hr/app.po locale/is_IS/app.po locale/sr@latin/app.po
Diffstat (limited to 'spec/controllers/general_controller_spec.rb')
-rw-r--r--spec/controllers/general_controller_spec.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/controllers/general_controller_spec.rb b/spec/controllers/general_controller_spec.rb
index 8652d9b17..ae8d4f256 100644
--- a/spec/controllers/general_controller_spec.rb
+++ b/spec/controllers/general_controller_spec.rb
@@ -102,6 +102,14 @@ describe GeneralController, "when showing the frontpage" do
end
end
+ it 'should generate a feed URL for successful requests' do
+ get :frontpage
+ assigns[:feed_autodetect].size.should == 1
+ successful_request_feed = assigns[:feed_autodetect].first
+ successful_request_feed[:title].should == 'Successful requests'
+ end
+
+
it "should render the front page with default language and ignore the browser setting" do
config = MySociety::Config.load_default()
config['USE_DEFAULT_BROWSER_LANGUAGE'] = false
@@ -138,6 +146,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