-
-
Save nruth/484787 to your computer and use it in GitHub Desktop.
@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" |
In case you don't want to bake in the helper method the session key for the app you are working you can access it like this if you are testing a rails 3 app
def session_cookie_name
Rails.application.config.session_options[:key]
end
Thanks, that's a nice addition. I wrote this for rails 2.3 and didn't spent too long looking for a way to do that.
I've updated the gist
note, in cucumber 1.0.0, you have to check for Capybara::Selenium::Driver, not Capybara::Driver::Selenium, same for RackTest i think
@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.
alright, thnx alot
A slightly cleaned-up version that also supports Webkit.
NOTES:
- It's based on the code above so it's supposed to work with Selenium & RackTest but I've only tested it against Webkit.
- It does not support the @announce tag.
- I've just noticed the gem. :D
It works very well.
Thank you sir.