trabajo-afectivo/test/browser/agent_ticket_overview_level0_test.rb

369 lines
8.5 KiB
Ruby
Raw Normal View History

2017-11-23 08:09:44 +00:00
require 'browser_test_helper'
class AgentTicketOverviewLevel0Test < TestCase
def test_bulk_close
2015-02-22 12:28:34 +00:00
@browser = browser_instance
login(
username: 'master@example.com',
password: 'test',
url: browser_url,
2015-02-22 12:28:34 +00:00
)
tasks_close_all()
# test bulk action
# create new ticket
ticket1 = ticket_create(
data: {
2016-03-14 22:29:39 +00:00
customer: 'nico',
group: 'Users',
title: 'overview count test #1',
body: 'overview count test #1',
}
)
ticket2 = ticket_create(
data: {
2016-03-14 22:29:39 +00:00
customer: 'nico',
group: 'Users',
title: 'overview count test #2',
body: 'overview count test #2',
}
)
click(text: 'Overviews')
2015-11-05 12:34:22 +00:00
# enable full overviews
execute(
js: '$(".content.active .sidebar").css("display", "block")',
)
click(text: 'Unassigned & Open')
watch_for(
css: '.content.active',
value: 'overview count test #2',
)
# select both via bulk action
click(
css: '.content.active table tr td input[value="' + ticket1[:id] + '"] + .icon-checkbox.icon-unchecked',
fast: true,
)
# scroll to reply - needed for chrome
scroll_to(
position: 'top',
css: '.content.active table tr td input[value="' + ticket2[:id] + '"] + .icon-checkbox.icon-unchecked',
)
click(
css: '.content.active table tr td input[value="' + ticket2[:id] + '"] + .icon-checkbox.icon-unchecked',
fast: true,
)
exists(
css: '.content.active table tr td input[value="' + ticket1[:id] + '"][type="checkbox"]:checked',
)
exists(
css: '.content.active table tr td input[value="' + ticket2[:id] + '"][type="checkbox"]:checked',
)
# select close state & submit
select(
css: '.content.active .bulkAction [name="state_id"]',
value: 'closed',
)
click(
css: '.content.active .bulkAction .js-confirm',
)
click(
css: '.content.active .bulkAction .js-submit',
)
watch_for_disappear(
css: '.content.active table tr td input[value="' + ticket2[:id] + '"]',
timeout: 6,
)
exists_not(
css: '.content.active table tr td input[value="' + ticket1[:id] + '"]',
)
exists_not(
css: '.content.active table tr td input[value="' + ticket2[:id] + '"]',
)
2015-02-22 12:28:34 +00:00
# remember current overview count
overview_counter_before = overview_counter()
# click options and enable number and article count
click(css: '.content.active [data-type="settings"]')
modal_ready()
check(
css: '.modal input[value="number"]',
)
2015-03-01 23:16:36 +00:00
check(
css: '.modal input[value="title"]',
2015-03-01 23:16:36 +00:00
)
check(
css: '.modal input[value="customer"]',
2015-03-01 23:16:36 +00:00
)
check(
css: '.modal input[value="group"]',
2015-03-01 23:16:36 +00:00
)
check(
css: '.modal input[value="created_at"]',
2015-03-01 23:16:36 +00:00
)
check(
css: '.modal input[value="article_count"]',
)
click(css: '.modal .js-submit')
modal_disappear
# check if number and article count is shown
match(
css: '.content.active table th:nth-child(3)',
value: '#',
)
match(
css: '.content.active table th:nth-child(4)',
2015-09-29 06:24:51 +00:00
value: 'Title',
)
match(
css: '.content.active table th:nth-child(7)',
value: 'Article#',
)
# reload browser
reload()
2015-03-01 23:16:36 +00:00
sleep 4
# check if number and article count is shown
match(
css: '.content.active table th:nth-child(3)',
value: '#',
)
match(
css: '.content.active table th:nth-child(4)',
2015-09-29 06:24:51 +00:00
value: 'Title',
)
match(
css: '.content.active table th:nth-child(7)',
value: 'Article#',
)
# disable number and article count
click(css: '.content.active [data-type="settings"]')
modal_ready()
uncheck(
css: '.modal input[value="number"]',
)
uncheck(
css: '.modal input[value="article_count"]',
)
click(css: '.modal .js-submit')
modal_disappear
# check if number and article count is gone
match_not(
css: '.content.active table th:nth-child(3)',
value: '#',
)
2015-09-29 06:24:51 +00:00
match(
css: '.content.active table th:nth-child(3)',
2015-09-29 06:24:51 +00:00
value: 'Title',
)
exists_not(
css: '.content.active table th:nth-child(8)',
)
2015-02-22 12:28:34 +00:00
# create new ticket
ticket3 = ticket_create(
data: {
2016-03-14 22:29:39 +00:00
customer: 'nico',
group: 'Users',
title: 'overview count test #3',
body: 'overview count test #3',
2015-02-22 12:28:34 +00:00
}
)
sleep 6
2015-02-22 12:28:34 +00:00
# get new overview count
overview_counter_new = overview_counter()
assert_equal(overview_counter_before['#ticket/view/all_unassigned'] + 1, overview_counter_new['#ticket/view/all_unassigned'])
2015-02-22 12:28:34 +00:00
# open ticket by search
ticket_open_by_search(
number: ticket3[:number],
2015-02-22 12:28:34 +00:00
)
2015-02-23 09:21:39 +00:00
sleep 1
2015-02-22 12:28:34 +00:00
# close ticket
ticket_update(
data: {
state: 'closed',
2015-02-22 12:28:34 +00:00
}
)
sleep 6
2015-02-22 12:28:34 +00:00
# get current overview count
overview_counter_after = overview_counter()
assert_equal(overview_counter_before['#ticket/view/all_unassigned'], overview_counter_after['#ticket/view/all_unassigned'])
2015-03-01 23:16:36 +00:00
# cleanup
tasks_close_all()
end
def test_bulk_pending
@browser = browser_instance
login(
username: 'master@example.com',
password: 'test',
url: browser_url,
)
tasks_close_all()
# test bulk action
# create new ticket
ticket1 = ticket_create(
data: {
customer: 'nico',
group: 'Users',
title: 'overview count test #3',
body: 'overview count test #3',
}
)
ticket2 = ticket_create(
data: {
customer: 'nico',
group: 'Users',
title: 'overview count test #4',
body: 'overview count test #4',
}
)
click(text: 'Overviews')
# enable full overviews
execute(
js: '$(".content.active .sidebar").css("display", "block")',
)
click(text: 'Unassigned & Open')
watch_for(
css: '.content.active',
value: 'overview count test #4',
timeout: 8,
)
# remember current overview count
overview_counter_before = overview_counter()
# select both via bulk action
click(
css: '.content.active table tr td input[value="' + ticket1[:id] + '"] + .icon-checkbox.icon-unchecked',
fast: true,
)
# scroll to reply - needed for chrome
scroll_to(
position: 'top',
css: '.content.active table tr td input[value="' + ticket2[:id] + '"] + .icon-checkbox.icon-unchecked',
)
click(
css: '.content.active table tr td input[value="' + ticket2[:id] + '"] + .icon-checkbox.icon-unchecked',
fast: true,
)
exists(
css: '.content.active table tr td input[value="' + ticket1[:id] + '"][type="checkbox"]:checked',
)
exists(
css: '.content.active table tr td input[value="' + ticket2[:id] + '"][type="checkbox"]:checked',
)
exists(
displayed: false,
css: '.content.active .bulkAction [data-name="pending_time"]',
)
select(
css: '.content.active .bulkAction [name="state_id"]',
value: 'pending close',
)
exists(
displayed: true,
css: '.content.active .bulkAction [data-name="pending_time"]',
)
set(
css: '.content.active .bulkAction [data-item="date"]',
value: '05/23/2037',
)
select(
css: '.content.active .bulkAction [name="group_id"]',
value: 'Users',
)
select(
css: '.content.active .bulkAction [name="owner_id"]',
value: 'Test Master Agent',
)
click(
css: '.content.active .bulkAction .js-confirm',
)
click(
css: '.content.active .bulkAction .js-submit',
)
watch_for_disappear(
css: '.content.active table tr td input[value="' + ticket2[:id] + '"]',
timeout: 12,
)
exists_not(
css: '.content.active table tr td input[value="' + ticket1[:id] + '"]',
)
exists_not(
css: '.content.active table tr td input[value="' + ticket2[:id] + '"]',
)
# get new overview count
overview_counter_new = overview_counter()
assert_equal(overview_counter_before['#ticket/view/all_unassigned'] - 2, overview_counter_new['#ticket/view/all_unassigned'])
# open ticket by search
ticket_open_by_search(
number: ticket1[:number],
)
sleep 1
# close ticket
ticket_update(
data: {
state: 'closed',
}
)
# open ticket by search
ticket_open_by_search(
number: ticket2[:number],
)
sleep 1
# close ticket
ticket_update(
data: {
state: 'closed',
}
)
# cleanup
tasks_close_all()
end
end