agent_user_manage_test.rb 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # encoding: utf-8
  2. require 'browser_test_helper'
  3. class AgentUserManageTest < TestCase
  4. def test_agent_user
  5. customer_user_email = 'customer-test-' + rand(999_999).to_s + '@example.com'
  6. firstname = 'Customer Firstname'
  7. lastname = 'Customer Lastname'
  8. fullname = "#{firstname} #{lastname} <#{customer_user_email}>"
  9. @browser = browser_instance
  10. login(
  11. username: 'agent1@example.com',
  12. password: 'test',
  13. url: browser_url,
  14. )
  15. tasks_close_all()
  16. sleep 1
  17. # create customer
  18. click( css: 'a[href="#new"]' )
  19. click( css: 'a[href="#ticket/create"]' )
  20. click( css: '.active .newTicket [name="customer_id_completion"]' )
  21. # check if pulldown is open, it's not working stable via selenium
  22. @browser.execute_script( "$('.active .newTicket .js-recipientDropdown').addClass('open')" )
  23. sleep 1
  24. sendkey( value: :arrow_down )
  25. sleep 0.5
  26. click( css: '.active .newTicket .recipientList-entry.js-objectNew' )
  27. sleep 1
  28. set(
  29. css: '.modal input[name="firstname"]',
  30. value: firstname,
  31. )
  32. set(
  33. css: '.modal input[name="lastname"]',
  34. value: lastname,
  35. )
  36. set(
  37. css: '.modal input[name="email"]',
  38. value: customer_user_email,
  39. )
  40. click( css: '.modal button.js-submit' )
  41. sleep 4
  42. # check is used to check selected
  43. match(
  44. css: '.active input[name="customer_id"]',
  45. value: '^\d+$',
  46. no_quote: true,
  47. )
  48. match(
  49. css: '.active input[name="customer_id_completion"]',
  50. value: firstname,
  51. )
  52. match(
  53. css: '.active input[name="customer_id_completion"]',
  54. value: lastname,
  55. )
  56. match(
  57. css: '.active input[name="customer_id_completion"]',
  58. value: customer_user_email,
  59. )
  60. match(
  61. css: '.active input[name="customer_id_completion"]',
  62. value: fullname,
  63. )
  64. sleep 4
  65. # call new ticket screen again
  66. tasks_close_all()
  67. click( css: 'a[href="#new"]' )
  68. click( css: 'a[href="#ticket/create"]' )
  69. sleep 2
  70. match(
  71. css: '.active input[name="customer_id"]',
  72. value: '',
  73. )
  74. match(
  75. css: '.active input[name="customer_id_completion"]',
  76. value: '',
  77. )
  78. set(
  79. css: '.active .newTicket input[name="customer_id_completion"]',
  80. value: customer_user_email,
  81. )
  82. sleep 3
  83. click( css: '.active .newTicket .recipientList-entry.js-object.is-active' )
  84. sleep 1
  85. # check is used to check selected
  86. match(
  87. css: '.active input[name="customer_id"]',
  88. value: '^\d+$',
  89. no_quote: true,
  90. )
  91. match(
  92. css: '.active input[name="customer_id_completion"]',
  93. value: firstname,
  94. )
  95. match(
  96. css: '.active input[name="customer_id_completion"]',
  97. value: lastname,
  98. )
  99. match(
  100. css: '.active input[name="customer_id_completion"]',
  101. value: customer_user_email,
  102. )
  103. match(
  104. css: '.active input[name="customer_id_completion"]',
  105. value: fullname,
  106. )
  107. end
  108. end