Skip to content

Instantly share code, notes, and snippets.

@nruth
Created July 21, 2010 17:16
Show Gist options
  • Save nruth/484787 to your computer and use it in GitHub Desktop.
Save nruth/484787 to your computer and use it in GitHub Desktop.
Testing login "remember me" feature with Capybara (rack::test or selenium) - deleting the session cookie (only)
@javascript @announce
Scenario: remembering users so they don't have to log in again for a while
Given an activated member exists with forename: "Paul", surname: "Smith", email: "[email protected]", password: "bananabanana"
When I go to the dashboard
Then I should see "Existing Member Login"
When I fill in "Email" with "[email protected]" within "#member_login"
And I fill in "Password" with "bananabanana" within "#member_login"
And I check "Remember me"
And I press "Sign in"
Then I should be on the dashboard
And I should see "Logged in as Paul Smith"
And I should see "Sign out"
Given I close my browser (clearing the Medify session)
When I come back next time
And I go to the dashboard
Then I should see "Logged in as Paul Smith"
And I should see "Sign out"
@rack_test @announce
Scenario: don't remember users across browser restarts if they don't want it
Given an activated member exists with forename: "Paul", surname: "Smith", email: "[email protected]", password: "bananabanana"
When I go to the dashboard
Then I should see "Existing Member Login"
When I fill in "Email" with "[email protected]" within "#member_login"
And I fill in "Password" with "bananabanana" within "#member_login"
And I uncheck "Remember me"
And I press "Sign in"
Then I should be on the dashboard
And I should see "Logged in as Paul Smith"
And I should see "Sign out"
Given I close my browser (clearing the Medify session)
When I come back next time
And I go to the dashboard
Then I should see "Existing Member Login"
And I should not see "Logged in as Paul Smith"
And I should not see "Sign out"
@bilus
Copy link

bilus commented Dec 24, 2012

A slightly cleaned-up version that also supports Webkit.

NOTES:

  1. It's based on the code above so it's supposed to work with Selenium & RackTest but I've only tested it against Webkit.
  2. It does not support the @announce tag.
  3. I've just noticed the gem. :D

https://gist.github.com/4367281

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment