role_spec.rb 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. require 'rails_helper'
  2. require 'models/concerns/has_groups_examples'
  3. RSpec.describe Role do
  4. let(:group_access_instance) { create(:role) }
  5. let(:new_group_access_instance) { build(:role) }
  6. include_examples 'HasGroups'
  7. context '#validate_agent_limit_by_attributes' do
  8. context 'agent creation limit surpassing prevention' do
  9. def current_agent_count
  10. User.with_permissions('ticket.agent').count
  11. end
  12. it 'prevents re-activation of Role with agent permission' do
  13. Setting.set('system_agent_limit', current_agent_count)
  14. inactive_agent_role = create(:role,
  15. active: false,
  16. permissions: Permission.where(name: 'ticket.agent'))
  17. create(:user, roles: [inactive_agent_role])
  18. initial_agent_count = current_agent_count
  19. expect do
  20. inactive_agent_role.update!(active: true)
  21. end.to raise_error(Exceptions::UnprocessableEntity)
  22. expect(current_agent_count).to eq(initial_agent_count)
  23. end
  24. end
  25. end
  26. end