flights_gui_tests 0.2.9 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/features/step_definitions/checkout/cash_payment_steps.rb +4 -4
  3. data/features/step_definitions/checkout/checkout_steps.rb +1 -1
  4. data/features/step_definitions/checkout/compra_duplicada_steps.rb +2 -2
  5. data/features/step_definitions/checkout/cupones_steps.rb +2 -2
  6. data/features/step_definitions/checkout/error_messages_steps.rb +9 -9
  7. data/features/step_definitions/checkout/fast_checkout_steps.rb +2 -2
  8. data/features/step_definitions/checkout/load_steps.rb +2 -2
  9. data/features/step_definitions/checkout/price_jump_steps.rb +2 -2
  10. data/features/step_definitions/checkout/upselling_steps.rb +5 -5
  11. data/features/step_definitions/checkout/verifications_steps.rb +6 -6
  12. data/features/step_definitions/desambiguation_steps.rb +8 -8
  13. data/features/step_definitions/flights_tracker/flights_tracker_steps.rb +2 -2
  14. data/features/step_definitions/landing/filters_steps.rb +1 -1
  15. data/features/step_definitions/landing/itineraries_steps.rb +4 -4
  16. data/features/step_definitions/landing/landing_steps.rb +8 -8
  17. data/features/step_definitions/landing/load_steps.rb +2 -2
  18. data/features/step_definitions/landing/long_tail_steps.rb +6 -6
  19. data/features/step_definitions/landing/negative_steps.rb +16 -16
  20. data/features/step_definitions/landing/new_landing_steps.rb +6 -6
  21. data/features/step_definitions/results/basefare_steps.rb +4 -4
  22. data/features/step_definitions/results/errors_steps.rb +1 -1
  23. data/features/step_definitions/results/filters_steps.rb +10 -10
  24. data/features/step_definitions/results/load_steps.rb +27 -49
  25. data/features/step_definitions/results/matrix_steps.rb +15 -15
  26. data/features/step_definitions/results/new_filters_steps.rb +9 -9
  27. data/features/step_definitions/results/order_steps.rb +5 -5
  28. data/features/step_definitions/results/pagination_steps.rb +2 -2
  29. data/features/step_definitions/results/recommendation_steps.rb +11 -11
  30. data/features/step_definitions/results/results_steps.rb +4 -4
  31. data/features/step_definitions/tags_steps.rb +17 -17
  32. data/features/step_definitions/thanks/load_steps.rb +2 -2
  33. data/features/step_definitions/thanks/thanks_steps.rb +4 -4
  34. data/features/support/env.rb +3 -0
  35. data/features/support/hooks.rb +1 -1
  36. data/features/support/modules/helpers.rb +7 -0
  37. data/features/support/pages/all_pages.rb +8 -0
  38. data/features/support/pages/results/search_page.rb +13 -0
  39. data/features/tests/checkout/book_ok.feature +6 -2
  40. data/features/tests/checkout/cac.feature +6 -2
  41. data/features/tests/checkout/cash_payment.feature +3 -1
  42. data/features/tests/checkout/checkout_gui_last_minute.feature +60 -0
  43. data/features/tests/checkout/compatibility.feature +3 -1
  44. data/features/tests/checkout/compras_duplicadas.feature +6 -2
  45. data/features/tests/checkout/cupones.feature +3 -1
  46. data/features/tests/checkout/error_messages.feature +6 -2
  47. data/features/tests/checkout/fast_checkout.feature +6 -2
  48. data/features/tests/checkout/low_cost.feature +6 -4
  49. data/features/tests/checkout/online_payment.feature +3 -1
  50. data/features/tests/checkout/price_jump.feature +6 -2
  51. data/features/tests/checkout/providers.feature +7 -6
  52. data/features/tests/checkout/seguros.feature +5 -4
  53. data/features/tests/results/basefare.feature +3 -1
  54. data/features/tests/results/desambiguation/city.feature +3 -1
  55. data/features/tests/results/errors.feature +6 -4
  56. data/features/tests/results/filters.feature +4 -2
  57. data/features/tests/results/itineraries.feature +3 -1
  58. data/features/tests/results/matrix/matrix_airlines.feature +3 -1
  59. data/features/tests/results/matrix/matrix_fare_chart.feature +5 -3
  60. data/features/tests/results/matrix/matrix_price.feature +3 -1
  61. data/features/tests/results/new_filters.feature +14 -2
  62. data/features/tests/results/orders.feature +3 -1
  63. data/features/tests/results/pagination.feature +3 -1
  64. data/features/tests/results/recommendation.feature +9 -3
  65. data/features/tests/results/reviews_airlines.feature +3 -1
  66. data/features/tests/results/search.feature +3 -2
  67. data/features/tests/results/wish_list.feature +3 -1
  68. data/flights_gui_tests.gemspec +2 -1
  69. data/henry-context.yml +33 -4
  70. metadata +17 -3
  71. data/features/step_definitions/popup_navigator_steps.rb +0 -8
