agent_ticket_link_test.rb 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. require 'browser_test_helper'
  2. class AgentTicketLinkTest < TestCase
  3. def test_c_link
  4. @browser = browser_instance
  5. login(
  6. username: 'agent1@example.com',
  7. password: 'test',
  8. url: browser_url,
  9. )
  10. tasks_close_all()
  11. ticket1 = ticket_create(
  12. data: {
  13. customer: 'nico',
  14. group: 'Users',
  15. title: 'some subject - link#1',
  16. body: 'some body - link#1',
  17. },
  18. )
  19. ticket2 = ticket_create(
  20. data: {
  21. customer: 'nico',
  22. group: 'Users',
  23. title: 'some subject - link#2',
  24. body: 'some body - link#2',
  25. },
  26. )
  27. # verify changes in second browser
  28. browser2 = browser_instance
  29. login(
  30. browser: browser2,
  31. username: 'master@example.com',
  32. password: 'test',
  33. url: browser_url,
  34. )
  35. ticket_open_by_search(
  36. browser: browser2,
  37. number: ticket1[:number],
  38. )
  39. click(
  40. css: '.content.active .links .js-add',
  41. )
  42. modal_ready()
  43. set(
  44. css: '.content.active .modal-body [name="ticket_number"]',
  45. value: ticket1[:number],
  46. )
  47. select(
  48. css: '.content.active .modal-body [name="link_type"]',
  49. value: 'Normal',
  50. )
  51. click(
  52. css: '.content.active .modal-footer .js-submit',
  53. )
  54. watch_for(
  55. css: '.content.active .ticketLinks',
  56. value: ticket1[:title],
  57. )
  58. watch_for(
  59. browser: browser2,
  60. css: '.content.active .ticketLinks',
  61. value: ticket2[:title],
  62. )
  63. reload()
  64. watch_for(
  65. css: '.content.active .ticketLinks',
  66. value: ticket1[:title],
  67. )
  68. click(
  69. css: '.content.active .ticketLinks .js-delete'
  70. )
  71. watch_for_disappear(
  72. css: '.content.active .ticketLinks',
  73. value: ticket1[:title],
  74. )
  75. watch_for_disappear(
  76. browser: browser2,
  77. css: '.content.active .ticketLinks',
  78. value: ticket2[:title],
  79. )
  80. reload()
  81. watch_for_disappear(
  82. css: '.content.active .ticketLinks',
  83. value: ticket1[:title],
  84. )
  85. watch_for_disappear(
  86. browser: browser2,
  87. css: '.content.active .ticketLinks',
  88. value: ticket2[:title],
  89. )
  90. # cleanup
  91. ticket_open_by_search(
  92. browser: browser2,
  93. number: ticket1[:number],
  94. )
  95. sleep 1
  96. ticket_update(
  97. browser: browser2,
  98. data: {
  99. state: 'closed',
  100. }
  101. )
  102. tasks_close_all()
  103. ticket_open_by_search(
  104. browser: browser2,
  105. number: ticket2[:number],
  106. )
  107. sleep 1
  108. ticket_update(
  109. browser: browser2,
  110. data: {
  111. state: 'closed',
  112. }
  113. )
  114. end
  115. end