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

Merge pull request #3386 from diaspora/nicer-cukes

cleanup session cukes
parents 0fb0bf00 b184415c
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