aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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