user_validate_agent_limit_test.rb 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # encoding: utf-8
  2. require 'test_helper'
  3. class UserValidateAgentLimit < ActiveSupport::TestCase
  4. test 'user_validate_agent_limit' do
  5. users = User.of_role('Agent')
  6. UserInfo.current_user_id = 1
  7. Setting.set('system_agent_limit', users.count + 2)
  8. role_agent = Role.lookup(name: 'Agent')
  9. role_customer = Role.lookup(name: 'Customer')
  10. user1 = User.create(
  11. firstname: 'Firstname',
  12. lastname: 'Lastname',
  13. email: 'some@example.com',
  14. login: 'some-agentlimit@example.com',
  15. roles: [role_agent],
  16. )
  17. user2 = User.create(
  18. firstname: 'Firstname1',
  19. lastname: 'Lastname1',
  20. email: 'some-agentlimit-1@example.com',
  21. login: 'some-agentlimit-1@example.com',
  22. roles: [role_agent],
  23. )
  24. assert_raises(Exceptions::UnprocessableEntity) {
  25. user3 = User.create(
  26. firstname: 'Firstname2',
  27. lastname: 'Lastname2',
  28. email: 'some-agentlimit-2@example.com',
  29. login: 'some-agentlimit-2@example.com',
  30. roles: [role_agent],
  31. )
  32. }
  33. user3 = User.create(
  34. firstname: 'Firstname2',
  35. lastname: 'Lastname2',
  36. email: 'some-agentlimit-2@example.com',
  37. login: 'some-agentlimit-2@example.com',
  38. roles: [role_customer],
  39. )
  40. assert_raises(Exceptions::UnprocessableEntity) {
  41. user3.roles = [role_agent]
  42. }
  43. user1.destroy
  44. user2.destroy
  45. user3.destroy
  46. Setting.set('system_agent_limit', nil)
  47. end
  48. end