123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- # Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
- require 'browser_test_helper'
- class AgentTicketTimeAccountingTest < TestCase
- def test_macro
- @browser = browser_instance
- login(
- username: 'admin@example.com',
- password: 'test',
- url: browser_url,
- )
- tasks_close_all
- # enable time accounting
- click(
- css: 'a[href="#manage"]',
- )
- click(
- css: '.content.active a[href="#manage/time_accounting"]',
- )
- switch(
- css: '.content.active .js-timeAccountingSetting',
- type: 'on',
- )
- ticket_create(
- data: {
- customer: 'nico',
- group: 'Users',
- title: 'some subject - time accounting#1',
- body: 'some body - time accounting#1',
- },
- )
- ticket_update(
- data: {
- body: 'some note',
- },
- do_not_submit: true,
- )
- click(
- css: '.active .js-submit',
- )
- modal_ready
- set(
- css: '.content.active .modal [name=time_unit]',
- value: '4',
- )
- click(
- css: '.content.active .modal .js-submit',
- )
- modal_disappear
- watch_for(
- css: '.content.active .js-timeUnit',
- value: '4',
- )
- ticket_create(
- data: {
- customer: 'nico',
- group: 'Users',
- title: 'some subject - time accounting#2',
- body: 'some body - time accounting#2',
- },
- )
- ticket_update(
- data: {
- body: 'some note',
- },
- do_not_submit: true,
- )
- click(
- css: '.active .js-submit',
- )
- modal_ready
- set(
- css: '.content.active .modal [name=time_unit]',
- value: '4,6',
- )
- click(
- css: '.content.active .modal .js-submit',
- )
- modal_disappear
- watch_for(
- css: '.content.active .js-timeUnit',
- value: '4.6',
- )
- ticket_update(
- data: {
- body: 'some note2',
- },
- do_not_submit: true,
- )
- click(
- css: '.active .js-submit',
- )
- modal_ready
- set(
- css: '.content.active .modal [name=time_unit]',
- value: '4abc',
- )
- click(
- css: '.content.active .modal .js-submit',
- )
- watch_for(
- css: '.content.active .modal [name=time_unit].has-error',
- )
- set(
- css: '.content.active .modal [name=time_unit]',
- value: '4 ',
- )
- click(
- css: '.content.active .modal .js-submit',
- )
- modal_disappear
- watch_for(
- css: '.content.active .js-timeUnit',
- value: '8.6',
- )
- # disable time accounting
- click(
- css: 'a[href="#manage"]',
- )
- click(
- css: '.content.active a[href="#manage/time_accounting"]',
- )
- switch(
- css: '.content.active .js-timeAccountingSetting',
- type: 'off',
- )
- # make sure "off" AJAX request gets completed
- # otherwise following tests might fail because
- # off still active timeaccounting
- logout
- end
- def test_closing_time_accounting_modal_by_clicking_background
- @browser = browser_instance
- login(
- username: 'admin@example.com',
- password: 'test',
- url: browser_url,
- )
- tasks_close_all
- # enable time accounting
- click(
- css: 'a[href="#manage"]',
- )
- click(
- css: '.content.active a[href="#manage/time_accounting"]',
- )
- switch(
- css: '.content.active .js-timeAccountingSetting',
- type: 'on',
- )
- ticket_create(
- data: {
- customer: 'nico',
- group: 'Users',
- title: 'some subject - time accounting#3',
- body: 'some body - time accounting#3',
- },
- )
- ticket_update(
- data: {
- body: 'some note',
- },
- do_not_submit: true,
- )
- click(
- css: '.active .js-submit',
- )
- modal_ready
- # Click outside the modal to make it disappear
- execute(
- js: 'document.elementFromPoint(300, 100).click();',
- )
- modal_disappear
- click(
- css: '.active .js-submit',
- )
- modal_ready
- set(
- css: '.content.active .modal [name=time_unit]',
- value: '4',
- )
- click(
- css: '.content.active .modal .js-submit',
- )
- modal_disappear
- # disable time accounting
- click(
- css: 'a[href="#manage"]',
- )
- click(
- css: '.content.active a[href="#manage/time_accounting"]',
- )
- switch(
- css: '.content.active .js-timeAccountingSetting',
- type: 'off',
- )
- # make sure "off" AJAX request gets completed
- # otherwise following tests might fail because
- # off still active timeaccounting
- logout
- end
- end
|