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

205 lines
5 KiB
Ruby

# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
require 'browser_test_helper'
class AgentTicketOverviewLevel1Test < TestCase
def test_i
name1 = "name_low_#{SecureRandom.uuid}"
name2 = "name_high_#{SecureRandom.uuid}"
browser1 = browser_instance
login(
browser: browser1,
username: 'admin@example.com',
password: 'test',
url: browser_url,
)
tasks_close_all(browser: browser1)
browser2 = browser_instance
login(
browser: browser2,
username: 'agent1@example.com',
password: 'test',
url: browser_url,
)
tasks_close_all(browser: browser2)
# create new overview
overview_create(
browser: browser1,
data: {
name: name1,
roles: ['Agent'],
selector: {
'Priority' => '1 low',
},
'order::direction' => 'down',
}
)
overview_create(
browser: browser1,
data: {
name: name2,
roles: ['Agent'],
selector: {
'Priority' => '3 high',
},
'order::direction' => 'down',
}
)
# create tickets
ticket1 = ticket_create(
browser: browser1,
data: {
customer: 'nico',
priority: '1 low',
group: 'Users',
title: 'overview #1',
body: 'overview #1',
}
)
# keep connection alive
click(
browser: browser2,
css: '.search-holder',
)
ticket2 = ticket_create(
browser: browser1,
data: {
customer: 'nico',
priority: '1 low',
group: 'Users',
title: 'overview #2',
body: 'overview #2',
}
)
ticket3 = ticket_create(
browser: browser1,
data: {
customer: 'nico',
priority: '1 low',
group: 'Users',
title: 'overview #3',
body: 'overview #3',
}
)
# click on #1 on overview
ticket_open_by_overview(
browser: browser2,
number: ticket3[:number],
link: "#ticket/view/#{name1}",
)
# use overview navigation to got to #2 & #3
match(
browser: browser2,
css: '.active .ticketZoom .ticketZoom-controls .overview-navigator .pagination-counter .pagination-item-current',
value: '1',
)
match(
browser: browser2,
css: '.active .ticketZoom-header .ticket-number',
value: ticket3[:number],
)
click(
browser: browser2,
css: '.active .ticketZoom .ticketZoom-controls .overview-navigator .next',
)
match(
browser: browser2,
css: '.active .ticketZoom .ticketZoom-controls .overview-navigator .pagination-counter .pagination-item-current',
value: '2',
)
match(
browser: browser2,
css: '.active .ticketZoom-header .ticket-number',
value: ticket2[:number],
)
click(
browser: browser2,
css: '.active .ticketZoom .ticketZoom-controls .overview-navigator .next',
)
match(
browser: browser2,
css: '.active .ticketZoom .ticketZoom-controls .overview-navigator .pagination-counter .pagination-item-current',
value: '3',
)
match(
browser: browser2,
css: '.active .ticketZoom-header .ticket-number',
value: ticket1[:number],
)
# close ticket
sleep 2 # needed to selenium cache issues
ticket_update(
browser: browser2,
data: {
state: 'closed',
}
)
sleep 8
match(
browser: browser2,
css: '.active .ticketZoom .ticketZoom-controls .overview-navigator .pagination-counter .pagination-item-current',
value: '3',
)
match(
browser: browser2,
css: '.active .ticketZoom-header .ticket-number',
value: ticket1[:number],
)
click(
browser: browser2,
css: '.active .ticketZoom .ticketZoom-controls .overview-navigator .previous',
)
match(
browser: browser2,
css: '.active .ticketZoom .ticketZoom-controls .overview-navigator .pagination-counter .pagination-item-current',
value: '2',
)
match(
browser: browser2,
css: '.active .ticketZoom-header .ticket-number',
value: ticket2[:number],
)
click(
browser: browser2,
css: '.active .ticketZoom .ticketZoom-controls .overview-navigator .next',
)
match(
browser: browser2,
css: '.active .ticketZoom-header .ticket-number',
value: ticket1[:number],
)
sleep 2 # needed to selenium cache issues
ticket_update(
browser: browser2,
data: {
state: 'closed',
priority: '3 high',
}
)
watch_for_disappear(
browser: browser2,
css: '.active .ticketZoom .ticketZoom-controls .overview-navigator .pagination-counter .pagination-item-current',
)
match(
browser: browser2,
css: '.active .ticketZoom-header .ticket-number',
value: ticket1[:number],
)
end
end