maintenance_mode_test.rb 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. require 'browser_test_helper'
  2. class MaintenanceModeTest < TestCase
  3. def test_mode
  4. browser1 = browser_instance
  5. login(
  6. browser: browser1,
  7. username: 'master@example.com',
  8. password: 'test',
  9. url: browser_url,
  10. )
  11. browser2 = browser_instance
  12. location(
  13. browser: browser2,
  14. url: browser_url,
  15. )
  16. click(
  17. browser: browser1,
  18. css: 'a[href="#manage"]',
  19. )
  20. click(
  21. browser: browser1,
  22. css: 'a[href="#system/maintenance"]',
  23. )
  24. exists_not(
  25. browser: browser2,
  26. css: '.js-maintenanceMode',
  27. )
  28. switch(
  29. browser: browser1,
  30. css: '.content.active .js-modeSetting',
  31. type: 'on',
  32. no_check: true,
  33. )
  34. # check warning
  35. watch_for(
  36. browser: browser1,
  37. css: '.content.active .modal .modal-header',
  38. value: 'confirm',
  39. )
  40. click(
  41. browser: browser1,
  42. css: '.content.active .modal .js-submit',
  43. )
  44. watch_for(
  45. browser: browser2,
  46. css: '.js-maintenanceMode',
  47. )
  48. # try to logon with normal agent, should not work
  49. login(
  50. browser: browser2,
  51. username: 'agent1@example.com',
  52. password: 'test',
  53. url: browser_url,
  54. success: false,
  55. )
  56. login(
  57. browser: browser2,
  58. username: 'nicole.braun@zammad.org',
  59. password: 'test',
  60. url: browser_url,
  61. success: false,
  62. )
  63. # logout with admin and logon again
  64. logout(
  65. browser: browser1,
  66. )
  67. sleep 4
  68. login(
  69. browser: browser1,
  70. username: 'master@example.com',
  71. password: 'test',
  72. url: browser_url,
  73. )
  74. click(
  75. browser: browser1,
  76. css: 'a[href="#manage"]',
  77. )
  78. click(
  79. browser: browser1,
  80. css: 'a[href="#system/maintenance"]',
  81. )
  82. switch(
  83. browser: browser1,
  84. css: '.content.active .js-modeSetting',
  85. type: 'off',
  86. )
  87. watch_for_disappear(
  88. browser: browser2,
  89. css: '.js-maintenanceMode',
  90. )
  91. # try to logon with normal agent, should work again
  92. login(
  93. browser: browser2,
  94. username: 'agent1@example.com',
  95. password: 'test',
  96. url: browser_url,
  97. )
  98. logout(
  99. browser: browser2,
  100. )
  101. sleep 4
  102. login(
  103. browser: browser2,
  104. username: 'nicole.braun@zammad.org',
  105. password: 'test',
  106. url: browser_url,
  107. )
  108. switch(
  109. browser: browser1,
  110. css: '.content.active .js-modeSetting',
  111. type: 'on',
  112. no_check: true,
  113. )
  114. # check warning
  115. watch_for(
  116. browser: browser1,
  117. css: '.content.active .modal .modal-header',
  118. value: 'confirm',
  119. )
  120. click(
  121. browser: browser1,
  122. css: '.content.active .modal .js-submit',
  123. )
  124. watch_for(
  125. browser: browser2,
  126. css: '#login',
  127. )
  128. watch_for(
  129. browser: browser2,
  130. css: '.js-maintenanceMode',
  131. )
  132. switch(
  133. browser: browser1,
  134. css: '.content.active .js-modeSetting',
  135. type: 'off',
  136. )
  137. watch_for_disappear(
  138. browser: browser2,
  139. css: '.js-maintenanceMode',
  140. )
  141. end
  142. end