# encoding: utf-8
require 'browser_test_helper'
class MaintenanceMessageTest < TestCase
def test_websocket
string = rand(99999999999999999).to_s
title_html = "test #{string}"
title_text = "test #{string}<\/b>"
message_html = "message 1äöüß #{string}\n\n\nhttp://zammad.org"
message_text = "message 1äöüß<\/b> #{string}\n\nhttp:\/\/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 input[name="head"]',
:value => title_html,
)
set(
:browser => browser1,
:css => '#content input[name="message"]',
:value => message_html,
)
click(
:browser => browser1,
:css => '#content button[type="submit"]',
)
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 .close',
)
# check #2
click(
:browser => browser1,
:css => 'a[href="#manage"]',
)
click(
:browser => browser1,
:css => 'a[href="#system/maintenance"]',
)
set(
:browser => browser1,
:css => '#content input[name="head"]',
:value => title_html + ' #2',
)
set(
:browser => browser1,
:css => '#content input[name="message"]',
:value => message_html + ' #2',
)
click(
:browser => browser1,
:css => '#content button[type="submit"]',
)
watch_for(
:browser => browser2,
:css => '.modal',
:value => title_html + ' #2',
)
watch_for(
:browser => browser2,
:css => '.modal',
:value => message_html + ' #2',
)
match_not(
:browser => browser1,
:css => 'body',
:value => message_text,
)
click(
:browser => browser2,
:css => 'div.modal-header .close',
)
# check #3
click(
:browser => browser1,
:css => 'a[href="#manage"]',
)
click(
:browser => browser1,
:css => 'a[href="#system/maintenance"]',
)
set(
:browser => browser1,
:css => '#content input[name="head"]',
:value => title_html + ' #3',
)
set(
:browser => browser1,
:css => '#content input[name="message"]',
:value => message_html + ' #3',
)
check(
:browser => browser1,
:css => '#content input[name="reload"][value="1"]',
)
click(
:browser => browser1,
:css => '#content button[type="submit"]',
)
watch_for(
:browser => browser2,
:css => '.modal',
:value => title_html + ' #3',
)
watch_for(
:browser => browser2,
:css => '.modal',
:value => message_html + ' #3',
)
watch_for(
:browser => browser2,
:css => '.modal',
:value => 'Reload application',
)
match_not(
:browser => browser1,
:css => 'body',
:value => message_text,
)
end
end