agent_user_profile_test.rb 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. # encoding: utf-8
  2. require 'browser_test_helper'
  3. class AgentUserProfileTest < TestCase
  4. def test_user_profile
  5. message = '1 ' + rand(99_999_999).to_s
  6. @browser = browser_instance
  7. login(
  8. username: 'master@example.com',
  9. password: 'test',
  10. url: browser_url,
  11. )
  12. tasks_close_all()
  13. # search and open user
  14. user_open_by_search( value: 'Braun' )
  15. watch_for(
  16. css: '.active .profile-window',
  17. value: 'note',
  18. )
  19. watch_for(
  20. css: '.active .profile-window',
  21. value: 'email',
  22. )
  23. # update note
  24. set(
  25. css: '.active [data-name="note"]',
  26. value: 'some note 123',
  27. contenteditable: true,
  28. )
  29. click( css: '.empty-search' )
  30. sleep 2
  31. # check and change note again in edit screen
  32. click( css: '.active .js-action .icon-arrow-down' )
  33. click( css: '.active .js-action a[data-type="edit"]' )
  34. watch_for(
  35. css: '.active .modal',
  36. value: 'note',
  37. )
  38. watch_for(
  39. css: '.active .modal',
  40. value: 'some note 123',
  41. )
  42. set(
  43. css: '.modal [data-name="note"]',
  44. value: 'some note abc',
  45. )
  46. click( css: '.active .modal button.js-submit' )
  47. watch_for(
  48. css: '.active .profile-window',
  49. value: 'some note abc',
  50. )
  51. # create new ticket
  52. ticket_create(
  53. data: {
  54. customer: 'nico',
  55. group: 'Users',
  56. title: 'user profile check ' + message,
  57. body: 'user profile check ' + message,
  58. },
  59. )
  60. # switch to org tab, verify if ticket is shown
  61. user_open_by_search( value: 'Braun' )
  62. watch_for(
  63. css: '.active .profile-window',
  64. value: 'user profile check ' + message,
  65. )
  66. tasks_close_all()
  67. # work with two browser windows
  68. message = 'comment 1 ' + rand(99_999_999_999_999_999).to_s
  69. # use current session
  70. browser1 = @browser
  71. browser2 = browser_instance
  72. login(
  73. browser: browser2,
  74. username: 'agent1@example.com',
  75. password: 'test',
  76. url: browser_url,
  77. )
  78. tasks_close_all(
  79. browser: browser2,
  80. )
  81. user_open_by_search(
  82. browser: browser1,
  83. value: 'Braun',
  84. )
  85. user_open_by_search(
  86. browser: browser2,
  87. value: 'Braun',
  88. )
  89. # update note
  90. set(
  91. browser: browser1,
  92. css: '.active [data-name="note"]',
  93. value: message,
  94. contenteditable: true,
  95. )
  96. click(
  97. browser: browser1,
  98. css: '.empty-search',
  99. )
  100. watch_for(
  101. browser: browser2,
  102. css: '.active .profile-window',
  103. value: message,
  104. )
  105. end
  106. end