From 84843ade483aa300c6990541ac2382a0eba84415 Mon Sep 17 00:00:00 2001 From: Chrisbr Date: Tue, 13 May 2014 10:35:23 +0200 Subject: [PATCH 1/3] refactoring setup_roles and updated tests --- app/models/user.rb | 21 +++++++------------ .../conferences_controller_spec.rb | 5 +++++ spec/features/conference_spec.rb | 5 +++++ spec/features/proposal_spec.rb | 5 +++++ spec/models/conference_spec.rb | 5 +++++ 5 files changed, 27 insertions(+), 14 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index 296b4114..c322b710 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -29,15 +29,8 @@ class User < ActiveRecord::Base end def setup_role - if User.count == 0 - admin = Role.where(name: 'Admin').first - self.role_ids = [admin.id] unless admin.nil? - end - - if self.role_ids.empty? - participant = Role.where(name: 'Participant').first - self.role_ids = [participant.id] unless participant.nil? - end + self.roles << Role.find_by(name: 'Admin') if User.count == 0 + self.roles << Role.find_by(name: 'Participant') if self.roles.empty? end def popup_details @@ -56,9 +49,9 @@ class User < ActiveRecord::Base end private - def create_person - # TODO Search people for existing email address, add to their account - build_person(:email => self.email) if person.nil? - true - end + def create_person + # TODO Search people for existing email address, add to their account + build_person(:email => self.email) if person.nil? + true + end end diff --git a/spec/controllers/conferences_controller_spec.rb b/spec/controllers/conferences_controller_spec.rb index 2b606ab1..a310ad56 100644 --- a/spec/controllers/conferences_controller_spec.rb +++ b/spec/controllers/conferences_controller_spec.rb @@ -2,6 +2,11 @@ require 'spec_helper' describe Admin::ConferenceController do + # It is necessary to use bang version of let to build roles before user + let!(:organizer_role) { create(:organizer_role) } + let!(:participant_role) { create(:participant_role) } + let!(:admin_role) { create(:admin_role) } + let(:conference) { create(:conference) } let(:admin) { create(:admin) } let(:organizer) { create(:organizer) } diff --git a/spec/features/conference_spec.rb b/spec/features/conference_spec.rb index f923f9be..b5c6fd52 100644 --- a/spec/features/conference_spec.rb +++ b/spec/features/conference_spec.rb @@ -2,6 +2,11 @@ require 'spec_helper' feature Conference do + # It is necessary to use bang version of let to build roles before user + let!(:organizer_role) { create(:organizer_role) } + let!(:participant_role) { create(:participant_role) } + let!(:admin_role) { create(:admin_role) } + shared_examples 'add and update conference' do |user| scenario 'adds a new conference', feature: true, js: true do expected_count = Conference.count + 1 diff --git a/spec/features/proposal_spec.rb b/spec/features/proposal_spec.rb index 3f4a2050..0f318b41 100644 --- a/spec/features/proposal_spec.rb +++ b/spec/features/proposal_spec.rb @@ -2,6 +2,11 @@ require 'spec_helper' feature Event do + # It is necessary to use bang version of let to build roles before user + let!(:organizer_role) { create(:organizer_role) } + let!(:participant_role) { create(:participant_role) } + let!(:admin_role) { create(:admin_role) } + shared_examples 'participant' do |user| scenario 'submitts a new proposal and updates account', feature: true, js: true do expected_count = Event.count + 1 diff --git a/spec/models/conference_spec.rb b/spec/models/conference_spec.rb index e1d2093f..ecaac1be 100644 --- a/spec/models/conference_spec.rb +++ b/spec/models/conference_spec.rb @@ -52,6 +52,11 @@ describe Conference do describe '#user_registered?' do + # It is necessary to use bang version of let to build roles before user + let!(:organizer_role) { create(:organizer_role) } + let!(:participant_role) { create(:participant_role) } + let!(:admin_role) { create(:admin_role) } + let(:user) { create(:user) } context 'user not registered' do From 132bb8955692b4c37d53df507202d9a6ea101c29 Mon Sep 17 00:00:00 2001 From: Chrisbr Date: Tue, 13 May 2014 10:39:03 +0200 Subject: [PATCH 2/3] fix hound ci violations --- app/models/user.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index c322b710..8bac9c47 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -29,8 +29,8 @@ class User < ActiveRecord::Base end def setup_role - self.roles << Role.find_by(name: 'Admin') if User.count == 0 - self.roles << Role.find_by(name: 'Participant') if self.roles.empty? + roles << Role.find_by(name: 'Admin') if User.count == 0 + roles << Role.find_by(name: 'Participant') if self.roles.empty? end def popup_details @@ -51,7 +51,7 @@ class User < ActiveRecord::Base private def create_person # TODO Search people for existing email address, add to their account - build_person(:email => self.email) if person.nil? + build_person(email: email) if person.nil? true end end From 25ad5b74090290298c4ad01058cebe399984ed38 Mon Sep 17 00:00:00 2001 From: Chrisbr Date: Tue, 13 May 2014 11:12:53 +0200 Subject: [PATCH 3/3] fix hound ci violations --- app/models/user.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/user.rb b/app/models/user.rb index 8bac9c47..6fd103d7 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -30,7 +30,7 @@ class User < ActiveRecord::Base def setup_role roles << Role.find_by(name: 'Admin') if User.count == 0 - roles << Role.find_by(name: 'Participant') if self.roles.empty? + roles << Role.find_by(name: 'Participant') if roles.empty? end def popup_details