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

@ -7,8 +7,7 @@ require 'spec_helper'
describe Admin::CfpsController do
let!(:today) { Date.today }
let!(:conference) { create(:conference, start_date: today + 20.days, end_date: today + 30.days) }
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(:cfp) { create(:cfp, program: conference.program) }
before { sign_in(organizer) }

View file

@ -6,8 +6,7 @@ describe Admin::CommentsController, type: :controller 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, role_ids: organizer_role.id, last_sign_in_at: Time.now - 1.day) }
let(:organizer) { create(:organizer, resource: conference, last_sign_in_at: Time.now - 1.day) }
let(:participant) { create(:user) }
let(:event) { create(:event, program: conference.program) }
let(:comment) { create(:comment, commentable_type: 'Event', commentable_id: event.id) }

View file

@ -7,11 +7,11 @@ describe Admin::ConferencesController do
# It is necessary to use bang version of let to build roles before user
let!(:organization) { create(:organization, name: 'organization') }
let!(:conference) { create(:conference, organization: organization, end_date: Date.new(2014, 05, 26) + 15) }
let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organization_admin_role) { Role.find_by(name: 'organization_admin', resource: organization) }
let(:organization_admin) { create(:user, role_ids: organization_admin_role.id) }
let(:organizer) { create(:user, role_ids: organizer_role.id) }
let(:organizer2) { create(:user, email: 'organizer2@email.osem', role_ids: organizer_role.id) }
let(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
let!(:organizer) { create(:organizer, resource: conference) }
let!(:organizer2) { create(:organizer, email: 'organizer2@email.osem', resource: conference) }
let(:participant) { create(:user) }
shared_examples 'access as organizer or organization_admin' do

View file

@ -8,8 +8,7 @@ describe Admin::EventSchedulesController do
let(:room) { create(:room, venue: venue) }
let(:schedule) { create(:schedule, program: conference.program)}
let(:event_schedule) { create(:event_schedule, schedule: schedule)}
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) }
context 'logged in as an organizer' do
before :each do

View file

@ -4,8 +4,7 @@ require 'spec_helper'
describe Admin::EventsController 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) }
# The where_object() and where_object_changes() methods of paper_trail gem are broken when having:
# an Event with ID 1, an Event with ID 2, and a commercial with ID 1, for event with ID 2
# (the numbers could be different as long as there is this matching of IDs).

View file

@ -6,8 +6,7 @@ describe Admin::ProgramsController, type: :controller 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, role_ids: organizer_role.id, last_sign_in_at: Time.now - 1.day) }
let!(:organizer) { create(:organizer, resource: conference) }
context 'not logged in user' do
describe 'GET #show' do

View file

@ -6,10 +6,9 @@ describe Admin::RegistrationPeriodsController 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!(:registration_ticket) { create(:registration_ticket, conference: conference) }
let(:organizer) { create(:user, role_ids: organizer_role.id) }
let(:organizer2) { create(:user, email: 'organizer2@email.osem', role_ids: organizer_role.id) }
let!(:organizer) { create(:organizer, resource: conference) }
let!(:organizer2) { create(:organizer, email: 'organizer2@email.osem', resource: conference) }
let(:participant) { create(:user) }
shared_examples 'access as administration or organizer' do

View file

@ -5,8 +5,7 @@ require 'spec_helper'
describe Admin::SchedulesController do
let(:conference) { create(:conference) }
let(:schedule) { create(:schedule, 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) }
context 'logged in as an organizer' do
before :each do