cleanup session cukes
This commit is contained in:
parent
6546f63208
commit
b184415c19
4 changed files with 46 additions and 21 deletions
|
|
@ -15,8 +15,7 @@ Feature: Close Account
|
||||||
|
|
||||||
When I try to sign in manually
|
When I try to sign in manually
|
||||||
Then I should be on the new user session page
|
Then I should be on the new user session page
|
||||||
When I wait for the ajax to finish
|
And I should see a flash message containing "Invalid email or password"
|
||||||
Then I should see "Invalid email or password"
|
|
||||||
|
|
||||||
Scenario: post display should not throw error when mention is removed for the user whose account is closed
|
Scenario: post display should not throw error when mention is removed for the user whose account is closed
|
||||||
Given a user named "Bob Jones" with email "bob@bob.bob"
|
Given a user named "Bob Jones" with email "bob@bob.bob"
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ end
|
||||||
|
|
||||||
When /^I wait for (\d+) seconds?$/ do |seconds|
|
When /^I wait for (\d+) seconds?$/ do |seconds|
|
||||||
sleep seconds.to_i
|
sleep seconds.to_i
|
||||||
warn "DELETEME - this step is for debugging only"
|
warn "DELETEME - this step is for debugging only\n"
|
||||||
end
|
end
|
||||||
|
|
||||||
When /^I open the error console$/ do
|
When /^I open the error console$/ do
|
||||||
|
|
|
||||||
|
|
@ -1,38 +1,35 @@
|
||||||
|
|
||||||
Given /^(?:I am signed in|I sign in)$/ do
|
Given /^(?:I am signed in|I sign in)$/ do
|
||||||
step %(I try to sign in)
|
automatic_login
|
||||||
wait_until { page.has_content?("#{@me.first_name} #{@me.last_name}") }
|
confirm_login
|
||||||
end
|
end
|
||||||
|
|
||||||
When /^I try to sign in$/ do
|
When /^I try to sign in$/ do
|
||||||
@me ||= Factory(:user_with_aspect, :getting_started => false)
|
automatic_login
|
||||||
page.driver.visit(new_integration_sessions_path(:user_id => @me.id))
|
|
||||||
click_button "Login"
|
|
||||||
# To save time as compared to:
|
|
||||||
#step %(I go to the new user session page)
|
|
||||||
#step %(I fill in "Username" with "#{@me.username}")
|
|
||||||
#step %(I fill in "Password" with "#{@me.password}")
|
|
||||||
#step %(I press "Sign in")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
When /^I try to sign in manually$/ do
|
When /^I try to sign in manually$/ do
|
||||||
visit login_page
|
manual_login
|
||||||
login_as @me.username, @me.password
|
|
||||||
end
|
end
|
||||||
|
|
||||||
When /^I (?:sign|log) in manually as "([^"]*)" with password "([^"]*)"$/ do |username, password|
|
When /^I (?:sign|log) in manually as "([^"]*)" with password "([^"]*)"$/ do |username, password|
|
||||||
visit login_page
|
@me = User.find_by_username(username)
|
||||||
login_as username, password
|
@me.password ||= password
|
||||||
|
manual_login
|
||||||
|
confirm_login
|
||||||
end
|
end
|
||||||
|
|
||||||
When /^I (?:sign|log) in as "([^"]*)"$/ do |email|
|
When /^I (?:sign|log) in as "([^"]*)"$/ do |email|
|
||||||
@me = User.find_by_email(email)
|
@me = User.find_by_email(email)
|
||||||
@me.password ||= 'password'
|
@me.password ||= 'password'
|
||||||
step 'I am signed in'
|
automatic_login
|
||||||
|
confirm_login
|
||||||
end
|
end
|
||||||
|
|
||||||
When /^I (?:sign|log) in with password "([^"]*)"$/ do |password|
|
When /^I (?:sign|log) in with password "([^"]*)"$/ do |password|
|
||||||
@me.password = password
|
@me.password = password
|
||||||
step 'I am signed in'
|
automatic_login
|
||||||
|
confirm_login
|
||||||
end
|
end
|
||||||
|
|
||||||
When /^I put in my password in "([^"]*)"$/ do |field|
|
When /^I put in my password in "([^"]*)"$/ do |field|
|
||||||
|
|
@ -40,6 +37,5 @@ When /^I put in my password in "([^"]*)"$/ do |field|
|
||||||
end
|
end
|
||||||
|
|
||||||
When /^I (?:log|sign) out$/ do
|
When /^I (?:log|sign) out$/ do
|
||||||
$browser.delete_cookie('_session', 'path=/') if $browser
|
logout
|
||||||
$browser.delete_all_visible_cookies if $browser
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,8 @@
|
||||||
module UserCukeHelpers
|
module UserCukeHelpers
|
||||||
|
|
||||||
|
# creates a new user object from the factory with some default attributes
|
||||||
|
# and the given override attributes, adds the standard aspects to it
|
||||||
|
# and returns it
|
||||||
def create_user(overrides={})
|
def create_user(overrides={})
|
||||||
default_attrs = {
|
default_attrs = {
|
||||||
:password => 'password',
|
:password => 'password',
|
||||||
|
|
@ -11,16 +15,42 @@ module UserCukeHelpers
|
||||||
user
|
user
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# create the default testing aspects for a given user
|
||||||
def add_standard_aspects(user)
|
def add_standard_aspects(user)
|
||||||
user.aspects.create(:name => "Besties")
|
user.aspects.create(:name => "Besties")
|
||||||
user.aspects.create(:name => "Unicorns")
|
user.aspects.create(:name => "Unicorns")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# fill out the fields on the sign_in page and press submit
|
||||||
def login_as(user, pass)
|
def login_as(user, pass)
|
||||||
fill_in 'user_username', :with=>user
|
fill_in 'user_username', :with=>user
|
||||||
fill_in 'user_password', :with=>pass
|
fill_in 'user_password', :with=>pass
|
||||||
click_button :submit
|
click_button :submit
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# create a new @me user, if not present, and log in using the
|
||||||
|
# integration_sessions controller (automatic)
|
||||||
|
def automatic_login
|
||||||
|
@me ||= Factory(:user_with_aspect, :getting_started => false)
|
||||||
|
page.driver.visit(new_integration_sessions_path(:user_id => @me.id))
|
||||||
|
click_button "Login"
|
||||||
|
end
|
||||||
|
|
||||||
|
# use the @me user to perform a manual login via the sign_in page
|
||||||
|
def manual_login
|
||||||
|
visit login_page
|
||||||
|
login_as @me.username, @me.password
|
||||||
|
end
|
||||||
|
|
||||||
|
def confirm_login
|
||||||
|
wait_until { page.has_content?("#{@me.first_name} #{@me.last_name}") }
|
||||||
|
end
|
||||||
|
|
||||||
|
# delete all cookies, destroying the current session
|
||||||
|
def logout
|
||||||
|
$browser.delete_cookie('_session', 'path=/') if $browser
|
||||||
|
$browser.delete_all_visible_cookies if $browser
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
World(UserCukeHelpers)
|
World(UserCukeHelpers)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue