Create a factory for organizer

Refactor organizer user creation in tests

Fixes https://github.com/openSUSE/osem/issues/2398
This commit is contained in:
cyrille 2019-03-13 10:31:42 +01:00
parent 0197ed3c46
commit 35ec178beb
31 changed files with 48 additions and 68 deletions

View file

@ -6,8 +6,7 @@ feature Commercial do
# It is necessary to use bang version of let to build roles before user
let!(:conference) { create(:conference) }
let!(:cfp) { create(:cfp, program: conference.program) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
let!(:participant) { create(:user) }
context 'in admin area' do

View file

@ -39,8 +39,7 @@ feature Conference do
scenario 'update conference', feature: true, js: true do
conference = create(:conference)
organizer_role = Role.find_by(name: 'organizer', resource: conference)
organizer = create(:user, role_ids: [organizer_role.id])
organizer = create(:organizer, resource: conference)
expected_count = Conference.count

View file

@ -5,8 +5,7 @@ require 'spec_helper'
feature Contact do
let!(:conference) { create(:conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, email: 'admin@example.com', role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
shared_examples 'contact field' do |field_name, field_value|
it 'updates a contact' do

View file

@ -4,8 +4,7 @@ require 'spec_helper'
feature DifficultyLevel do
let!(:conference) { create(:conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
shared_examples 'difficulty levels' do
scenario 'adds difficulty level', feature: true, js: true do

View file

@ -4,8 +4,7 @@ require 'spec_helper'
feature EmailSettings do
let!(:conference) { create(:conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
shared_examples 'email settings' do
scenario 'updates email settings',

View file

@ -4,8 +4,7 @@ require 'spec_helper'
feature EventType do
let!(:conference) { create(:conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
shared_examples 'event types' do
scenario 'adds and updates event type', feature: true do

View file

@ -4,8 +4,7 @@ require 'spec_helper'
feature Lodging do
let!(:conference) { create(:conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
scenario 'Add a lodging', feature: true, js: true do
path = "#{Rails.root}/app/assets/images/rails.png"

View file

@ -6,8 +6,7 @@ feature Program do
let!(:conference) { create(:conference) }
let!(:program) { conference.program }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
describe 'edit program' do
before :each do

View file

@ -6,8 +6,7 @@ feature Event do
let!(:conference) { create(:conference) }
let!(:registration_period) { create(:registration_period, conference: conference, start_date: Date.current) }
let!(:cfp) { create(:cfp, program_id: conference.program.id) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, email: 'admin@example.com', role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
let!(:participant) { create(:user) }
let!(:participant_without_bio) { create(:user, biography: '') }

View file

@ -5,8 +5,7 @@ require 'spec_helper'
feature RegistrationPeriod do
# It is necessary to use bang version of let to build roles before user
let!(:conference) { create(:conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, email: 'admin@example.com', role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, email: 'admin@example.com', resource: conference) }
let(:start_date) { Date.today }
let(:end_date) { Date.today + 5 }

View file

@ -5,8 +5,7 @@ require 'spec_helper'
feature Room do
let!(:conference) { create(:conference) }
let!(:venue) { create(:venue, conference: conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
shared_examples 'rooms' do
scenario 'adds a room', feature: true, js: true do

View file

@ -6,8 +6,7 @@ feature Splashpage do
# It is necessary to use bang version of let to build roles before user
let!(:conference) { create(:conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, email: 'admin@example.com', role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
let!(:participant) { create(:user, biography: '', is_admin: false) }
scenario 'create a valid splashpage', js: true do

View file

@ -4,8 +4,7 @@ require 'spec_helper'
feature Sponsor do
let!(:conference) { create(:conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
shared_examples 'sponsors' do
scenario 'adds and updates sponsors', feature: true, js: true do

View file

@ -4,8 +4,7 @@ require 'spec_helper'
feature SponsorshipLevel do
let!(:conference) { create(:conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
shared_examples 'sponsorship_levels' do
scenario 'adds a sponsorship level', feature: true, js: true do

View file

@ -4,8 +4,7 @@ require 'spec_helper'
feature Ticket do
let!(:conference) { create(:conference, title: 'ExampleCon') }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, email: 'admin@example.com', role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
context 'as a organizer' do
before(:each) do

View file

@ -4,8 +4,7 @@ require 'spec_helper'
feature Track do
let!(:conference) { create(:conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
let(:user) { create(:user) }
shared_examples 'admin tracks' do

View file

@ -4,8 +4,7 @@ require 'spec_helper'
feature Conference do
let!(:conference) { create(:conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
shared_examples 'venue' do
scenario 'adds and updates venue' do

View file

@ -5,8 +5,7 @@ require 'spec_helper'
feature 'Version' do
let!(:conference) { create(:conference) }
let!(:cfp) { create(:cfp, program: conference.program) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
let(:event_with_commercial) { create(:event, program: conference.program) }
let(:event_commercial) { create(:event_commercial, commercialable: event_with_commercial, url: 'https://www.youtube.com/watch?v=M9bq_alk-sw') }

View file

@ -4,8 +4,7 @@ require 'spec_helper'
feature Conference do
let!(:conference) { create(:conference) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let!(:organizer) { create(:organizer, resource: conference) }
shared_examples 'volunteer' do
scenario 'adds and updates vdays', feature: true, js: true do