trabajo-afectivo/test/browser/integration_sipgate_test.rb

69 lines
1.6 KiB
Ruby
Raw Normal View History

require 'browser_test_helper'
class IntegrationSipgateTest < TestCase
# Regression test for #2017
def test_nav_menu_notification_badge_clears
id = rand(99_999_999)
@browser = browser_instance
login(
username: 'master@example.com',
password: 'test',
url: browser_url,
)
click(css: 'a[href="#manage"]')
click(css: 'a[href="#system/integration"]')
click(css: 'a[href="#system/integration/sipgate"]')
switch(
css: '.content.active .js-switch',
type: 'on'
)
watch_for(
css: 'a[href="#cti"]',
timeout: 4,
)
click(css: 'a[href="#cti"]')
call_counter = @browser.find_elements(css: '.js-phoneMenuItem .counter')
.first&.text.to_i
# simulate cti callbacks
url = URI.join(browser_url, 'api/v1/sipgate/in')
params = {
direction: 'in',
from: '491715000003',
to: '4930600000004',
callId: "4991155921769858279-#{id}",
cause: 'busy'
}
Net::HTTP.post_form(url, params.merge(event: 'newCall'))
Net::HTTP.post_form(url, params.merge(event: 'hangup'))
watch_for(
css: '.js-phoneMenuItem .counter',
value: (call_counter + 1).to_s,
timeout: 4,
)
check(css: '.content.active .table-checkbox input')
watch_for_disappear(
css: '.js-phoneMenuItem .counter',
timeout: 6,
)
click(css: 'a[href="#manage"]')
click(css: 'a[href="#system/integration"]')
click(css: 'a[href="#system/integration/sipgate"]')
switch(
css: '.content.active .js-switch',
type: 'off'
)
end
end