@@ -35,12 +35,12 @@ Entonces(/^espero que termine de cargar la pagina de landing$/) do
35
35
  sleep(5)
36
36
  end
37
37
 
38
- Y(/^verifico que traiga resultados de landing$/) do
38
+ Y(/^(?:verifico|valido) que traiga resultados de landing$/) do
39
39
  pending(@page.mensaje_sin_resultados) if @page.mensaje_sin_resultados_element.present?
40
40
  @page.simbolo_error_element.should_not visible
41
41
  end
42
42
 
43
- Y(/^verifico la pagina donde ingresa$/) do
43
+ Y(/^(?:verifico|valido) la pagina donde ingresa$/) do
44
44
  @page_results = Results::SearchPage.new($browser)
45
45
  @page_checkout = Checkout::CheckoutPage.new($browser)
46
46
  puts " URL: #{@page.url}"
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- Entonces(/^verifico las nuevas urls de vuelos a destino por aerolinea$/) do
2
+ Entonces(/^(?:verifico|valido) las nuevas urls de vuelos a destino por aerolinea$/) do
3
3
  doc = Hpricot.parse(@page.html)
4
4
  options = (doc/"div.ux-flights-filter-airlines")[0]
5
5
  options = (options/"li.item").select { |option| !(option / "input")[0].attributes['id'].match(/airlines-unique|airlines-all/) }
@@ -9,7 +9,7 @@ Entonces(/^verifico las nuevas urls de vuelos a destino por aerolinea$/) do
9
9
  @page.ir(@page.manage_data.generate_url_landing_airline(code,@arrival))
10
10
  end
11
11
 
12
- Entonces(/^verifico que aparezcan los links propuestos de vuelos a destino por aerolinea$/) do
12
+ Entonces(/^(?:verifico|valido) que aparezcan los links propuestos de vuelos a destino por aerolinea$/) do
13
13
  doc = Hpricot.parse(@page.html)
14
14
  if (doc/"div#seo-links div.category h4.category-title").inner_text.match(/Vuelos a destino por aerolinea|Passagens para destino com Cia A.{1,2}rea|Flights to destination on airline/)
