aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Filip Ignacy Bartosik <jbartosik@gmail.com>2011-05-10 20:48:41 +0200
committerJoachim Filip Ignacy Bartosik <jbartosik@gmail.com>2011-05-20 17:03:03 +0200
commit2c4affa23f43e8ccff5508fc6582c84724d80fac (patch)
tree5e2470956e7a90a72f369d1c64325478d600b4b4 /site/features
parentAdd irc_nick field to User model (diff)
downloadcouncil-webapp-2c4affa23f43e8ccff5508fc6582c84724d80fac.tar.gz
council-webapp-2c4affa23f43e8ccff5508fc6582c84724d80fac.tar.bz2
council-webapp-2c4affa23f43e8ccff5508fc6582c84724d80fac.zip
Use hobo_devise to manage users login
Diffstat (limited to 'site/features')
-rw-r--r--site/features/login.feature20
-rw-r--r--site/features/step_definitions/login_steps.rb12
2 files changed, 29 insertions, 3 deletions
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