Step definitions
Then /^cookies should be set^/ do Capybara .current_session # Capybara::Session .driver # Capybara::RackTest::Driver .request # Rack::Request .cookies # { "author" => "me" } .[]('author').should_not be_nil end
This works, however, I'm still looking for a less detailed way. Moreover, I would like to know how to get the session data in the step definition.
Update
To get session data, you must do the following:
Step definitions
Then /^session data should be set$/ do cookies = Capybara .current_session .driver .request .cookies session_key = Rails .application .config .session_options .fetch(:key) session_data = Marshal.load(Base64.decode64(cookies.fetch(session_key))) session_data['author'].should_not be_nil end
This is also quite a lot.
source share