15
15
  links = (doc/"div#seo-links ul.list li.item a").select{|a| a.attributes['href'].match(/#{@page.manage_data.host()}\/(vuelos|passagens-aereas|fligths)\/(aerolinea|companhiasaerea)\/(\D{3})\/(..)\/(vuelos|passagens-aereas)-(a|da)-(.+)-(por|para)-(.+)/)}
@@ -17,7 +17,7 @@ Entonces(/^verifico que aparezcan los links propuestos de vuelos a destino por a
17
17
  end
18
18
  end
19
19
 
20
- Y(/^verifico que aparezcan los links propuestos de vuelos a destino por aeropuerto de llegada$/) do
20
+ Y(/^(?:verifico|valido) que aparezcan los links propuestos de vuelos a destino por aeropuerto de llegada$/) do
21
21
  doc = Hpricot.parse(@page.html)
22
22
  if (doc/"div#seo-links div.category h4.category-title").inner_text.match(/Vuelos a aeropuertos|Passagens para o Aeroporto|Flights to airport/)
23
23
  links = (doc/"div#seo-links ul.list li.item a").select{|a| a.attributes['href'].match(/#{@page.manage_data.host()}\/(vuelos|passagens-aereas|fligths)\/(aeropuerto|aeroporto|airport)\/(\D{3})\/(voos-para-aeroporto|vuelos-a)(.+)/)}
@@ -25,7 +25,7 @@ Y(/^verifico que aparezcan los links propuestos de vuelos a destino por aeropuer
25
25
  end
26
26
  end
27
27
 
28
- Entonces(/^verifico las nuevas urls de vuelos a destino por aeropuerto de llegada$/) do
28
+ Entonces(/^(?:verifico|valido) las nuevas urls de vuelos a destino por aeropuerto de llegada$/) do
29
29
  doc = Hpricot.parse(@page.html)
30
30
  options = (doc/"div.ux-flights-filter-destinyairports li.item").select { |option| !(option / "input")[0].attributes['id'].match(/airport-inbound-all|airport-inbound-unique/)}
31
31
  @airport = options[rand(options.length)]
@@ -33,7 +33,7 @@ Entonces(/^verifico las nuevas urls de vuelos a destino por aeropuerto de llegad
33
33
  @page.ir(@page.manage_data.generate_url_landing_arrival_airport((@airport/"input").first.attributes['value']))
34
34
  end
35
35
 
36
- Cuando(/^verifico las nuevas urls de vuelos a destino por aeropuerto de salida$/) do
36
+ Cuando(/^(?:verifico|valido) las nuevas urls de vuelos a destino por aeropuerto de salida$/) do
37
37
  doc = Hpricot.parse(@page.html)
38
38
  options = (doc/"div.ux-flights-filter-originairports li.item").select { |option| !(option / "input")[0].attributes['id'].match(/airport-outbound-all|airport-outbound-unique/)}
39
39
  @airport = options[rand(options.length)]
@@ -41,7 +41,7 @@ Cuando(/^verifico las nuevas urls de vuelos a destino por aeropuerto de salida$/
41
41
  @page.ir(@page.manage_data.generate_url_landing_origin_airport((@airport/"input").first.attributes['value'],@arrival))
42
42
  end
43
43
 
44
- Entonces(/^verifico que aparezcan los links propuestos de vuelos a destino por aeropuerto de salida$/) do
44
+ Entonces(/^(?:verifico|valido) que aparezcan los links propuestos de vuelos a destino por aeropuerto de salida$/) do
45
45
  doc = Hpricot.parse(@page.html)
46
46
  if (doc/"div#seo-links div.category h4.category-title").inner_text.match(/Vuelos a destino desde aeropuerto origen|Passagens para destino saindo do Aeroporto de Origem|Flights to destination from departure airport/)
47
47
  links = (doc/"div#seo-links ul.list li.item a").select{|a| a.attributes['href'].match(/#{@page.manage_data.host()}\/(vuelos|passagens-aereas|fligths)\/(aeropuerto|aeroporto|airport)\/(\D{3})\/(\D{3})\/(passagens-aereas-para|vuelos-a|flights-to)-(.+)-(desde|from|saindo-de)-(.+)/)}
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- Entonces(/^verifico que el mensaje de error en el cluster sea correcto$/) do
2
+ Entonces(/^(?:verifico|valido) que el mensaje de error en el cluster sea correcto$/) do
3
3
  @page.cargar_itinerarios
4
4
  clusters=@page.datos_de_itinerarios
5
5
  clusters.each_with_index do |cluster,i|
@@ -10,56 +10,56 @@ Entonces(/^verifico que el mensaje de error en el cluster sea correcto$/) do
10
10
  end
11
11
  end
12
12
 
13
- Entonces(/^verifico que ciudades iguales de error$/) do
13
+ Entonces(/^(?:verifico|valido) que ciudades iguales de error$/) do
14
14
  @path_landing = @page.url.match(/(.+)(vuelos-a|passagens\-aereas\-para)(.+)/)
15
15
  @page.ir(@path_landing[1].gsub(/\/...\/...\//,"/bue/bue/"))
16
16
  @page.simbolo_error_element.when_visible(timeout=10)
17
17
  @page.mensaje_element.text.should match("The destination city is the same as the departure city|La ciudad de destino es la misma que la ciudad de origen|A cidade de destino .{1,2} a mesma que a cidade de origem")
18
18
  end
19
19
 
20
- Entonces(/^verifico que si paso tres ciudades en la url de error$/) do
20
+ Entonces(/^(?:verifico|valido) que si paso tres ciudades en la url de error$/) do
21
21
  @page.ir(@path_landing[1] + "#{@page.manage_data.city_to_1.code.downcase}/" + @path_landing[2] + @path_landing[3])
22
22
  @page.simbolo_error_element.when_visible(timeout=10)
23
23
  @page.mensaje_element.text.no_accents.should match("La pagina solicitada no es valida|A pagina que voce solicitou nao e valido|The page you requested is not valid")
24
24
  end
25
25
 
26
- Entonces(/^verifico que fechas iguales no de error$/) do
26
+ Entonces(/^(?:verifico|valido) que fechas iguales no de error$/) do
27
27
  @page.ir(@path_landing[1] + "1/2014-12-05/2014-12-05/" + @path_landing[2] + @path_landing[3])
28
28
  @page.simbolo_error_element.when_visible(timeout=10)
29
29
  @page.mensaje_element.text.should match("No flights were found for your search|No encontramos vuelos para su b.{1,2}squeda|N.{1,2}o foi possivel encontrar assentos disponiveis nos v.{1,2}os buscados")
30
30
  end
31
31
 
32
- Entonces(/^verifico que la ciudad "(.*?)" de error$/) do |arg1|
32
+ Entonces(/^(?:verifico|valido) que la ciudad "(.*?)" de error$/) do |arg1|
33
33
  @page.ir(@path_landing[1].gsub(/\/...\/...\//,"/bue/xxx/"))
34
34
  @page.simbolo_error_element.when_visible(timeout=10)
35
35
  @page.mensaje_element.text.should match("We couldnt understand the city you want to fly|No hemos podido interpretar la ciudad a la que quiere volar|N.{1,2}o encontramos a cidade solicitada")
36
36
  end
37
37
 
38
- Entonces(/^verifico que paginado negativo de error$/) do
38
+ Entonces(/^(?:verifico|valido) que paginado negativo de error$/) do
39
39
  @page.ir(@path_landing[1] + "-1/" + @path_landing[2] + @path_landing[3])
40
40
  @page.simbolo_error_element.when_visible(timeout=10)
41
41
  @page.mensaje_element.text.should match("The page you requested is not valid|La pagina solicitada no es valida|A p.{1,2}gina que voc.{1,2} solicitou n.{1,2}o .{1,2} v.{1,2}lido")
42
42
  end
43
43
 
44
- Entonces(/^verifico que si la fecha de ida ingresada es posterior a la fecha de vuelta de error$/) do
44
+ Entonces(/^(?:verifico|valido) que si la fecha de ida ingresada es posterior a la fecha de vuelta de error$/) do
45
45
  @page.ir(@path_landing[1] + "1/2014-12-05/2014-12-04/" + @path_landing[2] + @path_landing[3])
46
46
  @page.simbolo_error_element.when_visible(timeout=10)
47
47
  @page.mensaje_element.text.should match("The departure date entered is later than the return date|La fecha de ida ingresada es posterior a la fecha de vuelta|A data de partida digitada .{1,2} posterior a data de retorno")
48
48
  end
49
49
 
50
- Entonces(/^verifico que si la url no tiene el seoPath, se redirige a la pagina que si lo tiene$/) do
50
+ Entonces(/^(?:verifico|valido) que si la url no tiene el seoPath, se redirige a la pagina que si lo tiene$/) do
51
51
  @page.ir(@path_landing[1])
52
52
  sleep(0.5)
53
53
  @page.url.strip.should equal(@path_landing.to_s.gsub(/\?(.+)/,'').strip)
54
54
  end
55
55
 
56
- Entonces(/^verifico que si el seoPath esta mal escrito, se redirige a la pagina con el seoPath correcto$/) do
56
+ Entonces(/^(?:verifico|valido) que si el seoPath esta mal escrito, se redirige a la pagina con el seoPath correcto$/) do
57
57
  @page.ir(@path_landing[1]+"qwerty")
58
58
  sleep(0.5)
59
59
  @page.url.strip.should equal(@path_landing.to_s.strip.to_s.gsub(/\?(.+)/,'').strip)
60
60
  end
61
61
 
62
- Entonces(/^verifico que si se pone un codigo de aeropuerto en vez de uno de cuidad, se redirige a la ciudad del aeropuerto$/) do
62
+ Entonces(/^(?:verifico|valido) que si se pone un codigo de aeropuerto en vez de uno de cuidad, se redirige a la ciudad del aeropuerto$/) do
63
63
  @page.ir(@path_landing[1].gsub(/\/...\/...\//,"/ccs/eze/"))
64
64
  sleep(0.5)
65
65
  if AllPages.site=="BR"
@@ -69,39 +69,39 @@ Entonces(/^verifico que si se pone un codigo de aeropuerto en vez de uno de cuid
69
69
  end
70
70
  end
71
71
 
72
- Entonces(/^verifico que si se pone algun caracter en mayuscula, se redirige a todo minuscula$/) do
72
+ Entonces(/^(?:verifico|valido) que si se pone algun caracter en mayuscula, se redirige a todo minuscula$/) do
73
73
  @page.ir(@path_landing[1] + @path_landing[2].upcase + @path_landing[3])
74
74
  sleep(0.5)
75
75
  @page.url.strip.should equal(@path_landing.to_s.strip)
76
76
  end
77
77
 
78
- Entonces(/^verifico que si la url tiene parametros, se deben conservar en la redireccion$/) do
78
+ Entonces(/^(?:verifico|valido) que si la url tiene parametros, se deben conservar en la redireccion$/) do
79
79
  @page.ir(@path_landing[1] + "qwerty?param=value")
80
80
  sleep(0.5)
81
81
  @page.url.strip.should equal("#{@path_landing.to_s.strip.to_s.gsub(/\?(.+)/,'').strip}?param=value")
82
82
  end
83
83
 
84
- Entonces(/^verifico que la url para sem funcione correctamente con un ciudad con resultados sin seoPath$/) do
84
+ Entonces(/^(?:verifico|valido) que la url para sem funcione correctamente con un ciudad con resultados sin seoPath$/) do
85
85
  match = @path_landing[1].match(/(.+)(vuelos|passagens-aereas)\/(...)\/(...)\//)
86
86
  @page.ir("#{match[1]}#{match[2]}/handler/#{match[3]}/#{match[4]}")
87
87
  sleep(0.5)
88
88
  @page.url.strip.should equal(@path_landing.to_s.strip.gsub(/\?(.+)/,''))
89
89
  end
90
90
 
91
- Entonces(/^verifico que la url para sem funcione correctamente con un ciudad sin resultados sin seoPath$/) do
91
+ Entonces(/^(?:verifico|valido) que la url para sem funcione correctamente con un ciudad sin resultados sin seoPath$/) do
92
92
  match = @path_landing[1].match(/(.+)(vuelos|passagens-aereas)\/(...)\/(...)\//)
93
93
  @page.ir("#{match[1]}#{match[2]}/handler/#{match[3]}/KLP")
94
94
  sleep(0.5)
95
95
  @page.url.strip.should equal("#{match[1]}#{match[2].to_s.gsub(/\?(.+)/,'').strip}/")
96
96
  end
97
97
 
98
- Entonces(/^verifico que la url de landing para el destino "(.*?)" no rompa$/) do |to_city|
98
+ Entonces(/^(?:verifico|valido) que la url de landing para el destino "(.*?)" no rompa$/) do |to_city|
99
99
  match = @path_landing[1].match(/(.+)(vuelos|passagens-aereas)\/(...)\/(...)\//)
100
100
  respond = HTTParty.get("#{match[1]}#{match[2]}/css/#{to_city}")
101
101
  respond.code.to_s.should match("200|404")
102
102
  end
103
103
 
104
- Entonces(/^verifico que redirija a la home de vuelos si no hay oficinas en la ciudad de origen$/) do
104
+ Entonces(/^(?:verifico|valido) que redirija a la home de vuelos si no hay oficinas en la ciudad de origen$/) do
105
105
  @page.ir(@page.manage_data.generate_url_landing_home + "/tyo")
106
106
  @page.url.should equal(@page.manage_data.generate_url_landing_home + "/")
107
107
  @page.ir(@page.manage_data.generate_url_landing_home + "/#{@page.manage_data.city_from_1.code}")
@@ -27,12 +27,12 @@ Cuando(/^elijo la cantidad de dias de la busqueda$/) do
27
27
  @page.loader_fare_chart_element.when_not_visible(timeout=10)
28
28
  end
29
29
 
30
- Y(/^valido los precios mostrados$/) do
30
+ Y(/^(?:verifico|valido) los precios mostrados$/) do
31
31
  @page.precio_banner_element.text.gsub(/ /,'').should equal(@page.precio_fare_chart_element.text.gsub(/ /,''))
32
32
  @page.precio_banner_element.text.gsub(/ /,'').should equal(@page.precio_mensaje_fare_chart_element.text.gsub(/ /,''))
33
33
  end
34
34
 
35
- Y(/^verifico que traiga opciones de busquedas$/) do
35
+ Y(/^(?:verifico|valido) que traiga opciones de busquedas$/) do
36
36
  if @page.warning_element.present?
37
37
  pending("No se encontraron opciones de busquedas. WAR: #{@page.warning_element.text}")
38
38
  end
@@ -48,7 +48,7 @@ Entonces(/^elijo ver ofertas$/) do
48
48
  @page = Results::SearchPage.new($browser)
49
49
  end
50
50
 
51
- Y(/^valido la opcion de fecha exacta$/) do
51
+ Y(/^(?:verifico|valido) la opcion de fecha exacta$/) do
52
52
  sleep(1)
53
53
  @page.opcion_fecha_exacta_element.set
54
54
  @page.caja_busqueda_element.should visible
@@ -57,7 +57,7 @@ Y(/^valido la opcion de fecha exacta$/) do
57
57
  sleep(1)
58
58
  end
59
59
 
60
- Y(/^valido los textos de las nueva landing$/) do
60
+ Y(/^(?:verifico|valido) los textos de las nueva landing$/) do
61
61
  @page.texto_wizard_meses_element.text.no_accents.should equal("Selecciona el mes o los meses en los que quisieras viajar")
62
62
  @page.titulo_element.text.no_accents.should match("Vuelos baratos a (#{@page.manage_data.city_to_1.name.no_accents})")
63
63
  @page.titulo_banner_element.text.no_accents.should match(@page.manage_data.city_to_1.name.no_accents)
@@ -66,7 +66,7 @@ Y(/^valido los textos de las nueva landing$/) do
66
66
  @page.descripcion_larga_banner_element.should visible
67
67
  end
68
68
 
69
- Y(/^verifico el grafico de fare chart$/) do
69
+ Y(/^(?:verifico|valido) el grafico de fare chart$/) do
70
70
  if @page.tipo_de_busqueda=='oneway'
71
71
  @page.mensaje_fare_chart_element.text.no_accents.gsub(/\n/,' ').should match("de vuelos Solo ida desde (.+), saliendo en (.+)")
72
72
  else
@@ -80,7 +80,7 @@ Y(/^elijo el mes mas barato de fare chart$/) do
80
80
  @page.enviar_tecla :escape
81
81
  end
82
82
 
83
- Y(/^verifico que la pagina de resultados sea la correcta$/) do
83
+ Y(/^(?:verifico|valido) que la pagina de resultados sea la correcta$/) do
84
84
  url = @page.url
85
85
  if @page.tipo_de_busqueda=="roundtrip"
86
86
  @page.url.should match("\/roundtrip\/#{@page.manage_data.city_from_1.code.downcase}\/#{@page.manage_data.city_to_1.code.downcase}\/....-..-..\/....-..-..\/2\/C\/0")
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- Entonces(/^verifico los textos de las opciones del combo$/) do
2
+ Entonces(/^(?:verifico|valido) los textos de las opciones del combo$/) do
3
3
  combo_text = case AllPages.site
4
4
  when 'US' then 'Recommended'
5
5
  when 'BR' then 'Mais Escolhidos'
@@ -10,7 +10,7 @@ Entonces(/^verifico los textos de las opciones del combo$/) do
10
10
  options.include?(combo_text).should be_true
11
11
  end
12
12
 
13
- Entonces(/^verifico las ociones de ordenamiento$/) do
13
+ Entonces(/^(?:verifico|valido) las ociones de ordenamiento$/) do
14
14
  doc = Hpricot.parse(@page.orden_element.html)
15
15
  options = (doc / 'option').map { |option| option.attributes['value'] }
16
16
  if AllPages.site == 'BR'
@@ -40,7 +40,7 @@ Entonces(/^filtro por un itinerario en la matriz$/) do
40
40
  end
41
41
  end
42
42
 
43
- Entonces(/^verifico la base tarifaria$/) do
43
+ Entonces(/^(?:verifico|valido) la base tarifaria$/) do
44
44
  if AllPages.site == 'PE'
45
45
  @page.precio_itinerario_pe_element.when_visible(20)
46
46
  else
@@ -64,6 +64,6 @@ Entonces(/^verifico la base tarifaria$/) do
64
64
  end
65
65
  end
66
66
 
67
- Entonces(/^verifico el breakdown$/) do
67
+ Entonces(/^(?:verifico|valido) el breakdown$/) do
68
68
  (@basefare == 'abtesting' || ((@basefare == 'adt') ^ (@page.detalle_precio_itinerario_elements.length > 0))).should be_true
69
69
  end
@@ -10,7 +10,7 @@ Then(/^ingreso una fecha pasada$/) do
10
10
  @page.buscar
11
11
  end
12
12
 
13
- Then(/^Verifico mensaje de error "(.*)"$/) do |text|
13
+ Then(/^(?:verifico|valido) mensaje de error "(.*)"$/) do |text|
14
14
  step 'verifico que la pagina no rompa'
15
15
  @page.resultados_error_element.should visible('Mensaje de error')
16
16
  @page.resultados_error_element.text.no_accents.downcase.should match(text)
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- Cuando(/^verifico que el cambio de moneda no muestre limpiar filtros$/) do
2
+ Cuando(/^(?:verifico|valido) que el cambio de moneda no muestre limpiar filtros$/) do
3
3
  if @page.moneda_local_element.present?
4
4
  @page.moneda_local_element.set
5
5
  sleep(0.5)
@@ -23,13 +23,13 @@ Entonces(/^filtro por aerolinea$/) do
23
23
  @page.browser.checkbox(:id, (@airline / 'input').first.attributes['id']).set
24
24
  end
25
25
 
26
- Entonces(/^verifico que los contadores respecto a las aerolineas sean correctos$/) do
26
+ Entonces(/^(?:verifico|valido) que los contadores respecto a las aerolineas sean correctos$/) do
27
27
  @page.cantidad_items_aeropuerto_salida_element.text.to_i.should equal(@total)
28
28
  @page.cantidad_items_aeropuerto_llegada_element.text.to_i.should equal(@total) if @page.cantidad_items_aeropuerto_llegada_element.present?
29
29
  @page.cantidad_items_paradas_element.text.to_i.should equal(@total)
30
30
  end
31
31
 
32
- Entonces(/^verifico que la primer pagina muestre correctamente los filtros de aerolineas$/) do
32
+ Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de aerolineas$/) do
33
33
  group_airlines = [['UA', 'CM', 'AM', 'US', 'AA', 'DL'], ['LA', '4M', 'XL', '4C', 'JJ', 'PZ'], ['AV', 'TA', 'LR']]
34
34
  doc = Hpricot.parse(@page.html)
35
35
  airlines = []
@@ -67,11 +67,11 @@ Entonces(/^filtro por aeropuerto$/) do
67
67
  @page.browser.checkbox(:id, (@airport/'input').first.attributes['id']).set
68
68
  end
69
69
 
70
- Entonces(/^verifico que los contadores respecto al aeropuerto sean correctos$/) do
70
+ Entonces(/^(?:verifico|valido) que los contadores respecto al aeropuerto sean correctos$/) do
71
71
  @page.cantidad_items_paradas_element.text.to_i.should equal(@total)
72
72
  end
73
73
 
74
- Entonces(/^verifico que la primer pagina muestre correctamente los filtros de aeropuertos (outbound|inbound)$/) do |_class|
74
+ Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de aeropuertos (outbound|inbound)$/) do |_class|
75
75
  doc = Hpricot.parse(@page.html)
76
76
  (@airport / 'input').first.attributes['value'].strip.should equal((doc/"div#clusters div.cluster div.#{_class} span.airport a").first.inner_text.strip)
77
77
  end
@@ -96,12 +96,12 @@ Entonces(/^filtro por escala$/) do
96
96
  @page.browser.checkbox(:id,(@stop/"input").first.attributes['id']).set
97
97
  end
98
98
 
99
- Entonces(/^verifico que los contadores respecto a las escalas sean correctos$/) do
99
+ Entonces(/^(?:verifico|valido) que los contadores respecto a las escalas sean correctos$/) do
100
100
  @page.cantidad_items_aeropuerto_salida_element.text.to_i.should equal(@total)
101
101
  @page.cantidad_items_aeropuerto_llegada_element.text.to_i.should equal(@total) if @page.cantidad_items_aeropuerto_llegada_element.present?
102
102
  end
103
103
 
104
- Entonces(/^verifico que la primer pagina muestre correctamente los filtros de escalas$/) do
104
+ Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de escalas$/) do
105
105
  doc = Hpricot.parse(@page.html)
106
106
  (doc/"div#clusters div.cluster li.stops").each do |stop|
107
107
  applied_stop = @cant
@@ -136,7 +136,7 @@ Entonces(/^filtro por horario (outbound|inbound)$/) do |_class|
136
136
  box.link(:class,'ux-common-filter-apply').click
137
137
  end
138
138
 
139
- Entonces(/^verifico que la primer pagina muestre correctamente los filtros de horario (outbound|inbound)$/) do |_class|
139
+ Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de horario (outbound|inbound)$/) do |_class|
140
140
  doc = Hpricot.parse(@page.html)
141
141
  if @page.remover_ultima_accion_element.present?
142
142
  puts "Disculpe, no encontramos vuelos con el último criterio que ha seleccionado."
@@ -208,7 +208,7 @@ Entonces(/^filtro por duracion (outbound|inbound)$/) do |_class|
208
208
  end
209
209
  end
210
210
 
211
- Entonces(/^verifico que la primer pagina muestre correctamente los filtros de duracion (outbound|inbound)$/) do |_class|
211
+ Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de duracion (outbound|inbound)$/) do |_class|
212
212
  unless((_class=="inbound")and(@page.tipo_de_busqueda=="oneway"))
213
213
  doc = Hpricot.parse(@page.html)
214
214
  (doc/"div#clusters div.cluster div.#{_class} ul.itineraries-group li.itinerary").each do |itineraries|
@@ -268,7 +268,7 @@ Entonces(/^filtro por precio mayor$/) do
268
268
  step "espero que termine de cargar la pagina de resultados"
269
269
  end
270
270
 
271
- Entonces(/^verifico que la primer pagina muestre correctamente los filtros de precio$/) do
271
+ Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de precio$/) do
272
272
  doc = Hpricot.parse(@page.html)
273
273
  @page.cargar_itinerarios
274
274
  @page.datos_de_itinerarios.each do |itinerario|
@@ -1,37 +1,43 @@
1
1
  # -*- encoding : utf-8 -*-
2
- Dado(/^una pagina de resultados en "(.*)" para una busqueda "(.*)" del tipo "(.*)"$/) do |pais,tipo,cabotaje|
3
- Helpers.set_date_language(pais)
4
- @page = Results::SearchPage.new($browser)
5
- @page.load_page(tipo,pais,$ENV,cabotaje)
2
+ Dado(/^una pagina de resultados en "(.*?)" para una busqueda "(.*?)" que desambigue por "(.*?)"$/) do |arg1, arg2, arg3|
3
+ Helpers.set_date_language(arg1)
4
+ @page = Results::DesambiguationAirportsPage.new($browser)
5
+ @page.load_page_results(arg2,arg1,$ENV,arg3,"true")
6
6
  @page.set_cookies
7
- puts "URL: #{@page.manage_data.generate_url_results_search}"
7
+ puts "URL: #{@page.url_desambiguacion}"
8
8
  puts "UOW: #{@page.uow}"
9
- @page.elegir_idioma
10
9
  end
11
10
 
12
- Dado(/^una pagina de resultados en "(.*?)" para una busqueda "(.*?)" con origen "(.*?)" y destino "(.*?)" de tipo "(.*?)"$/) do |pais,tipo,ida,vuelta,cabotaje|
11
+ Dado(/^como un usuario de '(.*)'$/) do |pais|
13
12
  Helpers.set_date_language(pais)
14
13
  @page = Results::SearchPage.new($browser)
15
- @page.load_page(tipo,pais,$ENV,cabotaje,{"from"=>ida.upcase,"to"=>vuelta.upcase})
14
+ @page.set_site(pais)
15
+ end
16
+
17
+ Dado(/^ingreso una busqueda '(.*)' de '(.*)' a '(.*)' de tipo '(.*)'$/) do |tipo,ida,vuelta,cabotaje|
18
+ @page.cargar_url(tipo,$ENV,cabotaje,{"from"=>ida.upcase,"to"=>vuelta.upcase})
19
+ end
20
+
21
+ Dado(/^ingreso una busqueda '(.*)' del tipo '(.*)'$/) do |tipo,cabotaje|
22
+ @page.cargar_url(tipo,$ENV,cabotaje,{})
23
+ end
24
+
25
+ Dado(/^con (?:fecha ida|fecha|salida|fecha salida) '(.*)' y (?:estadia|fecha vuelta|regreso|vuelta) '(.*)'$/) do |fecha_ida,fecha_vuelta|
26
+ @page.cargar_fechas(Date.parse($date.for(fecha_ida)),Date.parse($date.for(fecha_vuelta)))
27
+ end
28
+
29
+ Cuando(/^(?:realizo|genero|ingreso) la busqueda$/) do
30
+ @page.ir(@page.url_busqueda)
16
31
  @page.set_cookies
17
32
  puts "URL: #{@page.manage_data.generate_url_results_search}"
18
33
  puts "UOW: #{@page.uow}"
19
34
  @page.elegir_idioma
20
35
  end
21
36
 
22
- Dado(/^una pagina de resultados en "(.*?)" para una busqueda "(.*?)" que desambigue por "(.*?)"$/) do |arg1, arg2, arg3|
23
- Helpers.set_date_language(arg1)
24
- @page = Results::DesambiguationAirportsPage.new($browser)
25
- @page.load_page_results(arg2,arg1,$ENV,arg3,"true")
26
- @page.set_cookies
27
- puts "URL: #{@page.url_desambiguacion}"
28
- puts "UOW: #{@page.uow}"
29
- end
30
-
31
- Cuando(/^espero que termine de cargar la pagina de resultados$/) do
32
- @page.carga_element.when_not_visible(timeout=60)
33
- @page.actualizar_filtro_element.when_not_visible(timeout=60)
34
- end
37
+ Cuando(/^espero que (?:termine|finalize|acabe) de cargar la pagina de resultados$/) do
38
+ @page.carga_element.when_not_visible(timeout=60)
39
+ @page.actualizar_filtro_element.when_not_visible(timeout=120)
40
+ end
35
41
 
36
42
  Entonces(/^(?:verifico|valido) que (?:traiga|vengan|tenga) resultados$/) do
37
43
  unless @page.con_resultados?
@@ -43,31 +49,3 @@ Entonces(/^(?:verifico|valido) que (?:traiga|vengan|tenga) resultados$/) do
43
49
  end
44
50
  end
45
51
  end
46
-
47
-
48
- Entonces(/^verifico el nuevo loader$/) do
49
- if @page.carga_element.present? and !@page.tipo_de_busqueda.match(/multipledestinations/)
50
- begin
51
- Watir::Wait.until(timeout=25){@page.carga_element.span(:class,'nibbler-iterated-text-description').exists? and !@page.carga_element.span(:class,'nibbler-iterated-text-description').text.empty?}
52
- text = @page.carga_element.span(:class,'nibbler-iterated-text-description').text
53
- unless text.empty?
54
- unless text.no_accents.downcase.match("searching flights to #{@page.manage_data.city_to_1.name(AllPages.site).downcase} by|buscando vuelos hacia #{@page.manage_data.city_to_1.name(AllPages.site).downcase} por|procurando voos a #{@page.manage_data.city_to_1.name(AllPages.site).downcase} por")
55
- airlines=@page.manage_data.get_indec_airlines($ENV)
56
- airlines.should is_empty?
57
- end
58
- else
59
- puts "Fallo la validacion en el loader con el texto de aerolineas"
60
- end
61
- text_hotels = @page.carga_element.div(:class,'nibbler-second-text').text
62
- unless text_hotels.empty?
63
- text_hotels.no_accents.downcase.should match("hoteles en #{@page.manage_data.city_to_1.name(AllPages.site).downcase}|hotels in #{@page.manage_data.city_to_1.name(AllPages.site).downcase} , best price guaranteed|hoteles en #{@page.manage_data.city_to_1.name(AllPages.site).downcase} con el mejor precio garantizado|hoteis em #{@page.manage_data.city_to_1.name(AllPages.site).downcase} com o melhor preco garantido")
64
- hotels_count = @page.carga_element.text.gsub(/\D/,'')
65
- hotels_count.to_i.should es_mayor_que(0)
66
- else
67
- puts "Fallo la validacion en el loader con el texto de hoteles"
68
- end
69
- rescue Watir::Wait::TimeoutError
70
- puts "Timeout loader!"
71
- end
72
- end
73
- end