From 77649d73a6b2a5385a0bde13f156f276539f49cf Mon Sep 17 00:00:00 2001 From: Nishanth Vijayan Date: Thu, 24 Mar 2016 01:14:08 +0530 Subject: [PATCH] Add model test to verify role is not deleted on removing all of its users --- spec/models/role_spec.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/spec/models/role_spec.rb b/spec/models/role_spec.rb index 36cd9a6b..db2b04f9 100644 --- a/spec/models/role_spec.rb +++ b/spec/models/role_spec.rb @@ -5,10 +5,19 @@ describe Role do let!(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) } let!(:cfp_role) { Role.find_by(name: 'cfp', resource: conference) } let!(:organizer) { create(:user, role_ids: organizer_role.id) } + let(:user) { create(:user) } it 'get_users' do expect(organizer_role.users).to include organizer expect(organizer_role.users.count).to eq 1 expect(cfp_role.users).to eq [] end + + it 'does not delete role when last user of role is removed' do + user.add_role :cfp, conference + expect(cfp_role.users).to include user + user.remove_role :cfp, conference + expect(cfp_role.users).to eq [] + expect(conference.roles.count).to eq 4 + end end