trabajo-afectivo/test/browser/agent_ticket_create_reset_customer_selection_test.rb

252 lines
7.8 KiB
Ruby
Raw Permalink Normal View History

2022-01-01 13:38:12 +00:00
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
require 'browser_test_helper'
class AgentTicketCreateResetCustomerSelectionTest < TestCase
def test_clear_customer
@browser = browser_instance
login(
2021-08-17 12:10:02 +00:00
username: 'admin@example.com',
password: 'test',
url: browser_url,
)
tasks_close_all
click(css: 'a[href="#new"]', only_if_exists: true)
click(css: 'a[href="#ticket/create"]')
watch_for(
css: '.content.active .newTicket',
timeout: 3,
)
exists(css: '.content.active .newTicket')
exists(css: '.content.active .tabsSidebar .sidebar[data-tab="template"]')
exists(css: '.content.active .tabsSidebar .tabsSidebar-tab.active[data-tab="template"]')
exists_not(css: '.content.active .tabsSidebar .sidebar[data-tab="customer"]')
exists_not(css: '.content.active .tabsSidebar .tabsSidebar-tab[data-tab="customer"]')
click(css: '.content.active .newTicket [name="customer_id_completion"]')
# check if pulldown is open, it's not working stable via selenium
@browser.execute_script("$('.content.active .newTicket .js-recipientDropdown').addClass('open')")
set(
css: '.content.active .newTicket input[name="customer_id_completion"]',
value: 'nicole',
)
watch_for(
css: '.content.active .newTicket .js-recipientDropdown .recipientList.is-shown',
value: 'Nicole',
timeout: 3,
)
sendkey(value: :enter)
sleep 1
exists(css: '.content.active .newTicket')
exists(css: '.content.active .tabsSidebar .sidebar[data-tab="template"]')
exists(css: '.content.active .tabsSidebar .tabsSidebar-tab.active[data-tab="template"]')
exists(css: '.content.active .tabsSidebar .sidebar[data-tab="customer"]')
exists(css: '.content.active .tabsSidebar .tabsSidebar-tab[data-tab="customer"]')
set(
css: '.content.active .newTicket input[name="customer_id_completion"]',
value: '',
)
sendkey(value: :backspace)
sleep 1
exists(css: '.content.active .newTicket')
exists(css: '.content.active .tabsSidebar .sidebar[data-tab="template"]')
exists(css: '.content.active .tabsSidebar .tabsSidebar-tab.active[data-tab="template"]')
exists_not(css: '.content.active .tabsSidebar .sidebar[data-tab="customer"]')
exists_not(css: '.content.active .tabsSidebar .tabsSidebar-tab[data-tab="customer"]')
set(
css: '.content.active .newTicket input[name="title"]',
value: 'some title',
)
set(
css: '.content.active .newTicket div[data-name="body"]',
value: 'some body',
)
select(
css: '.content.active .newTicket select[name="group_id"]',
value: 'Users',
)
click(css: '.content.active .newTicket .js-submit')
watch_for(
css: '.content.active .newTicket .user_autocompletion.form-group.has-error',
)
# cleanup
tasks_close_all
end
def test_clear_customer_use_email
@browser = browser_instance
login(
2021-08-17 12:10:02 +00:00
username: 'admin@example.com',
password: 'test',
url: browser_url,
)
tasks_close_all
click(css: 'a[href="#new"]', only_if_exists: true)
click(css: 'a[href="#ticket/create"]')
sleep 2
exists(css: '.content.active .newTicket')
exists(css: '.content.active .tabsSidebar .sidebar[data-tab="template"]')
exists(css: '.content.active .tabsSidebar .tabsSidebar-tab.active[data-tab="template"]')
exists_not(css: '.content.active .tabsSidebar .sidebar[data-tab="customer"]')
exists_not(css: '.content.active .tabsSidebar .tabsSidebar-tab[data-tab="customer"]')
click(css: '.content.active .newTicket [name="customer_id_completion"]')
# check if pulldown is open, it's not working stable via selenium
@browser.execute_script("$('.content.active .newTicket .js-recipientDropdown').addClass('open')")
set(
css: '.content.active .newTicket input[name="customer_id_completion"]',
value: 'nicole',
)
watch_for(
css: '.content.active .newTicket .js-recipientDropdown .recipientList.is-shown',
value: 'Nicole',
timeout: 3,
)
sendkey(value: :enter)
sleep 1
exists(css: '.content.active .newTicket')
exists(css: '.content.active .tabsSidebar .sidebar[data-tab="template"]')
exists(css: '.content.active .tabsSidebar .tabsSidebar-tab.active[data-tab="template"]')
exists(css: '.content.active .tabsSidebar .sidebar[data-tab="customer"]')
exists(css: '.content.active .tabsSidebar .tabsSidebar-tab[data-tab="customer"]')
set(
css: '.content.active .newTicket input[name="customer_id_completion"]',
value: '',
)
sendkey(value: :backspace)
sleep 1
exists(css: '.content.active .newTicket')
exists(css: '.content.active .tabsSidebar .sidebar[data-tab="template"]')
exists(css: '.content.active .tabsSidebar .tabsSidebar-tab.active[data-tab="template"]')
exists_not(css: '.content.active .tabsSidebar .sidebar[data-tab="customer"]')
exists_not(css: '.content.active .tabsSidebar .tabsSidebar-tab[data-tab="customer"]')
set(
css: '.content.active .newTicket input[name="customer_id_completion"]',
value: 'somecustomer_not_existing_right_now@example.com',
)
set(
css: '.content.active .newTicket input[name="title"]',
value: 'some title',
)
set(
css: '.content.active .newTicket div[data-name="body"]',
value: 'some body',
)
select(
css: '.content.active .newTicket select[name="group_id"]',
value: 'Users',
)
click(css: '.content.active .newTicket .js-submit')
watch_for(
css: '.content.active .ticketZoom-header .ticket-number',
value: '\d',
)
click(css: '.content.active .tabsSidebar-tabs .tabsSidebar-tab[data-tab="customer"]')
match(
css: '.content.active .tabsSidebar .sidebar[data-tab="customer"]',
value: 'somecustomer_not_existing_right_now@example.com',
)
click(css: '.content.active .tabsSidebar .sidebar[data-tab="customer"] .js-actions')
click(css: '.content.active .tabsSidebar .sidebar[data-tab="customer"] .js-actions li[data-type="customer-change"]')
modal_ready
exists_not(
css: '.content.active .modal .user_autocompletion.form-group.has-error',
)
click(css: '.content.active .modal .js-submit')
watch_for(
css: '.content.active .modal .user_autocompletion.form-group.has-error',
)
set(
css: '.content.active .modal input[name="customer_id_completion"]',
value: 'admin',
)
click(css: '.content.active .modal .js-submit')
watch_for(
css: '.content.active .modal .user_autocompletion.form-group.has-error',
)
set(
css: '.content.active .modal input[name="customer_id_completion"]',
value: 'admin',
)
watch_for(
css: '.content.active .modal .js-recipientDropdown .recipientList.is-shown',
value: 'Admin',
timeout: 3,
)
sendkey(value: :enter)
sleep 1
set(
css: '.content.active .modal input[name="customer_id_completion"]',
value: '',
)
sendkey(value: :backspace)
sleep 1
click(css: '.content.active .modal .js-submit')
watch_for(
css: '.content.active .modal .user_autocompletion.form-group.has-error',
)
set(
css: '.content.active .modal input[name="customer_id_completion"]',
value: 'admin',
)
watch_for(
css: '.content.active .modal .js-recipientDropdown .recipientList.is-shown',
value: 'Admin',
timeout: 3,
)
sendkey(value: :enter)
sleep 1
click(css: '.content.active .modal .js-submit')
# click(css: '.content.active .tabsSidebar-tabs .tabsSidebar-tab[data-tab="customer"]')
watch_for(
css: '.content.active .tabsSidebar .sidebar[data-tab="customer"]',
2021-08-17 12:10:02 +00:00
value: 'admin@example.com',
)
# cleanup
tasks_close_all
end
end