Maintenance: Port maintenance session message test to capybara.
This commit is contained in:
parent
df6fe54b66
commit
22cd8f3376
4 changed files with 85 additions and 190 deletions
|
@ -49,7 +49,6 @@ if [ "$LEVEL" == '1' ]; then
|
||||||
rm test/browser/first_steps_test.rb
|
rm test/browser/first_steps_test.rb
|
||||||
rm test/browser/integration_test.rb
|
rm test/browser/integration_test.rb
|
||||||
rm test/browser/keyboard_shortcuts_test.rb
|
rm test/browser/keyboard_shortcuts_test.rb
|
||||||
# test/browser/maintenance_session_message_test.rb
|
|
||||||
# test/browser/manage_test.rb
|
# test/browser/manage_test.rb
|
||||||
# test/browser/monitoring_test.rb
|
# test/browser/monitoring_test.rb
|
||||||
rm test/browser/integration_sipgate_test.rb
|
rm test/browser/integration_sipgate_test.rb
|
||||||
|
@ -105,7 +104,6 @@ elif [ "$LEVEL" == '2' ]; then
|
||||||
rm test/browser/first_steps_test.rb
|
rm test/browser/first_steps_test.rb
|
||||||
rm test/browser/integration_test.rb
|
rm test/browser/integration_test.rb
|
||||||
rm test/browser/keyboard_shortcuts_test.rb
|
rm test/browser/keyboard_shortcuts_test.rb
|
||||||
rm test/browser/maintenance_session_message_test.rb
|
|
||||||
rm test/browser/manage_test.rb
|
rm test/browser/manage_test.rb
|
||||||
rm test/browser/monitoring_test.rb
|
rm test/browser/monitoring_test.rb
|
||||||
rm test/browser/integration_sipgate_test.rb
|
rm test/browser/integration_sipgate_test.rb
|
||||||
|
@ -161,7 +159,6 @@ elif [ "$LEVEL" == '3' ]; then
|
||||||
rm test/browser/first_steps_test.rb
|
rm test/browser/first_steps_test.rb
|
||||||
rm test/browser/integration_test.rb
|
rm test/browser/integration_test.rb
|
||||||
rm test/browser/keyboard_shortcuts_test.rb
|
rm test/browser/keyboard_shortcuts_test.rb
|
||||||
rm test/browser/maintenance_session_message_test.rb
|
|
||||||
rm test/browser/manage_test.rb
|
rm test/browser/manage_test.rb
|
||||||
rm test/browser/monitoring_test.rb
|
rm test/browser/monitoring_test.rb
|
||||||
rm test/browser/integration_sipgate_test.rb
|
rm test/browser/integration_sipgate_test.rb
|
||||||
|
@ -217,7 +214,6 @@ elif [ "$LEVEL" == '4' ]; then
|
||||||
rm test/browser/first_steps_test.rb
|
rm test/browser/first_steps_test.rb
|
||||||
rm test/browser/integration_test.rb
|
rm test/browser/integration_test.rb
|
||||||
rm test/browser/keyboard_shortcuts_test.rb
|
rm test/browser/keyboard_shortcuts_test.rb
|
||||||
rm test/browser/maintenance_session_message_test.rb
|
|
||||||
rm test/browser/manage_test.rb
|
rm test/browser/manage_test.rb
|
||||||
rm test/browser/monitoring_test.rb
|
rm test/browser/monitoring_test.rb
|
||||||
rm test/browser/integration_sipgate_test.rb
|
rm test/browser/integration_sipgate_test.rb
|
||||||
|
@ -272,7 +268,6 @@ elif [ "$LEVEL" == '5' ]; then
|
||||||
rm test/browser/first_steps_test.rb
|
rm test/browser/first_steps_test.rb
|
||||||
rm test/browser/integration_test.rb
|
rm test/browser/integration_test.rb
|
||||||
rm test/browser/keyboard_shortcuts_test.rb
|
rm test/browser/keyboard_shortcuts_test.rb
|
||||||
rm test/browser/maintenance_session_message_test.rb
|
|
||||||
rm test/browser/manage_test.rb
|
rm test/browser/manage_test.rb
|
||||||
rm test/browser/monitoring_test.rb
|
rm test/browser/monitoring_test.rb
|
||||||
rm test/browser/integration_sipgate_test.rb
|
rm test/browser/integration_sipgate_test.rb
|
||||||
|
@ -330,7 +325,6 @@ elif [ "$LEVEL" == '6' ]; then
|
||||||
# test/browser/first_steps_test.rb
|
# test/browser/first_steps_test.rb
|
||||||
# test/browser/integration_test.rb
|
# test/browser/integration_test.rb
|
||||||
# test/browser/keyboard_shortcuts_test.rb
|
# test/browser/keyboard_shortcuts_test.rb
|
||||||
rm test/browser/maintenance_session_message_test.rb
|
|
||||||
rm test/browser/manage_test.rb
|
rm test/browser/manage_test.rb
|
||||||
rm test/browser/monitoring_test.rb
|
rm test/browser/monitoring_test.rb
|
||||||
# rm test/browser/integration_sipgate_test.rb
|
# rm test/browser/integration_sipgate_test.rb
|
||||||
|
|
|
@ -2,14 +2,18 @@
|
||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe 'Maintenance App Version', type: :system do
|
RSpec.describe 'System > Maintenance - App Version', type: :system do
|
||||||
it 'check that new version is present' do
|
it 'check that new version modal dialog is present' do
|
||||||
page.execute_script 'App.Event.trigger("maintenance", {type:"app_version", app_version:"1234:false"} )'
|
page.execute_script 'App.Event.trigger("maintenance", {type:"app_version", app_version:"1234:false"} )'
|
||||||
|
|
||||||
expect(page).to have_no_text('new version')
|
expect(page).to have_no_text('new version')
|
||||||
|
|
||||||
page.execute_script 'App.Event.trigger("maintenance", {type:"app_version", app_version:"1234:true"} )'
|
page.execute_script 'App.Event.trigger("maintenance", {type:"app_version", app_version:"1234:true"} )'
|
||||||
|
|
||||||
|
modal_ready(timeout: 10)
|
||||||
|
|
||||||
|
within '.modal-dialog' do
|
||||||
expect(page).to have_text('new version')
|
expect(page).to have_text('new version')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
78
spec/system/system/maintenance/session_message_spec.rb
Normal file
78
spec/system/system/maintenance/session_message_spec.rb
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'System > Maintenance - Session Message', type: :system do
|
||||||
|
let(:agent) { User.find_by(login: 'agent1@example.com') }
|
||||||
|
let(:session_message_title) { 'Testing <b>Session Message Title</b>' }
|
||||||
|
let(:session_message_text) { "message <b>1äöüß</b> Session Message Title\n\n\nhttps://zammad.org" }
|
||||||
|
|
||||||
|
def check_sesion_message_content(title, text)
|
||||||
|
expect(page).to have_text(title)
|
||||||
|
expect(page).to have_text(text)
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when maintenance session message is used and a open session exists' do
|
||||||
|
before do
|
||||||
|
using_session(:second_browser) do
|
||||||
|
login(
|
||||||
|
username: agent.login,
|
||||||
|
password: 'test',
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'check that the maintenance session message appears' do
|
||||||
|
visit 'system/maintenance'
|
||||||
|
|
||||||
|
within :active_content do
|
||||||
|
fill_in 'head', with: session_message_title
|
||||||
|
find('.js-Message .js-textarea[data-name="message"]').send_keys(session_message_text)
|
||||||
|
|
||||||
|
click '.js-Message button.js-submit'
|
||||||
|
end
|
||||||
|
|
||||||
|
using_session(:second_browser) do
|
||||||
|
modal_ready
|
||||||
|
|
||||||
|
within '.modal-dialog' do
|
||||||
|
check_sesion_message_content(session_message_title, session_message_text)
|
||||||
|
|
||||||
|
click 'div.modal-header .js-close'
|
||||||
|
end
|
||||||
|
|
||||||
|
modal_disappear
|
||||||
|
end
|
||||||
|
|
||||||
|
within :active_content do
|
||||||
|
expect(page).to have_no_text(session_message_title)
|
||||||
|
expect(page).to have_no_text(session_message_text)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'check that the maintenance session message appears with browser reload' do
|
||||||
|
message_title = "#{session_message_title} #2"
|
||||||
|
message_text = "#{session_message_text} #2"
|
||||||
|
|
||||||
|
visit 'system/maintenance'
|
||||||
|
|
||||||
|
within :active_content do
|
||||||
|
fill_in 'head', with: "#{message_title} #2"
|
||||||
|
find('.js-Message .js-textarea[data-name="message"]').send_keys("#{message_text} #2")
|
||||||
|
check 'reload', { allow_label_click: true }
|
||||||
|
|
||||||
|
click '.js-Message button.js-submit'
|
||||||
|
end
|
||||||
|
|
||||||
|
using_session(:second_browser) do
|
||||||
|
modal_ready
|
||||||
|
|
||||||
|
within '.modal-dialog' do
|
||||||
|
check_sesion_message_content(message_title, message_text)
|
||||||
|
|
||||||
|
expect(page).to have_text('Continue session')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,181 +0,0 @@
|
||||||
# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
|
|
||||||
|
|
||||||
require 'browser_test_helper'
|
|
||||||
|
|
||||||
class MaintenanceSessionMessageTest < TestCase
|
|
||||||
def test_message
|
|
||||||
string = SecureRandom.uuid
|
|
||||||
title_html = "test <b>#{string}</b>"
|
|
||||||
title_text = "test <b>#{string}<\/b>"
|
|
||||||
message_html = "message <b>1äöüß</b> #{string}\n\n\nhttps://zammad.org"
|
|
||||||
message_text = "message <b>1äöüß</b> #{string}\n\n\nhttps://zammad.org"
|
|
||||||
|
|
||||||
# check #1
|
|
||||||
browser1 = browser_instance
|
|
||||||
login(
|
|
||||||
browser: browser1,
|
|
||||||
username: 'admin@example.com',
|
|
||||||
password: 'test',
|
|
||||||
url: browser_url,
|
|
||||||
)
|
|
||||||
|
|
||||||
browser2 = browser_instance
|
|
||||||
login(
|
|
||||||
browser: browser2,
|
|
||||||
username: 'agent1@example.com',
|
|
||||||
password: 'test',
|
|
||||||
url: browser_url,
|
|
||||||
)
|
|
||||||
click(
|
|
||||||
browser: browser1,
|
|
||||||
css: 'a[href="#manage"]',
|
|
||||||
)
|
|
||||||
click(
|
|
||||||
browser: browser1,
|
|
||||||
css: 'a[href="#system/maintenance"]',
|
|
||||||
)
|
|
||||||
|
|
||||||
set(
|
|
||||||
browser: browser1,
|
|
||||||
css: '.content.active .js-Message input[name="head"]',
|
|
||||||
value: title_html,
|
|
||||||
)
|
|
||||||
set(
|
|
||||||
browser: browser1,
|
|
||||||
css: '.content.active .js-Message .js-textarea[data-name="message"]',
|
|
||||||
value: message_html,
|
|
||||||
)
|
|
||||||
|
|
||||||
click(
|
|
||||||
browser: browser1,
|
|
||||||
css: '.content.active .js-Message button.js-submit',
|
|
||||||
)
|
|
||||||
|
|
||||||
modal_ready(browser: browser2)
|
|
||||||
watch_for(
|
|
||||||
browser: browser2,
|
|
||||||
css: '.modal',
|
|
||||||
value: title_text,
|
|
||||||
)
|
|
||||||
watch_for(
|
|
||||||
browser: browser2,
|
|
||||||
css: '.modal',
|
|
||||||
value: message_text,
|
|
||||||
)
|
|
||||||
|
|
||||||
match_not(
|
|
||||||
browser: browser1,
|
|
||||||
css: 'body',
|
|
||||||
value: message_text,
|
|
||||||
)
|
|
||||||
|
|
||||||
click(
|
|
||||||
browser: browser2,
|
|
||||||
css: 'div.modal-header .js-close',
|
|
||||||
)
|
|
||||||
modal_disappear(browser: browser2)
|
|
||||||
|
|
||||||
# check #2
|
|
||||||
click(
|
|
||||||
browser: browser1,
|
|
||||||
css: 'a[href="#manage"]',
|
|
||||||
)
|
|
||||||
click(
|
|
||||||
browser: browser1,
|
|
||||||
css: 'a[href="#system/maintenance"]',
|
|
||||||
)
|
|
||||||
|
|
||||||
set(
|
|
||||||
browser: browser1,
|
|
||||||
css: '.content.active .js-Message input[name="head"]',
|
|
||||||
value: "#{title_html} #2",
|
|
||||||
)
|
|
||||||
set(
|
|
||||||
browser: browser1,
|
|
||||||
css: '.content.active .js-Message .js-textarea[data-name="message"]',
|
|
||||||
value: "#{message_html} #2",
|
|
||||||
)
|
|
||||||
|
|
||||||
click(
|
|
||||||
browser: browser1,
|
|
||||||
css: '.content.active .js-Message button.js-submit',
|
|
||||||
)
|
|
||||||
|
|
||||||
modal_ready(browser: browser2)
|
|
||||||
watch_for(
|
|
||||||
browser: browser2,
|
|
||||||
css: '.modal',
|
|
||||||
value: "#{title_text} #2",
|
|
||||||
)
|
|
||||||
watch_for(
|
|
||||||
browser: browser2,
|
|
||||||
css: '.modal',
|
|
||||||
value: "#{message_text} #2",
|
|
||||||
)
|
|
||||||
|
|
||||||
match_not(
|
|
||||||
browser: browser1,
|
|
||||||
css: 'body',
|
|
||||||
value: message_text,
|
|
||||||
)
|
|
||||||
|
|
||||||
click(
|
|
||||||
browser: browser2,
|
|
||||||
css: 'div.modal-header .js-close',
|
|
||||||
)
|
|
||||||
modal_disappear(browser: browser2)
|
|
||||||
|
|
||||||
# check #3
|
|
||||||
click(
|
|
||||||
browser: browser1,
|
|
||||||
css: 'a[href="#manage"]',
|
|
||||||
)
|
|
||||||
click(
|
|
||||||
browser: browser1,
|
|
||||||
css: 'a[href="#system/maintenance"]',
|
|
||||||
)
|
|
||||||
|
|
||||||
set(
|
|
||||||
browser: browser1,
|
|
||||||
css: '.content.active .js-Message input[name="head"]',
|
|
||||||
value: "#{title_html} #3",
|
|
||||||
)
|
|
||||||
set(
|
|
||||||
browser: browser1,
|
|
||||||
css: '.content.active .js-Message .js-textarea[data-name="message"]',
|
|
||||||
value: "#{message_html} #3",
|
|
||||||
)
|
|
||||||
click(
|
|
||||||
browser: browser1,
|
|
||||||
css: '.content.active .js-Message input[name="reload"]',
|
|
||||||
)
|
|
||||||
click(
|
|
||||||
browser: browser1,
|
|
||||||
css: '.content.active .js-Message button.js-submit',
|
|
||||||
)
|
|
||||||
|
|
||||||
modal_ready(browser: browser2)
|
|
||||||
watch_for(
|
|
||||||
browser: browser2,
|
|
||||||
css: '.modal',
|
|
||||||
value: "#{title_text} #3",
|
|
||||||
)
|
|
||||||
watch_for(
|
|
||||||
browser: browser2,
|
|
||||||
css: '.modal',
|
|
||||||
value: "#{message_text} #3",
|
|
||||||
)
|
|
||||||
watch_for(
|
|
||||||
browser: browser2,
|
|
||||||
css: '.modal',
|
|
||||||
value: 'Continue session',
|
|
||||||
)
|
|
||||||
|
|
||||||
match_not(
|
|
||||||
browser: browser1,
|
|
||||||
css: 'body',
|
|
||||||
value: message_text,
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
Loading…
Reference in a new issue