Skip to content

Instantly share code, notes, and snippets.

@nruth
Created July 21, 2010 17:16
Show Gist options
  • Star 39 You must be signed in to star a gist
  • Fork 9 You must be signed in to fork a gist
  • 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: "paul_smith_91@gmail.com", password: "bananabanana"
When I go to the dashboard
Then I should see "Existing Member Login"
When I fill in "Email" with "paul_smith_91@gmail.com" 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: "paul_smith_91@gmail.com", password: "bananabanana"
When I go to the dashboard
Then I should see "Existing Member Login"
When I fill in "Email" with "paul_smith_91@gmail.com" 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"
@nruth
Copy link
Author

nruth commented Jan 7, 2011

Given that there's been some interest in using this I've refactored it and made a real repo so refactoring and new features and whatnot can be done properly.
There's also been culerity support added (from xunker's gist fork) and it's been made into a gem.

@cice
Copy link

cice commented Jun 22, 2011

note, in cucumber 1.0.0, you have to check for Capybara::Selenium::Driver, not Capybara::Driver::Selenium, same for RackTest i think

@nruth
Copy link
Author

nruth commented Jun 22, 2011

@cice there's a more up-to-date version at https://github.com/nruth/show_me_the_cookies though this particular change is in capybara not cucumber. There's actually a method returning the driver name as a symbol now, so no need to use the driver's class.

@cice
Copy link

cice commented Jun 22, 2011

alright, thnx alot

@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