From 2c4affa23f43e8ccff5508fc6582c84724d80fac Mon Sep 17 00:00:00 2001 From: Joachim Filip Ignacy Bartosik Date: Tue, 10 May 2011 20:48:41 +0200 Subject: Use hobo_devise to manage users login --- site/features/login.feature | 20 ++++++++++++++++++-- site/features/step_definitions/login_steps.rb | 12 +++++++++++- 2 files changed, 29 insertions(+), 3 deletions(-) (limited to 'site/features') diff --git a/site/features/login.feature b/site/features/login.feature index 8ba5be3..cea0492 100644 --- a/site/features/login.feature +++ b/site/features/login.feature @@ -7,7 +7,6 @@ Feature: Login When I am on the homepage When I follow "Login" Then I should be on the login page - When I login as example user Then I should see "You have logged in." @@ -15,6 +14,23 @@ Feature: Login Given example user When I am on the login page And I login as example user - When I follow "Logged in as Example" Then I should see "Log out" + + Scenario: Do not remember log in if "Remeber me" field was not checked + Given example user + When I am on the login page + And I uncheck "remember_me" + And I login as example user + When I close browser + And I am on the home page + Then I should see "Login" + + Scenario: Remember log in if "Remeber me" field was checked + Given example user + When I am on the login page + And I check "remember_me" + And I login as example user + When I close browser + And I am on the home page + Then I should see "Log out" diff --git a/site/features/step_definitions/login_steps.rb b/site/features/step_definitions/login_steps.rb index 5eaa5cc..d0f6642 100644 --- a/site/features/step_definitions/login_steps.rb +++ b/site/features/step_definitions/login_steps.rb @@ -1,5 +1,5 @@ Given /^example user$/ do - user = User.new :name => "Example", :email_address => "example@example.com", + user = User.new :name => "Example", :email => "example@example.com", :password => "Example", :irc_nick => "example" user.save! end @@ -13,3 +13,13 @@ end When /^I login as example user$/ do When 'I login as "example@example.com" with password "Example"' end + +When /^I close browser$/ do + Capybara.current_session.driver.is_a?(Capybara::Driver::Selenium).should be_true + browser = Capybara.current_session.driver.browser + browser.manage.all_cookies.each do |cookie| + if cookie[:expires].nil? || cookie[:expires] < Time.now + browser.manage.delete_cookie(cookie[:name]) + end + end +end -- cgit v1.2.3-65-gdbad