123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- require 'browser_test_helper'
- class AgentTicketTimeAccountingTest < TestCase
- def test_macro
- @browser = browser_instance
- login(
- username: 'master@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',
- )
- ticket1 = 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',
- )
- ticket2 = 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: 'master@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',
- )
- ticket1 = 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
|