agent_ticket_merge_test.rb 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. require 'browser_test_helper'
  2. class AgentTicketMergeTest < TestCase
  3. def test_agent_ticket_merge_closed_tab
  4. # merge ticket with closed tab
  5. @browser = browser_instance
  6. login(
  7. username: 'agent1@example.com',
  8. password: 'test',
  9. url: browser_url,
  10. )
  11. tasks_close_all()
  12. # create new ticket
  13. ticket1 = ticket_create(
  14. data: {
  15. customer: 'nico',
  16. group: 'Users',
  17. title: 'some subject 123äöü - with closed tab',
  18. body: 'some body 123äöü - with closed tab',
  19. },
  20. )
  21. sleep 1
  22. # update ticket
  23. ticket_update(
  24. data: {
  25. body: 'some body 1234 äöüß - with closed tab',
  26. },
  27. )
  28. tasks_close_all()
  29. # create second ticket to merge
  30. ticket_create(
  31. data: {
  32. customer: 'nico',
  33. group: 'Users',
  34. title: 'test to merge - with closed tab',
  35. body: 'some body 123äöü 222 - test to merge - with closed tab',
  36. },
  37. )
  38. ticket_update(
  39. data: {
  40. body: 'some body 1234 äöüß 333 - with closed tab',
  41. },
  42. )
  43. # check if task is shown
  44. match(
  45. css: '.tasks',
  46. value: 'test to merge - with closed tab',
  47. )
  48. # merge tickets
  49. click( css: '.active div[data-tab="ticket"] .js-actions .icon-arrow-down' )
  50. click( css: '.active div[data-tab="ticket"] .js-actions [data-type="ticket-merge"]' )
  51. watch_for(
  52. css: '.modal',
  53. value: 'merge',
  54. )
  55. set(
  56. css: '.modal input[name="master_ticket_number"]',
  57. value: ticket1[:number],
  58. )
  59. click( css: '.modal button[type="submit"]' )
  60. # check if merged to ticket is shown now
  61. watch_for(
  62. css: '.active .ticketZoom-header .ticket-number',
  63. value: ticket1[:number],
  64. )
  65. watch_for(
  66. css: '.active .ticket-article',
  67. value: 'test to merge - with closed tab',
  68. )
  69. # check if task is now gone
  70. match_not(
  71. css: '.tasks',
  72. value: 'test to merge',
  73. )
  74. match(
  75. css: '.tasks',
  76. value: 'some subject 123äöü - with closed tab',
  77. )
  78. # close task/cleanup
  79. tasks_close_all()
  80. # merge ticket with open tabs
  81. ticket3 = ticket_create(
  82. data: {
  83. customer: 'nico',
  84. group: 'Users',
  85. title: 'some subject 123äöü - with open tab',
  86. body: 'some body 123äöü - with open tab',
  87. },
  88. )
  89. ticket_create(
  90. data: {
  91. customer: 'nico',
  92. group: 'Users',
  93. title: 'test to merge - with open tab',
  94. body: 'some body 123äöü 222 - test to merge - with open tab',
  95. },
  96. )
  97. # merge tickets
  98. click( css: '.active div[data-tab="ticket"] .js-actions .icon-arrow-down' )
  99. click( css: '.active div[data-tab="ticket"] .js-actions [data-type="ticket-merge"]' )
  100. watch_for(
  101. css: '.modal',
  102. value: 'merge',
  103. )
  104. set(
  105. css: '.modal input[name="master_ticket_number"]',
  106. value: ticket3[:number],
  107. )
  108. click( css: '.modal button[type="submit"]' )
  109. # check if merged to ticket is shown now
  110. watch_for(
  111. css: '.active .ticketZoom-header .ticket-number',
  112. value: ticket3[:number],
  113. )
  114. watch_for(
  115. css: '.active .ticket-article',
  116. value: 'test to merge - with open tab',
  117. )
  118. # check if task is now gone
  119. match_not(
  120. css: '.tasks',
  121. value: 'test to merge',
  122. )
  123. match(
  124. css: '.tasks',
  125. value: 'some subject 123äöü - with open tab',
  126. )
  127. end
  128. end