145 lines
3.4 KiB
Ruby
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
|