agent_user_profile_test.rb 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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. )
  28. click( css: '.empty-search' )
  29. sleep 2
  30. # check and change note again in edit screen
  31. click( css: '.active .js-action .icon-arrow-down' )
  32. click( css: '.active .js-action [data-type="edit"]' )
  33. watch_for(
  34. css: '.active .modal',
  35. value: 'note',
  36. )
  37. watch_for(
  38. css: '.active .modal',
  39. value: 'some note 123',
  40. )
  41. set(
  42. css: '.modal [data-name="note"]',
  43. value: 'some note abc',
  44. )
  45. click( css: '.active .modal button.js-submit' )
  46. watch_for(
  47. css: '.active .profile-window',
  48. value: 'some note abc',
  49. )
  50. # create new ticket
  51. ticket_create(
  52. data: {
  53. customer: 'nico',
  54. group: 'Users',
  55. title: 'user profile check ' + message,
  56. body: 'user profile check ' + message,
  57. },
  58. )
  59. # switch to org tab, verify if ticket is shown
  60. user_open_by_search( value: 'Braun' )
  61. watch_for(
  62. css: '.active .profile-window',
  63. value: 'user profile check ' + message,
  64. )
  65. tasks_close_all()
  66. # work with two browser windows
  67. message = 'comment 1 ' + rand(99_999_999_999_999_999).to_s
  68. # use current session
  69. browser1 = @browser
  70. browser2 = browser_instance
  71. login(
  72. browser: browser2,
  73. username: 'agent1@example.com',
  74. password: 'test',
  75. url: browser_url,
  76. )
  77. tasks_close_all(
  78. browser: browser2,
  79. )
  80. user_open_by_search(
  81. browser: browser1,
  82. value: 'Braun',
  83. )
  84. user_open_by_search(
  85. browser: browser2,
  86. value: 'Braun',
  87. )
  88. # update note
  89. set(
  90. browser: browser1,
  91. css: '.active [data-name="note"]',
  92. value: message,
  93. )
  94. click(
  95. browser: browser1,
  96. css: '.empty-search',
  97. )
  98. watch_for(
  99. browser: browser2,
  100. css: '.active .profile-window',
  101. value: message,
  102. )
  103. end
  104. end