Files
grecia/spec/system/organizations_spec.rb
Javi Martín 42bc8eb4da Test the user experience in organization creation
So we check the message with the verification link is present and
administrators see the organization in the admin section.
2021-04-16 14:37:58 +02:00

85 lines
3.0 KiB
Ruby

require "rails_helper"
describe "Organizations" do
scenario "Organizations can be created" do
admin = create(:administrator).user
visit new_organization_registration_path
fill_in "user_organization_attributes_name", with: "Greenpeace"
fill_in "user_organization_attributes_responsible_name", with: "Dorothy Stowe"
fill_in "user_email", with: "green@peace.com"
fill_in "user_password", with: "greenpeace"
fill_in "user_password_confirmation", with: "greenpeace"
check "user_terms_of_service"
click_button "Register"
expect(page).to have_content "You have been sent a message containing a verification link"
login_as admin
visit admin_users_path
within "tr", text: "Greenpeace" do
expect(page).to have_text "organization"
expect(page).to have_text "level_1_user"
end
end
scenario "Create with invisible_captcha honeypot field", :no_js do
visit new_organization_registration_path
fill_in "user_organization_attributes_name", with: "robot"
fill_in "user_address", with: "This is the honeypot field"
fill_in "user_organization_attributes_responsible_name", with: "Robots are more responsible than humans"
fill_in "user_email", with: "robot@robot.com"
fill_in "user_password", with: "destroyallhumans"
fill_in "user_password_confirmation", with: "destroyallhumans"
check "user_terms_of_service"
click_button "Register"
expect(page.status_code).to eq(200)
expect(page.html).to be_empty
expect(page).to have_current_path(organization_registration_path)
end
scenario "Create organization too fast" do
allow(InvisibleCaptcha).to receive(:timestamp_threshold).and_return(Float::INFINITY)
visit new_organization_registration_path
fill_in "user_organization_attributes_name", with: "robot"
fill_in "user_organization_attributes_responsible_name", with: "Robots are more responsible than humans"
fill_in "user_email", with: "robot@robot.com"
fill_in "user_password", with: "destroyallhumans"
fill_in "user_password_confirmation", with: "destroyallhumans"
click_button "Register"
expect(page).to have_content "Sorry, that was too quick! Please resubmit"
expect(page).to have_current_path(new_organization_registration_path)
end
scenario "Errors on create" do
visit new_organization_registration_path
click_button "Register"
expect(page).to have_content error_message
end
scenario "Shared links" do
# visit new_user_registration_path
# expect(page).to have_link "Sign up as an organization / collective"
# visit new_organization_registration_path
# expect(page).to have_link "Sign up"
visit new_user_session_path
expect(page).to have_link "Sign up"
expect(page).not_to have_link "Sign up as an organization"
end
end