agent_ticket_auto_assignment_test.rb 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. require 'browser_test_helper'
  2. class AgentTicketAutoAssignmentTest < TestCase
  3. def test_ticket
  4. @browser = browser_instance
  5. login(
  6. username: 'agent1@example.com',
  7. password: 'test',
  8. url: browser_url,
  9. )
  10. tasks_close_all()
  11. #
  12. # attachment checks - new ticket
  13. #
  14. # create new ticket with no attachment, attachment check should pop up
  15. ticket1 = ticket_create(
  16. data: {
  17. customer: 'nico',
  18. group: 'Users',
  19. title: 'test_auto_assignment_1 - ticket 1',
  20. body: 'test_auto_assignment_1 - ticket 1 - no auto assignment',
  21. },
  22. )
  23. ticket2 = ticket_create(
  24. data: {
  25. customer: 'nico',
  26. group: 'Users',
  27. title: 'test_auto_assignment_2 - ticket 2',
  28. body: 'test_auto_assignment_2 - ticket 2 - no auto assignment',
  29. },
  30. )
  31. tasks_close_all()
  32. logout()
  33. login(
  34. username: 'master@example.com',
  35. password: 'test',
  36. url: browser_url,
  37. )
  38. tasks_close_all()
  39. # open ticket#1
  40. ticket_open_by_search(
  41. number: ticket1[:number],
  42. )
  43. # verify if owner is set
  44. match(
  45. css: '.content.active .sidebar select[name="owner_id"]',
  46. value: '-',
  47. )
  48. # open ticket#2
  49. ticket_open_by_search(
  50. number: ticket2[:number],
  51. )
  52. # verify if owner is set
  53. match(
  54. css: '.content.active .sidebar select[name="owner_id"]',
  55. value: '-',
  56. )
  57. tasks_close_all()
  58. # enable auto assignment
  59. click(css: 'a[href="#manage"]')
  60. click(css: '.content.active a[href="#settings/ticket"]')
  61. click(css: '.content.active a[href="#auto_assignment"]')
  62. switch(
  63. css: '.content.active .js-ticketAutoAssignment',
  64. type: 'on',
  65. )
  66. # open ticket#1
  67. ticket_open_by_search(
  68. number: ticket1[:number],
  69. )
  70. # verify if owner is set
  71. watch_for(
  72. css: '.content.active .sidebar select[name="owner_id"]',
  73. value: 'Test Master',
  74. timeout: 2,
  75. )
  76. # open ticket#2
  77. ticket_open_by_search(
  78. number: ticket2[:number],
  79. )
  80. # verify if owner is set
  81. watch_for(
  82. css: '.content.active .sidebar select[name="owner_id"]',
  83. value: 'Test Master',
  84. timeout: 2,
  85. )
  86. tasks_close_all()
  87. # disable auto assignment
  88. click(css: 'a[href="#manage"]')
  89. click(css: '.content.active a[href="#settings/ticket"]')
  90. click(css: '.content.active a[href="#auto_assignment"]')
  91. switch(
  92. css: '.content.active .js-ticketAutoAssignment',
  93. type: 'off',
  94. )
  95. end
  96. end