Skip to content
Extraits de code Groupes Projets
Valider b184415c rédigé par Florian Staudacher's avatar Florian Staudacher
Parcourir les fichiers

cleanup session cukes

parent 6546f632
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -15,8 +15,7 @@ Feature: Close Account ...@@ -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 ...@@ -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
......
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| ...@@ -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
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 ...@@ -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)
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter