diff --git a/test/browser/agent_ticket_actions_level2_test.rb b/test/browser/agent_ticket_actions_level2_test.rb
index ace87ea02..2d6ef51e0 100644
--- a/test/browser/agent_ticket_actions_level2_test.rb
+++ b/test/browser/agent_ticket_actions_level2_test.rb
@@ -3,245 +3,228 @@ require 'browser_test_helper'
class AgentTicketActionsLevel2Test < TestCase
def test_work_with_two_browser_on_same_ticket
+
+ # work on one ticket with two browsers
message = 'message 1äöüß ' + rand(99999999999999999).to_s
- tests = [
- {
- :name => 'start',
- :instance1 => browser_instance,
- :instance2 => browser_instance,
- :instance1_username => 'master@example.com',
- :instance1_password => 'test',
- :instance2_username => 'agent1@example.com',
- :instance2_password => 'test',
- :url => browser_url,
- :action => [
- {
- :where => :instance1,
- :execute => 'close_all_tasks',
- },
- {
- :where => :instance2,
- :execute => 'close_all_tasks',
- },
- # create ticket
- {
- :where => :instance1,
- :execute => 'create_ticket',
- :group => 'Users',
- :subject => 'some level 2 subject 123äöü',
- :body => 'some level 2 body 123äöü',
- },
+ browser1 = browser_instance
+ login(
+ :browser => browser1,
+ :username => 'master@example.com',
+ :password => 'test',
+ :url => browser_url,
+ )
+ tasks_close_all( :browser => browser1 )
- # check ticket
- {
- :where => :instance1,
- :execute => 'match',
- :css => '.active div.ticket-article',
- :value => 'some level 2 body 123äöü',
- :match_result => true,
- },
+ browser2 = browser_instance
+ login(
+ :browser => browser2,
+ :username => 'agent1@example.com',
+ :password => 'test',
+ :url => browser_url,
+ )
+ tasks_close_all( :browser => browser2 )
- # remember old ticket where we want to merge to
- {
- :where => :instance1,
- :execute => 'match',
- :css => '.active .page-header .ticket-number',
- :value => '^(.*)$',
- :no_quote => true,
- :match_result => true,
- },
+ # create ticket
+ ticket1 = ticket_create(
+ :browser => browser1,
+ :data => {
+ :group => 'Users',
+ :customer => 'nicole',
+ :title => 'some level 2 subject 123äöü',
+ :body => 'some level 2 body 123äöü',
+ }
+ )
- # open ticket in second browser
- {
- :where => :instance2,
- :execute => 'search_ticket',
- :number => '###stack###',
- },
- {
- :where => :instance2,
- :execute => 'match',
- :css => '.active div.ticket-article',
- :value => 'some level 2 body 123äöü',
- :match_result => true,
- },
+ # open ticket in second browser
+ ticket_open_by_search(
+ :browser => browser2,
+ :number => ticket1[:number],
+ )
+ watch_for(
+ :browser => browser2,
+ :css => '.active div.ticket-article',
+ :value => 'some level 2 body 123äöü',
+ )
- # change title in second browser
- {
- :where => :instance2,
- :execute => 'set_ticket_attributes',
- :title => 'TTTsome level 2 subject 123äöü',
- },
-
- # set body in edit area
- {
- :where => :instance2,
- :execute => 'set_ticket_attributes',
- :body => 'some level 2 body in instance 2',
- },
- {
- :where => :instance1,
- :execute => 'set_ticket_attributes',
- :body => 'some level 2 body in instance 1',
- },
-
- # change task and page title in second browser
- {
- :where => :instance2,
- :execute => 'verify_task_attributes',
- :title => 'TTTsome level 2 subject 123äöü',
- },
- {
- :where => :instance2,
- :element => :title,
- :value => 'TTTsome level 2 subject 123äöü',
- },
-
- # change task and page title in first browser
- {
- :execute => 'wait',
- :value => 10,
- },
- {
- :where => :instance1,
- :execute => 'verify_ticket_attributes',
- :title => 'TTTsome level 2 subject 123äöü',
- },
- {
- :where => :instance2,
- :execute => 'verify_task_attributes',
- :title => 'TTTsome level 2 subject 123äöü',
- },
- {
- :where => :instance1,
- :element => :title,
- :value => 'TTTsome level 2 subject 123äöü',
- },
- {
- :where => :instance2,
- :element => :title,
- :value => 'TTTsome level 2 subject 123äöü',
- },
-
- # verify text in input body
- {
- :where => :instance1,
- :execute => 'verify_ticket_attributes',
- :body => 'some level 2 body in instance 1',
- },
- {
- :where => :instance2,
- :execute => 'verify_ticket_attributes',
- :body => 'some level 2 body in instance 2',
- },
-
- # add new article
- #{
- # :where => :instance1,
- # :execute => 'select',
- # :css => '.active .ticket-edit select[name="type_id"]',
- # :value => 'note',
- #},
- {
- :where => :instance1,
- :execute => 'set_ticket_attributes',
- :body => 'some update 4711',
- },
- {
- :where => :instance1,
- :execute => 'click',
- :css => '.content.active button.js-submit',
- },
- {
- :where => :instance1,
- :execute => 'watch_for',
- :area => '.active div.ticket-article',
- :value => 'some update 4711',
- },
-
- # verify empty text in input body
- {
- :where => :instance1,
- :execute => 'verify_ticket_attributes',
- :body => '',
- },
- {
- :where => :instance2,
- :execute => 'verify_ticket_attributes',
- :body => 'some level 2 body in instance 2',
- },
- {
- :execute => 'wait',
- :value => 4,
- },
-
- # reload instances, verify again
- {
- :where => :instance1,
- :execute => 'reload',
- },
- {
- :where => :instance2,
- :execute => 'reload',
- },
-
- # wait till application become ready
- {
- :execute => 'wait',
- :value => 8,
- },
- {
- :where => :instance1,
- :execute => 'verify_ticket_attributes',
- :title => 'TTTsome level 2 subject 123äöü',
- },
- {
- :where => :instance2,
- :execute => 'verify_task_attributes',
- :title => 'TTTsome level 2 subject 123äöü',
- },
- {
- :where => :instance1,
- :element => :title,
- :value => 'TTTsome level 2 subject 123äöü',
- },
- {
- :where => :instance2,
- :element => :title,
- :value => 'TTTsome level 2 subject 123äöü',
- },
-
- # verify update
- {
- :where => :instance1,
- :execute => 'match',
- :css => 'body',
- :value => 'some update 4711',
- :match_result => true,
- },
- {
- :where => :instance2,
- :execute => 'match',
- :css => 'body',
- :value => 'some update 4711',
- :match_result => true,
- },
-
- # verify empty text in input body
- {
- :where => :instance1,
- :execute => 'verify_ticket_attributes',
- :body => '',
- },
- {
- :where => :instance2,
- :execute => 'verify_ticket_attributes',
- :body => 'some level 2 body in instance 2',
- },
-
- ],
+ # set body in edit area in second
+ ticket_update(
+ :browser => browser2,
+ :data => {
+ :body => 'some level 2 body in instance 2',
},
- ]
- browser_double_test(tests)
+ :do_not_submit => true,
+ )
+
+ # set body in edit area in first
+ ticket_update(
+ :browser => browser1,
+ :data => {
+ :body => 'some level 2 body in instance 1',
+ },
+ :do_not_submit => true,
+ )
+
+ # change title in second browser
+ ticket_update(
+ :browser => browser2,
+ :data => {
+ :title => 'TTTsome level 2 subject 123äöü',
+ },
+ :do_not_submit => true,
+ )
+ sleep 2
+
+ # verify title in second and first browser
+ verify_title(
+ :browser => browser2,
+ :value => 'TTTsome level 2 subject<\/b> 123äöü',
+ )
+ ticket_verify(
+ :browser => browser2,
+ :data => {
+ :title => 'TTTsome level 2 subject<\/b> 123äöü',
+ },
+ )
+ verify_task(
+ :browser => browser2,
+ :data => {
+ :title => 'TTTsome level 2 subject<\/b> 123äöü',
+ }
+ )
+
+ sleep 4
+ verify_title(
+ :browser => browser1,
+ :value => 'TTTsome level 2 subject<\/b> 123äöü',
+ )
+ ticket_verify(
+ :browser => browser1,
+ :data => {
+ :title => 'TTTsome level 2 subject<\/b> 123äöü',
+ },
+ )
+ verify_task(
+ :browser => browser1,
+ :data => {
+ :title => 'TTTsome level 2 subject<\/b> 123äöü',
+ }
+ )
+
+ # verify text in input body, if still exists
+ ticket_verify(
+ :browser => browser1,
+ :data => {
+ :body => 'some level 2 body in instance 1',
+ },
+ )
+ ticket_verify(
+ :browser => browser2,
+ :data => {
+ :body => 'some level 2 body in instance 2',
+ },
+ )
+
+ # set body in edit area in second
+ ticket_update(
+ :browser => browser1,
+ :data => {
+ :body => 'some update 4711',
+ },
+ )
+ watch_for(
+ :browser => browser1,
+ :css => '.active div.ticket-article',
+ :value => 'some update 4711',
+ )
+
+ # verify if text in input body is now empty
+ ticket_verify(
+ :browser => browser1,
+ :data => {
+ :body => '',
+ },
+ )
+
+ # check if body is still in second browser
+ ticket_verify(
+ :browser => browser2,
+ :data => {
+ :body => 'some level 2 body in instance 2',
+ },
+ )
+
+ # reload instances, verify again
+ reload(
+ :browser => browser1,
+ )
+ reload(
+ :browser => browser2,
+ )
+
+ # wait till application become ready
+ sleep 8
+ verify_title(
+ :browser => browser2,
+ :value => 'TTTsome level 2 subject<\/b> 123äöü',
+ )
+ ticket_verify(
+ :browser => browser2,
+ :data => {
+ :title => 'TTTsome level 2 subject<\/b> 123äöü',
+ },
+ )
+ verify_task(
+ :browser => browser2,
+ :data => {
+ :title => 'TTTsome level 2 subject<\/b> 123äöü',
+ }
+ )
+
+ verify_title(
+ :browser => browser1,
+ :value => 'TTTsome level 2 subject<\/b> 123äöü',
+ )
+ ticket_verify(
+ :browser => browser1,
+ :data => {
+ :title => 'TTTsome level 2 subject<\/b> 123äöü',
+ },
+ )
+ verify_task(
+ :browser => browser1,
+ :data => {
+ :title => 'TTTsome level 2 subject<\/b> 123äöü',
+ }
+ )
+
+ # verify if update is on ticket in each browser
+ watch_for(
+ :browser => browser1,
+ :css => '.active div.ticket-article',
+ :value => 'some update 4711',
+ )
+ watch_for(
+ :browser => browser2,
+ :css => '.active div.ticket-article',
+ :value => 'some update 4711',
+ )
+
+
+ # verify if text in input body is now empty
+ ticket_verify(
+ :browser => browser1,
+ :data => {
+ :body => '',
+ },
+ )
+
+ # check if body is still in second browser
+ ticket_verify(
+ :browser => browser2,
+ :data => {
+ :body => 'some level 2 body in instance 2',
+ },
+ )
end
-end
+end
\ No newline at end of file
diff --git a/test/browser/agent_ticket_actions_level3_test.rb b/test/browser/agent_ticket_actions_level3_test.rb
index 481def050..1f9e36359 100644
--- a/test/browser/agent_ticket_actions_level3_test.rb
+++ b/test/browser/agent_ticket_actions_level3_test.rb
@@ -3,305 +3,238 @@ require 'browser_test_helper'
class AgentTicketActionsLevel3Test < TestCase
def test_work_with_two_browser_on_same_ticket_edit
- message = 'message 3 äöüß ' + rand(99999999999999999).to_s
- tests = [
- {
- :name => 'start',
- :instance1 => browser_instance,
- :instance2 => browser_instance,
- :instance1_username => 'master@example.com',
- :instance1_password => 'test',
- :instance2_username => 'agent1@example.com',
- :instance2_password => 'test',
- :url => browser_url,
- :action => [
- {
- :where => :instance1,
- :execute => 'close_all_tasks',
- },
- {
- :where => :instance2,
- :execute => 'close_all_tasks',
- },
- # create ticket
- {
- :where => :instance1,
- :execute => 'create_ticket',
- :group => 'Users',
- :subject => 'some level 3 subject 123äöü',
- :body => 'some level 3 body 123äöü',
- },
+ browser1 = browser_instance
+ login(
+ :browser => browser1,
+ :username => 'master@example.com',
+ :password => 'test',
+ :url => browser_url,
+ )
+ tasks_close_all( :browser => browser1 )
- # check ticket
- {
- :where => :instance1,
- :execute => 'match',
- :css => '.active div.ticket-article',
- :value => 'some level 3 body 123äöü',
- :match_result => true,
- },
+ browser2 = browser_instance
+ login(
+ :browser => browser2,
+ :username => 'agent1@example.com',
+ :password => 'test',
+ :url => browser_url,
+ )
+ tasks_close_all( :browser => browser2 )
- # remember old ticket where we want to merge to
- {
- :where => :instance1,
- :execute => 'match',
- :css => '.active .page-header .ticket-number',
- :value => '^(.*)$',
- :no_quote => true,
- :match_result => true,
- },
+ # create ticket
+ ticket1 = ticket_create(
+ :browser => browser1,
+ :data => {
+ :group => 'Users',
+ :customer => 'nicole',
+ :title => 'some level 3 subject 123äöü',
+ :body => 'some level 3 body 123äöü',
+ }
+ )
- # open ticket in second browser
- {
- :where => :instance2,
- :execute => 'search_ticket',
- :number => '###stack###',
- },
- {
- :where => :instance2,
- :execute => 'match',
- :css => '.active div.ticket-article',
- :value => 'some level 3 body 123äöü',
- :match_result => true,
- },
+ # open ticket in second browser
+ ticket_open_by_search(
+ :browser => browser2,
+ :number => ticket1[:number],
+ )
+ watch_for(
+ :browser => browser2,
+ :css => '.active div.ticket-article',
+ :value => 'some level 3 body 123äöü',
+ )
- # change edit screen in instance 1
- {
- :where => :instance1,
- :execute => 'set_ticket_attributes',
- :body => 'some level 3 body in instance 1',
- },
- {
- :execute => 'wait',
- :value => 3,
- },
-
- # update ticket in instance 2
- {
- :where => :instance2,
- :execute => 'set_ticket_attributes',
- :body => 'some level 3 body in instance 2',
- },
- {
- :execute => 'wait',
- :value => 6,
- },
- {
- :where => :instance2,
- :execute => 'match',
- :css => '.content.active .js-reset',
- :value => '(Discard your unsaved changes.|Verwerfen der)',
- :no_quote => true,
- :match_result => true,
- },
- {
- :where => :instance2,
- :execute => 'click',
- :css => '.active button.js-submit',
- },
- {
- :execute => 'wait',
- :value => 12,
- },
- {
- :where => :instance2,
- :execute => 'match',
- :css => '.content.active .js-reset',
- :value => '(Discard your unsaved changes.|Verwerfen der)',
- :no_quote => true,
- :match_result => false,
- },
-
- # check content and edit screen in instance 1
- {
- :where => :instance1,
- :execute => 'match',
- :css => '.active div.ticket-article',
- :value => 'some level 3 body in instance 2',
- :match_result => true,
- },
- {
- :where => :instance1,
- :execute => 'verify_ticket_attributes',
- :body => 'some level 3 body in instance 1',
- },
- {
- :where => :instance1,
- :execute => 'match',
- :css => '.content.active .js-reset',
- :value => '(Discard your unsaved changes.|Verwerfen der)',
- :no_quote => true,
- :match_result => true,
- },
-
- # check edit screen in instance 2
- {
- :execute => 'wait',
- :value => 1,
- },
- {
- :where => :instance2,
- :execute => 'verify_ticket_attributes',
- :bdoy => '',
- },
-
- # update ticket in instance 1
- {
- :where => :instance1,
- :execute => 'click',
- :css => '.active button.js-submit',
- },
- {
- :execute => 'wait',
- :value => 16,
- },
-
- # check content in instance 2
- {
- :where => :instance2,
- :execute => 'match',
- :css => '.active div.ticket-article',
- :value => 'some level 3 body in instance 1',
- :match_result => true,
- },
- {
- :where => :instance2,
- :execute => 'match',
- :css => '.active div.ticket-article',
- :value => 'some level 3 body in instance 2',
- :match_result => true,
- },
-
- # check content and edit screen in instance 1+2
- {
- :where => :instance1,
- :execute => 'verify_ticket_attributes',
- :body => '',
- },
- {
- :where => :instance1,
- :execute => 'match',
- :css => '.content.active .js-reset',
- :value => '(Discard your unsaved changes.|Verwerfen der)',
- :no_quote => true,
- :match_result => false,
- },
- {
- :where => :instance2,
- :execute => 'verify_ticket_attributes',
- :body => '',
- },
- {
- :where => :instance2,
- :execute => 'match',
- :css => '.content.active .js-reset',
- :value => '(Discard your unsaved changes.|Verwerfen der)',
- :no_quote => true,
- :match_result => false,
- },
-
- # reload instances, verify again
- {
- :where => :instance1,
- :execute => 'reload',
- },
- {
- :where => :instance2,
- :execute => 'reload',
- },
-
- # check content and edit screen in instance 1+2
- {
- :where => :instance1,
- :execute => 'verify_ticket_attributes',
- :body => '',
- },
- {
- :where => :instance1,
- :execute => 'match',
- :css => '.content.active .js-reset',
- :value => '(Discard your unsaved changes.|Verwerfen der)',
- :no_quote => true,
- :match_result => false,
- },
- {
- :where => :instance2,
- :execute => 'verify_ticket_attributes',
- :body => '',
- },
- {
- :where => :instance2,
- :execute => 'match',
- :css => '.content.active .js-reset',
- :value => '(Discard your unsaved changes.|Verwerfen der)',
- :no_quote => true,
- :match_result => false,
- },
-
- # change form of ticket in instance 2
- {
- :where => :instance2,
- :execute => 'set_ticket_attributes',
- :body => '22 some level 3 body in instance 2',
- },
- {
- :execute => 'wait',
- :value => 4,
- },
- {
- :where => :instance2,
- :execute => 'match',
- :css => '.content.active .js-reset',
- :value => '(Discard your unsaved changes.|Verwerfen der)',
- :no_quote => true,
- :match_result => true,
- },
- {
- :where => :instance2,
- :execute => 'reload',
- },
- {
- :where => :instance2,
- :execute => 'verify_ticket_attributes',
- :body => '22 some level 3 body in instance 2',
- },
- {
- :where => :instance2,
- :execute => 'match',
- :css => '.content.active .js-reset',
- :value => '(Discard your unsaved changes.|Verwerfen der)',
- :no_quote => true,
- :match_result => true,
- },
- {
- :where => :instance2,
- :execute => 'click',
- :css => '.active button.js-submit',
- },
- {
- :execute => 'wait',
- :value => 8,
- },
- {
- :where => :instance2,
- :execute => 'match',
- :css => '.content_permanent.active',
- :css => '.content.active .js-reset',
- :value => '(Discard your unsaved changes.|Verwerfen der)',
- :no_quote => true,
- :match_result => false,
- },
- {
- :where => :instance2,
- :execute => 'match',
- :css => '.active div.ticket-article',
- :value => '22 some level 3 body in instance 2',
- :match_result => true,
- },
- ],
+ # change edit screen in instance 1
+ ticket_update(
+ :browser => browser1,
+ :data => {
+ :body => 'some level 3 body in instance 1',
},
- ]
- browser_double_test(tests)
+ :do_not_submit => true,
+ )
+
+ # update ticket in instance 2
+ ticket_update(
+ :browser => browser2,
+ :data => {
+ :body => 'some level 3 body in instance 2',
+ },
+ :do_not_submit => true,
+ )
+
+ click(
+ :browser => browser2,
+ :css => '.active button.js-submit',
+ )
+
+ # discard changes should gone away
+ watch_for_disappear(
+ :browser => browser2,
+ :css => '.content.active .js-reset',
+ :value => '(Discard your unsaved changes.|Verwerfen der)',
+ :no_quote => true,
+ )
+ ticket_verify(
+ :browser => browser2,
+ :data => {
+ :body => '',
+ },
+ )
+
+ # check content and edit screen in instance 1
+ match(
+ :browser => browser2,
+ :css => '.active div.ticket-article',
+ :value => 'some level 3 body in instance 2',
+ )
+
+ ticket_verify(
+ :browser => browser1,
+ :data => {
+ :body => 'some level 3 body in instance 1',
+ },
+ )
+
+ # update ticket in instance 1
+ click(
+ :browser => browser1,
+ :css => '.active button.js-submit',
+ )
+
+ watch_for(
+ :browser => browser1,
+ :css => '.active div.ticket-article',
+ :value => 'some level 3 body in instance 2',
+ )
+
+ match_not(
+ :browser => browser1,
+ :css => '.content.active .js-reset',
+ :value => '(Discard your unsaved changes.|Verwerfen der)',
+ :no_quote => true,
+ )
+
+ # check content in instance 2
+ watch_for(
+ :browser => browser2,
+ :css => '.active div.ticket-article',
+ :value => 'some level 3 body in instance 1',
+ )
+
+ # check content and edit screen in instance 1+2
+ ticket_verify(
+ :browser => browser1,
+ :data => {
+ :body => '',
+ },
+ )
+ match_not(
+ :browser => browser1,
+ :css => '.content.active .js-reset',
+ :value => '(Discard your unsaved changes.|Verwerfen der)',
+ :no_quote => true,
+ )
+
+ ticket_verify(
+ :browser => browser2,
+ :data => {
+ :body => '',
+ },
+ )
+ match_not(
+ :browser => browser2,
+ :css => '.content.active .js-reset',
+ :value => '(Discard your unsaved changes.|Verwerfen der)',
+ :no_quote => true,
+ )
+
+
+ # reload instances, verify again
+ reload(
+ :browser => browser1,
+ )
+ reload(
+ :browser => browser2,
+ )
+
+ # check content and edit screen in instance 1+2
+ ticket_verify(
+ :browser => browser1,
+ :data => {
+ :body => '',
+ },
+ )
+ match_not(
+ :browser => browser1,
+ :css => '.content.active .js-reset',
+ :value => '(Discard your unsaved changes.|Verwerfen der)',
+ :no_quote => true,
+ )
+
+ ticket_verify(
+ :browser => browser2,
+ :data => {
+ :body => '',
+ },
+ )
+ match_not(
+ :browser => browser2,
+ :css => '.content.active .js-reset',
+ :value => '(Discard your unsaved changes.|Verwerfen der)',
+ :no_quote => true,
+ )
+
+
+ # change form of ticket in instance 2
+ ticket_update(
+ :browser => browser2,
+ :data => {
+ :body => '22 some level 3 body in instance 2',
+ },
+ :do_not_submit => true,
+ )
+
+ watch_for(
+ :browser => browser2,
+ :css => '.content.active .js-reset',
+ :value => '(Discard your unsaved changes.|Verwerfen der)',
+ :no_quote => true,
+ )
+ sleep 2
+
+ reload(
+ :browser => browser2,
+ )
+ ticket_verify(
+ :browser => browser2,
+ :data => {
+ :body => '22 some level 3 body in instance 2',
+ },
+ )
+ watch_for(
+ :browser => browser2,
+ :css => '.content.active .js-reset',
+ :value => '(Discard your unsaved changes.|Verwerfen der)',
+ :no_quote => true,
+ )
+
+ click(
+ :browser => browser2,
+ :css => '.active button.js-submit',
+ )
+
+ # discard changes should gone away
+ watch_for_disappear(
+ :browser => browser2,
+ :css => '.content.active .js-reset',
+ :value => '(Discard your unsaved changes.|Verwerfen der)',
+ :no_quote => true,
+ )
+
+ watch_for(
+ :browser => browser2,
+ :css => '.active div.ticket-article',
+ :value => '22 some level 3 body in instance 2',
+ )
end
-end
+end
\ No newline at end of file
diff --git a/test/browser_test_helper.rb b/test/browser_test_helper.rb
index fddd8e848..f1366a258 100644
--- a/test/browser_test_helper.rb
+++ b/test/browser_test_helper.rb
@@ -522,6 +522,52 @@ class TestCase < Test::Unit::TestCase
raise "not matching name '#{params[:name]}' in cookie '#{cookies.to_s}'"
end
+=begin
+
+ verify_title(
+ :browser => browser1,
+ :value => 'some title',
+ )
+
+=end
+
+ def verify_title(params = {})
+ instance = params[:browser] || @browser
+
+ title = instance.title
+ if title =~ /#{params[:value]}/i
+ assert( true, "matching '#{params[:value]}' in title '#{title}'" )
+ else
+ raise "not matching '#{params[:value]}' in title '#{title}'"
+ end
+ end
+
+=begin
+
+ verify_task(
+ :browser => browser1,
+ :data => {
+ :title => 'some title',
+ }
+ )
+
+=end
+
+ def verify_task(params = {})
+ instance = params[:browser] || @browser
+ data = params[:data]
+
+ if data[:title]
+ title = instance.find_elements( { :css => '.tasks .active' } )[0].text.strip
+ if title =~ /#{data[:title]}/i
+ assert( true, "matching '#{data[:title]}' in title '#{title}'" )
+ else
+ raise "not matching '#{data[:title]}' in title '#{title}'"
+ end
+ end
+ true
+ end
+
=begin
file_upload(
@@ -596,12 +642,24 @@ class TestCase < Test::Unit::TestCase
=begin
+wait untill selector disabppears
+
watch_for_disappear(
:browser => browser1,
:css => '#content .text-1',
:timeout => '16', # in sec, default 16
)
+wait untill text in selector disabppears
+
+ watch_for_disappear(
+ :browser => browser1,
+ :css => '#content .text-1',
+ :value => 'some value as regexp',
+ :timeout => '16', # in sec, default 16
+ )
+
+
=end
def watch_for_disappear(params = {})
@@ -620,6 +678,18 @@ class TestCase < Test::Unit::TestCase
sleep 1
return true
end
+ if params[:value]
+ begin
+ text = instance.find_elements( { :css => params[:css] } )[0].text
+ if text !~ /#{params[:value]}/i
+ assert( true, "not matching '#{params[:value]}' in text '#{text}'" )
+ sleep 1
+ return true
+ end
+ rescue
+ # just try again
+ end
+ end
sleep 1
}
raise "#{params[:css]}) still exsists"
@@ -818,12 +888,13 @@ class TestCase < Test::Unit::TestCase
sleep 0.3
end
-
- #file_upload(
- # :browser => instance,
- # :css => '#content .text-1',
- # :value => 'some text',
- #)
+ if data[:attachment]
+ file_upload(
+ :browser => instance,
+ :css => '#content .text-1',
+ :value => 'some text',
+ )
+ end
if params[:do_not_submit]
assert( true, "ticket created without submit" )
@@ -949,7 +1020,7 @@ class TestCase < Test::Unit::TestCase
end
if params[:do_not_submit]
- assert( true, "(#{test[:name]}) ticket updated without submit" )
+ assert( true, "ticket updated without submit" )
return true
end
@@ -969,6 +1040,44 @@ class TestCase < Test::Unit::TestCase
raise "unable to update ticket"
end
+=begin
+
+ ticket_verify(
+ :browser => browser1,
+ :data => {
+ :title => 'some title',
+ :body => 'some body',
+## :group => 'some group',
+## :state => 'closed',
+ },
+ )
+
+=end
+
+ def ticket_verify(params)
+ instance = params[:browser] || @browser
+ data = params[:data]
+
+ if data[:title]
+ title = instance.find_elements( { :css => '.content.active .page-header .ticket-title-update' } )[0].text.strip
+ if title =~ /#{data[:title]}/i
+ assert( true, "matching '#{data[:title]}' in title '#{title}'" )
+ else
+ raise "not matching '#{data[:title]}' in title '#{title}'"
+ end
+ end
+
+ if data[:body]
+ body = instance.find_elements( { :css => '.content.active [data-name="body"]' } )[0].text.strip
+ if body =~ /#{data[:body]}/i
+ assert( true, "matching '#{data[:body]}' in body '#{body}'" )
+ else
+ raise "not matching '#{data[:body]}' in body '#{body}'"
+ end
+ end
+ true
+ end
+
=begin
ticket_open_by_overview(