maintenance_spec.rb 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. # Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
  2. require 'rails_helper'
  3. RSpec.describe 'System > Maintenance', type: :system do
  4. context 'when maintenance login is used' do
  5. context 'when maintenance login will be activated', authenticated_as: :authenticate do
  6. def authenticate
  7. Setting.set('maintenance_login', false)
  8. true
  9. end
  10. it 'switch maintenance_login on' do
  11. visit 'system/maintenance'
  12. click '.js-loginSetting label'
  13. wait(10).until { expect(Setting.get('maintenance_login')).to be true }
  14. end
  15. end
  16. context 'when maintenance login will be deactiavted', authenticated_as: :authenticate do
  17. def authenticate
  18. Setting.set('maintenance_login', true)
  19. true
  20. end
  21. it 'switch maintenance_login off' do
  22. visit 'system/maintenance'
  23. click '.js-loginSetting label'
  24. wait(10).until { expect(Setting.get('maintenance_login')).to be false }
  25. end
  26. end
  27. context 'when maintenance login message will be used', authenticated_as: :authenticate do
  28. def message
  29. @message ||= 'badum tssss'
  30. end
  31. def authenticate
  32. Setting.set('maintenance_login_message', message)
  33. true
  34. end
  35. it 'shows current maintenance_login_message' do
  36. visit 'system/maintenance'
  37. expect(find('.js-loginPreview [data-name="message"]')).to have_text message
  38. end
  39. it 'saves new maintenance_login_message' do
  40. message_suffix = 'tssss'
  41. visit 'system/maintenance'
  42. within(:active_content) do
  43. elem = find('#maintenance-message.hero-unit')
  44. elem.click
  45. elem.send_keys message_suffix
  46. elem.execute_script "$(this).trigger('blur')" # required for chrome
  47. end
  48. find('#global-search').click # unfocus
  49. wait(10).until { expect(Setting.get('maintenance_login_message')).to eq "#{message}#{message_suffix}" }
  50. end
  51. end
  52. end
  53. context 'when maintenance mode is used' do
  54. context 'when maintenance mode will be activated', authenticated_as: :authenticate do
  55. def authenticate
  56. Setting.set('maintenance_mode', false)
  57. true
  58. end
  59. it 'switch maintenance_mode on' do
  60. visit 'system/maintenance'
  61. click '.js-modeSetting label'
  62. modal_ready
  63. click '.content.active .modal .js-submit'
  64. modal_disappear
  65. wait(10).until { expect(Setting.get('maintenance_mode')).to be true }
  66. end
  67. end
  68. context 'when maintenance mode will be deactiavted', authenticated_as: :authenticate do
  69. def authenticate
  70. Setting.set('maintenance_mode', true)
  71. true
  72. end
  73. it 'switch maintenance_mode off' do
  74. visit 'system/maintenance'
  75. click '.js-modeSetting label'
  76. wait(10).until { expect(Setting.get('maintenance_mode')).to be false }
  77. end
  78. end
  79. end
  80. end