trabajo-afectivo/spec/system/system/maintenance_spec.rb

107 lines
2.9 KiB
Ruby

# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
require 'rails_helper'
RSpec.describe 'System > Maintenance', type: :system do
context 'when maintenance login is used' do
context 'when maintenance login will be activated', authenticated_as: :authenticate do
def authenticate
Setting.set('maintenance_login', false)
true
end
it 'switch maintenance_login on' do
visit 'system/maintenance'
click '.js-loginSetting label'
wait(10).until { expect(Setting.get('maintenance_login')).to be true }
end
end
context 'when maintenance login will be deactiavted', authenticated_as: :authenticate do
def authenticate
Setting.set('maintenance_login', true)
true
end
it 'switch maintenance_login off' do
visit 'system/maintenance'
click '.js-loginSetting label'
wait(10).until { expect(Setting.get('maintenance_login')).to be false }
end
end
context 'when maintenance login message will be used', authenticated_as: :authenticate do
def message
@message ||= 'badum tssss'
end
def authenticate
Setting.set('maintenance_login_message', message)
true
end
it 'shows current maintenance_login_message' do
visit 'system/maintenance'
expect(find('.js-loginPreview [data-name="message"]')).to have_text message
end
it 'saves new maintenance_login_message' do
message_suffix = 'tssss'
visit 'system/maintenance'
within(:active_content) do
elem = find('#maintenance-message.hero-unit')
elem.click
elem.send_keys message_suffix
elem.execute_script "$(this).trigger('blur')" # required for chrome
end
find('#global-search').click # unfocus
wait(10).until { expect(Setting.get('maintenance_login_message')).to eq "#{message}#{message_suffix}" }
end
end
end
context 'when maintenance mode is used' do
context 'when maintenance mode will be activated', authenticated_as: :authenticate do
def authenticate
Setting.set('maintenance_mode', false)
true
end
it 'switch maintenance_mode on' do
visit 'system/maintenance'
click '.js-modeSetting label'
modal_ready
click '.content.active .modal .js-submit'
modal_disappear
wait(10).until { expect(Setting.get('maintenance_mode')).to be true }
end
end
context 'when maintenance mode will be deactiavted', authenticated_as: :authenticate do
def authenticate
Setting.set('maintenance_mode', true)
true
end
it 'switch maintenance_mode off' do
visit 'system/maintenance'
click '.js-modeSetting label'
wait(10).until { expect(Setting.get('maintenance_mode')).to be false }
end
end
end
end