-
-
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" |
Great! Thanks for the quick response.
It works very well.
Thank you sir.
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
Mine's just an alias for the visit homepage step, like this:
It's just so it reads better in the scenario rather than to do anything technical (the "go to the dashboard" step is enough)