require 'browser_test_helper'
class MaintenanceSessionMessageTest < TestCase
def test_message
string = rand(99_999_999_999_999_999).to_s
title_html = "test #{string}"
title_text = "test #{string}<\/b>"
message_html = "message 1äöüß #{string}\n\n\nhttps://zammad.org"
message_text = "message 1äöüß #{string}\n\n\nhttps://zammad.org"
# check #1
browser1 = browser_instance
login(
browser: browser1,
username: 'master@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"] + .icon-checkbox.icon-unchecked',
)
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