trabajo-afectivo/test/browser/integration_test.rb
2021-08-17 14:10:02 +02:00

340 lines
8.7 KiB
Ruby

# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
require 'browser_test_helper'
class IntegrationTest < TestCase
def test_sipgate
@browser = browser_instance
login(
username: 'admin@example.com',
password: 'test',
url: browser_url,
)
tasks_close_all
# change settings
click(css: 'a[href="#manage"]')
click(css: 'a[href="#system/integration"]')
click(css: 'a[href="#system/integration/sipgate"]')
sleep 2
switch(
css: '.content.active .main .js-switch',
type: 'on',
)
set(
css: '.content.active .main .js-inboundBlockCallerId input[name=caller_id]',
value: '041 1234567',
)
set(
css: '.content.active .main .js-inboundBlockCallerId input[name=note]',
value: 'block spam caller id',
)
click(css: '.content.active .main .js-inboundBlockCallerId .js-add')
click(css: '.content.active .main .js-submit')
exists(
css: '.content.active .main .js-inboundBlockCallerId [value="0411234567"]',
)
exists(
css: '.content.active .main .js-inboundBlockCallerId [value="block spam caller id"]',
)
click(css: 'a[href="#dashboard"]')
click(css: 'a[href="#manage"]')
click(css: 'a[href="#system/integration"]')
click(css: 'a[href="#system/integration/sipgate"]')
exists(
css: '.content.active .main .js-inboundBlockCallerId [value="0411234567"]',
)
exists(
css: '.content.active .main .js-inboundBlockCallerId [value="block spam caller id"]',
)
reload
exists(
css: '.content.active .main .js-inboundBlockCallerId [value="0411234567"]',
)
exists(
css: '.content.active .main .js-inboundBlockCallerId [value="block spam caller id"]',
)
click(css: '.content.active .main .js-inboundBlockCallerId .js-remove')
click(css: '.content.active .main .js-submit')
sleep 6
switch(
css: '.content.active .main .js-switch',
type: 'off',
)
reload
exists_not(
css: '.content.active .main .js-inboundBlockCallerId [value="0411234567"]',
)
exists_not(
css: '.content.active .main .js-inboundBlockCallerId [value="block spam caller id"]',
)
end
def test_slack
@browser = browser_instance
login(
username: 'admin@example.com',
password: 'test',
url: browser_url,
)
tasks_close_all
# change settings
click(css: 'a[href="#manage"]')
click(css: 'a[href="#system/integration"]')
click(css: 'a[href="#system/integration/slack"]')
sleep 2
switch(
css: '.content.active .main .js-switch',
type: 'on',
)
click(css: '.content.active .main .checkbox-replacement')
select(
css: '.content.active .main select[name="group_ids"]',
value: 'Users',
)
set(
css: '.content.active .main input[name="webhook"]',
value: 'http://some_url/webhook/123',
)
set(
css: '.content.active .main input[name="username"]',
value: 'someuser',
)
click(css: '.content.active .main .js-submit')
match(
css: '.content.active .main select[name="group_ids"]',
value: 'Users',
)
match(
css: '.content.active .main input[name="webhook"]',
value: 'http://some_url/webhook/123',
)
match(
css: '.content.active .main input[name="username"]',
value: 'someuser',
)
click(css: 'a[href="#dashboard"]')
click(css: 'a[href="#manage"]')
click(css: 'a[href="#system/integration"]')
click(css: 'a[href="#system/integration/slack"]')
match(
css: '.content.active .main select[name="group_ids"]',
value: 'Users',
)
match(
css: '.content.active .main input[name="webhook"]',
value: 'http://some_url/webhook/123',
)
match(
css: '.content.active .main input[name="username"]',
value: 'someuser',
)
reload
match(
css: '.content.active .main select[name="group_ids"]',
value: 'Users',
)
match(
css: '.content.active .main input[name="webhook"]',
value: 'http://some_url/webhook/123',
)
match(
css: '.content.active .main input[name="username"]',
value: 'someuser',
)
switch(
css: '.content.active .main .js-switch',
type: 'off',
)
end
def test_clearbit
@browser = browser_instance
login(
username: 'admin@example.com',
password: 'test',
url: browser_url,
)
tasks_close_all
# change settings
click(css: 'a[href="#manage"]')
click(css: 'a[href="#system/integration"]')
click(css: 'a[href="#system/integration/clearbit"]')
sleep 2
switch(
css: '.content.active .main .js-switch',
type: 'on',
)
set(
css: '.content.active .main input[name="api_key"]',
value: 'some_api_key',
)
set(
css: '.content.active .main .js-userSync .js-new [name="source"]',
value: 'source1',
)
set(
css: '.content.active .main .js-userSync .js-new [name="destination"]',
value: 'destination1',
)
click(css: '.content.active .main .js-userSync .js-add')
click(css: '.content.active .main .js-submit')
click(css: 'a[href="#dashboard"]')
click(css: 'a[href="#manage"]')
click(css: 'a[href="#system/integration"]')
click(css: 'a[href="#system/integration/clearbit"]')
match(
css: '.content.active .main input[name="api_key"]',
value: 'some_api_key',
)
exists(
css: '.content.active .main .js-userSync [value="source1"]',
)
exists(
css: '.content.active .main .js-userSync [value="destination1"]',
)
reload
match(
css: '.content.active .main input[name="api_key"]',
value: 'some_api_key',
)
exists(
css: '.content.active .main .js-userSync [value="source1"]',
)
exists(
css: '.content.active .main .js-userSync [value="destination1"]',
)
switch(
css: '.content.active .main .js-switch',
type: 'off',
)
set(
css: '.content.active .main input[name="api_key"]',
value: '-empty-',
)
click(css: '.content.active .main .js-submit')
reload
match_not(
css: '.content.active .main input[name="api_key"]',
value: 'some_api_key',
)
match(
css: '.content.active .main input[name="api_key"]',
value: '-empty-',
)
exists(
css: '.content.active .main .js-userSync [value="source1"]',
)
exists(
css: '.content.active .main .js-userSync [value="destination1"]',
)
end
def test_icinga
@browser = browser_instance
login(
username: 'admin@example.com',
password: 'test',
url: browser_url,
)
tasks_close_all
# change settings
click(css: 'a[href="#manage"]')
click(css: 'a[href="#system/integration"]')
click(css: 'a[href="#system/integration/icinga"]')
sleep 2
switch(
css: '.content.active .main .js-switch',
type: 'on',
)
set(
css: '.content.active .main input[name="icinga_sender"]',
value: 'some@othersender.com',
)
select(
css: '.content.active .main select[name="icinga_auto_close"]',
value: 'no',
)
click(css: '.content.active .main .js-submit')
match(
css: '.content.active .main input[name="icinga_sender"]',
value: 'some@othersender.com',
)
match(
css: '.content.active .main select[name="icinga_auto_close"]',
value: 'no',
)
click(css: 'a[href="#dashboard"]')
click(css: 'a[href="#manage"]')
click(css: 'a[href="#system/integration"]')
click(css: 'a[href="#system/integration/icinga"]')
match(
css: '.content.active .main input[name="icinga_sender"]',
value: 'some@othersender.com',
)
match(
css: '.content.active .main select[name="icinga_auto_close"]',
value: 'no',
)
reload
match(
css: '.content.active .main input[name="icinga_sender"]',
value: 'some@othersender.com',
)
match(
css: '.content.active .main select[name="icinga_auto_close"]',
value: 'no',
)
switch(
css: '.content.active .main .js-switch',
type: 'off',
)
set(
css: '.content.active .main input[name="icinga_sender"]',
value: 'icinga@monitoring.example.com',
)
select(
css: '.content.active .main select[name="icinga_auto_close"]',
value: 'yes',
)
click(css: '.content.active .main .js-submit')
match(
css: '.content.active .main input[name="icinga_sender"]',
value: 'icinga@monitoring.example.com',
)
match(
css: '.content.active .main select[name="icinga_auto_close"]',
value: 'yes',
)
end
end