spec/features/organizations_spec.rb
require 'rails_helper'
feature 'Organizations' do
scenario 'Organizations can be created' do
user = User.organizations.where(email: 'green@peace.com').first
expect(user).not_to be
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'
user = User.organizations.where(email: 'green@peace.com').first
expect(user).to be
expect(user).to be_organization
expect(user.organization).not_to be_verified
end
scenario 'Create with invisible_captcha honeypot field' 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