From f91bf9d304c720a7d1f5d08bbc8e56a264355f72 Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Thu, 1 Jan 2015 00:38:56 +0100 Subject: [PATCH] Fixed "empty" global search box on "x". --- .../app/controllers/navigation.js.coffee | 3 +- ...user_organization_autocompletion.js.coffee | 1 + .../agent_ticket_actions_level2_test.rb | 19 ++-------- .../agent_ticket_actions_level3_test.rb | 23 ++---------- test/browser_test_helper.rb | 36 +++++++++++++++---- 5 files changed, 35 insertions(+), 47 deletions(-) diff --git a/app/assets/javascripts/app/controllers/navigation.js.coffee b/app/assets/javascripts/app/controllers/navigation.js.coffee index 7f41dfe2e..df5f661a0 100644 --- a/app/assets/javascripts/app/controllers/navigation.js.coffee +++ b/app/assets/javascripts/app/controllers/navigation.js.coffee @@ -200,10 +200,9 @@ class App.Navigation extends App.Controller # remove search result @$('#global-search').bind( 'focusout', (e) => - @$('.search').removeClass('focused') - @delay( => + @$('.search').removeClass('focused') @renderResult() 320 ) diff --git a/app/assets/javascripts/app/lib/app_post/user_organization_autocompletion.js.coffee b/app/assets/javascripts/app/lib/app_post/user_organization_autocompletion.js.coffee index 82b4af66e..2a2f0fcc5 100644 --- a/app/assets/javascripts/app/lib/app_post/user_organization_autocompletion.js.coffee +++ b/app/assets/javascripts/app/lib/app_post/user_organization_autocompletion.js.coffee @@ -21,6 +21,7 @@ class App.UserOrganizationAutocompletion extends App.Controller @el open: => + @clearDelay('close') @el.addClass('open') @catcher = new App.clickCatcher holder: @el.offsetParent() diff --git a/test/browser/agent_ticket_actions_level2_test.rb b/test/browser/agent_ticket_actions_level2_test.rb index 54a245c17..ace87ea02 100644 --- a/test/browser/agent_ticket_actions_level2_test.rb +++ b/test/browser/agent_ticket_actions_level2_test.rb @@ -55,23 +55,8 @@ class AgentTicketActionsLevel2Test < TestCase # open ticket in second browser { :where => :instance2, - :execute => 'set', - :css => '#global-search', - :value => '###stack###', - }, - { - :execute => 'wait', - :value => 3, - }, - { - :where => :instance2, - :execute => 'click', - :link => '###stack###', -# :css => 'a:contains(\'###stack###\')', - }, - { - :execute => 'wait', - :value => 3, + :execute => 'search_ticket', + :number => '###stack###', }, { :where => :instance2, diff --git a/test/browser/agent_ticket_actions_level3_test.rb b/test/browser/agent_ticket_actions_level3_test.rb index 0b36036a6..481def050 100644 --- a/test/browser/agent_ticket_actions_level3_test.rb +++ b/test/browser/agent_ticket_actions_level3_test.rb @@ -53,29 +53,10 @@ class AgentTicketActionsLevel3Test < TestCase }, # open ticket in second browser - { - :execute => 'wait', - :value => 1, - }, { :where => :instance2, - :execute => 'set', - :css => '#global-search', - :value => '###stack###', - }, - { - :execute => 'wait', - :value => 3, - }, - { - :where => :instance2, - :execute => 'click', - :link => '###stack###', -# :css => 'a:contains(\'###stack###\')', - }, - { - :execute => 'wait', - :value => 3, + :execute => 'search_ticket', + :number => '###stack###', }, { :where => :instance2, diff --git a/test/browser_test_helper.rb b/test/browser_test_helper.rb index 7d3438c25..271a741f9 100644 --- a/test/browser_test_helper.rb +++ b/test/browser_test_helper.rb @@ -262,7 +262,7 @@ class TestCase < Test::Unit::TestCase (1..loops).each { |loop| element = instance.find_elements( { :css => action[:area] } )[0] if element #&& element.displayed? - text = instance.find_elements( { :css => action[:area] } )[0].text + text = element.text if text =~ /#{action[:value]}/i assert( true, "(#{test[:name]}) '#{action[:value]}' found in '#{text}'" ) return @@ -412,13 +412,7 @@ class TestCase < Test::Unit::TestCase element = instance.find_elements( { :css => '.active .newTicket input[name="customer_id_completion"]' } )[0] element.click element.clear - - # in certan cases focus is not set, do it this way - #instance.execute_script( '$(".content.active .newTicket input[name=customer_id_completion]").focus()' ) - element.send_keys( :tab ) - element.click element.send_keys( 'nico*' ) - sleep 0.5 sleep 4 element.send_keys( :arrow_down ) sleep 0.1 @@ -443,6 +437,34 @@ class TestCase < Test::Unit::TestCase } assert( false, "(#{test[:name]}) ticket creation failed, can't get zoom url" ) return + elsif action[:execute] == 'search_ticket' + element = instance.find_elements( { :css => '#global-search' } )[0] + element.click + element.clear + action[:number].gsub! '###stack###', @stack + element.send_keys( action[:number] ) + sleep 3 + instance.find_elements( { :css => '.search .empty-search' } )[0].click + sleep 0.5 + text = instance.find_elements( { :css => '#global-search' } )[0].attribute('value') + if !text + assert( false, "(#{test[:name]}) #global-search is not empty!" ) + return + end + element = instance.find_elements( { :css => '#global-search' } )[0] + element.click + element.clear + action[:number].gsub! '###stack###', @stack + element.send_keys( action[:number] ) + sleep 3 + element = instance.find_element( { :partial_link_text => action[:number] } ).click + number = instance.find_elements( { :css => '.active .page-header .ticket-number' } )[0].text + if number !~ /#{action[:number]}/ + assert( false, "(#{test[:name]}) unable to search/find ticket #{action[:number]}!" ) + return + end + assert( true, "(#{test[:name]}) ticket #{action[:number]} found" ) + return elsif action[:execute] == 'close_all_tasks' for i in 1..100 sleep 1