Maintenance: Port maintenance session message test to capybara.
(cherry picked from commit 22cd8f3376
)
This commit is contained in:
parent
905bdd512b
commit
fa8588855c
4 changed files with 85 additions and 190 deletions
|
@ -50,7 +50,6 @@ if [ "$LEVEL" == '1' ]; then
|
|||
rm test/browser/first_steps_test.rb
|
||||
rm test/browser/integration_test.rb
|
||||
rm test/browser/keyboard_shortcuts_test.rb
|
||||
# test/browser/maintenance_session_message_test.rb
|
||||
# test/browser/manage_test.rb
|
||||
# test/browser/monitoring_test.rb
|
||||
rm test/browser/integration_sipgate_test.rb
|
||||
|
@ -107,7 +106,6 @@ elif [ "$LEVEL" == '2' ]; then
|
|||
rm test/browser/first_steps_test.rb
|
||||
rm test/browser/integration_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/monitoring_test.rb
|
||||
rm test/browser/integration_sipgate_test.rb
|
||||
|
@ -164,7 +162,6 @@ elif [ "$LEVEL" == '3' ]; then
|
|||
rm test/browser/first_steps_test.rb
|
||||
rm test/browser/integration_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/monitoring_test.rb
|
||||
rm test/browser/integration_sipgate_test.rb
|
||||
|
@ -221,7 +218,6 @@ elif [ "$LEVEL" == '4' ]; then
|
|||
rm test/browser/first_steps_test.rb
|
||||
rm test/browser/integration_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/monitoring_test.rb
|
||||
rm test/browser/integration_sipgate_test.rb
|
||||
|
@ -277,7 +273,6 @@ elif [ "$LEVEL" == '5' ]; then
|
|||
rm test/browser/first_steps_test.rb
|
||||
rm test/browser/integration_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/monitoring_test.rb
|
||||
rm test/browser/integration_sipgate_test.rb
|
||||
|
@ -336,7 +331,6 @@ elif [ "$LEVEL" == '6' ]; then
|
|||
# test/browser/first_steps_test.rb
|
||||
# test/browser/integration_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/monitoring_test.rb
|
||||
# rm test/browser/integration_sipgate_test.rb
|
||||
|
|
|
@ -2,14 +2,18 @@
|
|||
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe 'Maintenance App Version', type: :system do
|
||||
it 'check that new version is present' do
|
||||
RSpec.describe 'System > Maintenance - App Version', type: :system 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"} )'
|
||||
|
||||
expect(page).to have_no_text('new version')
|
||||
|
||||
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')
|
||||
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