trabajo-afectivo/test/browser/agent_ticket_merge_test.rb
2022-01-01 14:38:12 +01:00

145 lines
3.4 KiB
Ruby

# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
require 'browser_test_helper'
class AgentTicketMergeTest < TestCase
def test_agent_ticket_merge_closed_tab
# merge ticket with closed tab
@browser = browser_instance
login(
username: 'agent1@example.com',
password: 'test',
url: browser_url,
)
tasks_close_all
# create new ticket
ticket1 = ticket_create(
data: {
customer: 'nico',
group: 'Users',
title: 'some subject 123äöü - with closed tab',
body: 'some body 123äöü - with closed tab',
},
)
sleep 1
# update ticket
ticket_update(
data: {
body: 'some body 1234 äöüß - with closed tab',
},
)
tasks_close_all
# create second ticket to merge
ticket_create(
data: {
customer: 'nico',
group: 'Users',
title: 'test to merge - with closed tab',
body: 'some body 123äöü 222 - test to merge - with closed tab',
},
)
ticket_update(
data: {
body: 'some body 1234 äöüß 333 - with closed tab',
},
)
# check if task is shown
match(
css: '.tasks',
value: 'test to merge - with closed tab',
)
# merge tickets
click(css: '.active div[data-tab="ticket"] .js-actions .icon-arrow-down')
click(css: '.active div[data-tab="ticket"] .js-actions [data-type="ticket-merge"]')
modal_ready
set(
css: '.modal input[name="target_ticket_number"]',
value: ticket1[:number],
)
click(css: '.modal button[type="submit"]')
# check if merged to ticket is shown now
watch_for(
css: '.active .ticketZoom-header .ticket-number',
value: ticket1[:number],
)
watch_for(
css: '.active .ticket-article',
value: 'test to merge - with closed tab',
)
# check if task is now gone
match_not(
css: '.tasks',
value: 'test to merge',
)
match(
css: '.tasks',
value: 'some subject 123äöü - with closed tab',
)
# close task/cleanup
tasks_close_all
# merge ticket with open tabs
ticket3 = ticket_create(
data: {
customer: 'nico',
group: 'Users',
title: 'some subject 123äöü - with open tab',
body: 'some body 123äöü - with open tab',
},
)
ticket_create(
data: {
customer: 'nico',
group: 'Users',
title: 'test to merge - with open tab',
body: 'some body 123äöü 222 - test to merge - with open tab',
},
)
# merge tickets
click(css: '.active div[data-tab="ticket"] .js-actions .icon-arrow-down')
click(css: '.active div[data-tab="ticket"] .js-actions [data-type="ticket-merge"]')
modal_ready
set(
css: '.modal input[name="target_ticket_number"]',
value: ticket3[:number],
)
click(css: '.modal button[type="submit"]')
# check if merged to ticket is shown now
watch_for(
css: '.active .ticketZoom-header .ticket-number',
value: ticket3[:number],
)
watch_for(
css: '.active .ticket-article',
value: 'test to merge - with open tab',
)
# check if task is now gone
match_not(
css: '.tasks',
value: 'test to merge',
)
match(
css: '.tasks',
value: 'some subject 123äöü - with open tab',
)
end
end