flights_gui_tests 0.3.6 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5bfe3693bdc654d8ae220eaec8a51178da3acbb8
4
- data.tar.gz: e41ed4239607f604505488cf2f2591488e7bfb2f
3
+ metadata.gz: c153164b1e036e15f116b161901a481fa4a2dd19
4
+ data.tar.gz: e0757cdb69ea3619f290263734a25a8a787342ad
5
5
  SHA512:
6
- metadata.gz: f187753aecdf542cb7c2918e6791f0524132189bd6f98d4ffd635a89edb71f357078a2b9622a9d3582ff53a6302f6197ccac43babe4766d4f91b50284e5af764
7
- data.tar.gz: dd86cfba481c6cbd7fc6ce6bc82240bfa930751700ecd5402507ff015e2c94dd65a4ff6bb4c42a68e35e423c5626d8f7127b5ea77d67804161663817d28d08a9
6
+ metadata.gz: 99062fa8fb25be26eda97915c1e111eb2174ea29402682546d2cbd8d27d4b264f143902dadf9dfc0fa0098e7cfdad04e0f21e1c427693731f3b1ebee69f78f4e
7
+ data.tar.gz: 48dcadba6d236ee6d43379741922f75a8f4965266664b2061bc44cfea7ffae6a387dd26b6860e0fac3164751279525f83b8fa769bcb2551bf58eed09f657075b
@@ -33,7 +33,10 @@ end
33
33
 
34
34
  Entonces(/^recorro y (?:verifico|valido) cada itinerario$/) do
35
35
  json = @page.manage_data.get_results_search_service("TOTALFARE")
36
+ @page.cerrar_popup_alerta_element.click if @page.cerrar_popup_alerta_element.present?
37
+ @page.cerrar_popup_cantidad_visitantes_element.click if @page.cerrar_popup_cantidad_visitantes_element.present?
36
38
  i=0
39
+ $num = 0
37
40
  @page.itinerarios_elements.each do |itinerario|
38
41
  _itinerario = ResultsCluster.new(@page.tipo_de_busqueda,Hpricot.parse(itinerario.html))
39
42
  @page.validar_millas(json,i)
@@ -54,4 +57,8 @@ Y(/^(?:verifico|valido) el popup de alertas$/) do
54
57
  @page.cerrar_popup_alertas_element.click
55
58
  sleep(1)
56
59
  end
60
+ end
61
+
62
+ Cuando(/^defino nuevos itinerarios$/) do
63
+ @page.definir_nuevo_itinerario
57
64
  end
@@ -0,0 +1,36 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class NewDetailsCluster
3
+ attr_accessor :tramos, :duracion
4
+ def initialize(p_html)
5
+ @duracion = (p_html/"span.inline-detail-title span.inline-detail-total-duration span.inline-detail-total-duration-time").inner_text.strip.no_accents
6
+ @tramos = []
7
+ (p_html/"div.inline-detail-content div.inline-detail-data").each do |div|
8
+ tramo = Hash.new
9
+ if (div/"div.segment span.not-economy-segments").first.nil?
10
+ tramo['bussines'] = nil
11
+ tramo['clase'] = (div/"span.inline-detail-flight-cabinType span.inline-detail-flight-data-description").first.inner_text.strip.no_accents
12
+ else
13
+ tramo['bussines'] = true
14
+ tramo['clase'] = (div/"span.inline-detail-flight-cabinType span.inline-detail-flight-data-description").first.inner_text.strip.no_accents
15
+ end
16
+ tramo['ciudad_origen'] = (div/"span.inline-detail-airport-description").first.inner_text.gsub(/\-(.*)/,'').strip.no_accents
17
+ tramo['fecha_origen'] = Date.parse_new_details((div/"span.inline-detail-airport-date").first.inner_text.strip.gsub(/Sale:/,'').no_accents)
18
+ tramo['hora_origen'] = (div/"span.inline-detail-airport-hour").first.inner_text.empty? ? Time.parse((div/"span.inline-detail-airport-hour").last.inner_text.strip.no_accents) : Time.parse((div/"span.inline-detail-airport-hour").first.inner_text.strip.no_accents)
19
+ tramo['ciudad_destino'] = (div/"span.inline-detail-airport-description").last.inner_text.gsub(/\-(.*)/,'').strip.no_accents
20
+ tramo['hora_destino'] = (div/"span.inline-detail-airport-hour").last.inner_text.empty? ? Time.parse((div/"span.inline-detail-airport-hour").first.inner_text.strip.no_accents) : Time.parse((div/"span.inline-detail-airport-hour").last.inner_text.strip.no_accents)
21
+ @tramos << tramo
22
+ end
23
+ end
24
+
25
+ def to_s
26
+ text = String.new
27
+ @tramos.each_with_index do |tramo,i|
28
+ text << "[Tramo #{i}: "
29
+ tramo.each_pair do |key,value|
30
+ text << "#{key}:#{value} - "
31
+ end
32
+ text << "]"
33
+ end
34
+ return text
35
+ end
36
+ end
@@ -44,11 +44,7 @@ require_relative 'modules/results/recommendation'
44
44
  require_relative 'modules/results/matrix/matrix_airline'
45
45
  require_relative 'modules/results/matrix/matrix_price'
46
46
  require_relative 'modules/results/matrix/matrix_fare_chart'
47
- require_relative 'modules/results/itineraries/miles'
48
- require_relative 'modules/results/itineraries/bussines'
49
- require_relative 'modules/results/itineraries/payments'
50
- require_relative 'modules/results/itineraries/details'
51
- require_relative 'modules/results/itineraries/data'
47
+ require_relative 'modules/results/itineraries'
52
48
 
53
49
  require_relative 'modules/checkout/pasajeros'
54
50
  require_relative 'modules/checkout/tarjeta'
@@ -78,6 +74,7 @@ require_relative 'classes/clusters/results_cluster'
78
74
  require_relative 'classes/clusters/results/landing_cluster'
79
75
  require_relative 'classes/clusters/results/render_cluster'
80
76
  require_relative 'classes/clusters/results/details_cluster'
77
+ require_relative 'classes/clusters/results/new_details_cluster'
81
78
  require_relative 'classes/clusters/checkout_cluster'
82
79
 
83
80
  # carga de parametros globales
@@ -6,12 +6,25 @@ module Results
6
6
  include PageObject
7
7
 
8
8
  def validar_vuelo_bussines(i)
9
- if itinerarios_elements[i].div(:class,'not-economy-cluster-alert').present?
9
+ unless @nuevo_itinerario
10
+ if itinerarios_elements[i].div(:class,'not-economy-cluster-alert').present?
11
+ itinerarios_elements[i].span(:class,'ux-common-icon-rate-star').should visible("icono de bussines")
12
+ else
13
+ itinerarios_elements[i].span(:class,'ux-common-icon-rate-star').should_not visible("icono de bussines")
14
+ end
15
+ else
16
+ new_validar_vuelo_bussines(i)
17
+ end
18
+ end
19
+
20
+ def new_validar_vuelo_bussines(i)
21
+ if itinerarios_elements[i].div(:class,'not-economy-cluster-alert alert').present?
10
22
  itinerarios_elements[i].span(:class,'ux-common-icon-rate-star').should visible("icono de bussines")
11
23
  else
12
24
  itinerarios_elements[i].span(:class,'ux-common-icon-rate-star').should_not visible("icono de bussines")
13
25
  end
14
26
  end
27
+
15
28
  end
16
29
  end
17
30
  end
@@ -7,22 +7,28 @@ module Results
7
7
  link(:mostrar_mas_itinerarios,:class=>"toggle-clusters show-clusters")
8
8
  div(:popup_detail,:class=>'flights-popup popup-detail')
9
9
 
10
+ elements(:new_popup_detail,:div,:class=>'inline-detail')
11
+
10
12
  def validar_mas_detalles(json,i,itinerario)
11
- j=0
12
- mostrar_mas_itinerarios_element.click if mostrar_mas_itinerarios_element.present?
13
- rutas_ida(itinerarios_elements[i]).each do |route|
14
- cluster_detail = recorrer_segmentos(route,itinerario.idas[j])
15
- j += 1
16
- cerrar_popup
17
- validar_clase(cluster_detail,route)
18
- end
19
- k=0
20
- rutas_vuelta(itinerarios_elements[i]).each do |route|
21
- cluster_detail = recorrer_segmentos(route,itinerario.vueltas[k])
22
- k += 1
23
- cerrar_popup
24
- validar_clase(cluster_detail,route)
25
- end
13
+ unless @nuevo_itinerario
14
+ j=0
15
+ mostrar_mas_itinerarios_element.click if mostrar_mas_itinerarios_element.present?
16
+ rutas_ida(itinerarios_elements[i]).each do |route|
17
+ cluster_detail = recorrer_segmentos(route,itinerario.idas[j])
18
+ j += 1
19
+ cerrar_popup
20
+ validar_clase(cluster_detail,route)
21
+ end
22
+ k=0
23
+ rutas_vuelta(itinerarios_elements[i]).each do |route|
24
+ cluster_detail = recorrer_segmentos(route,itinerario.vueltas[k])
25
+ k += 1
26
+ cerrar_popup
27
+ validar_clase(cluster_detail,route)
28
+ end
29
+ else
30
+ new_validar_mas_detalles(json,i,itinerario)
31
+ end
26
32
  end
27
33
 
28
34
  def validar_clase(cluster,route)
@@ -75,6 +81,59 @@ module Results
75
81
  popup_detail_element.span(:class,'popup-close-button popup-close').click
76
82
  sleep(0.5)
77
83
  end
84
+
85
+ def new_cerrar_popup(route)
86
+ route.li(:class,'detail').links[0].click
87
+ sleep(0.5)
88
+ end
89
+
90
+ def new_reglas_de_vuelo(i)
91
+ popup = new_popup_detail_elements[i]
92
+ popup.div(:class,'top-box').a(:class,'show-rules show-cluster-rules').should visible
93
+ popup.div(:class,'rules').should_not visible
94
+ popup.div(:class,'top-box').a(:class,'show-rules show-cluster-rules').click
95
+ popup.div(:class,'rules').should visible
96
+ popup.div(:class,'rules').div(:class,'text').text.strip.no_accents.should match(/The ticket you are booking is subject to the airline rules and restrictions|El boleto que usted esta comprando est.{1,2} sujeto a reglas y restricciones impuestas por la aerol.{1,2}nea transportadora|No incluye impuestos, no reembolsable, aplica penalidad|Estos tickets No permiten cambios NI devoluciones parciales|O bilhete que voc.{1,2} est.{1,2} para adquirir est.{1,2} sujeito a regras e restri.{1,2}.{1,2}es impostas pela companhia a.{1,2}rea transportadora/)
97
+ end
98
+
99
+ def new_recorrer_segmentos(route,cluster,i)
100
+ begin
101
+ route.li(:class,'detail').links[0].click
102
+ rescue Selenium::WebDriver::Error::ElementNotVisibleError
103
+ byebug
104
+ end
105
+ new_popup_detail_elements[i].when_visible(timeout=20)
106
+ doc = Hpricot.parse(new_popup_detail_elements[i].html)
107
+ detail = NewDetailsCluster.new(doc)
108
+ detail.duracion.should match(/#{cluster.duracion}/)
109
+ detail.tramos.first['ciudad_origen'].should match(cluster.origen)
110
+ detail.tramos.last['ciudad_destino'].should match(cluster.destino)
111
+ cluster.fecha.should equal(detail.tramos.first['fecha_origen'])
112
+ cluster.hou_sal_ida.should equal(detail.tramos.first['hora_origen'])
113
+ new_reglas_de_vuelo(i)
114
+ return detail
115
+ end
116
+
117
+ def new_validar_mas_detalles(json,i,itinerario)
118
+ j=0
119
+ mostrar_mas_itinerarios_element.click if mostrar_mas_itinerarios_element.present?
120
+ rutas_ida(itinerarios_elements[i]).each do |route|
121
+ cluster_detail = new_recorrer_segmentos(route,itinerario.idas[j],$num)
122
+ j += 1
123
+ $num += 1
124
+ new_cerrar_popup(route)
125
+ validar_clase(cluster_detail,route)
126
+ end
127
+ k=0
128
+ rutas_vuelta(itinerarios_elements[i]).each do |route|
129
+ cluster_detail = new_recorrer_segmentos(route,itinerario.vueltas[k],$num)
130
+ k += 1
131
+ $num += 1
132
+ new_cerrar_popup(route)
133
+ validar_clase(cluster_detail,route)
134
+ end
135
+ end
136
+
78
137
  end
79
138
  end
80
139
  end
@@ -9,20 +9,39 @@ module Results
9
9
  span(:cerrar_popup_cuotas,:css=>"#popup-payments .popup-close-button")
10
10
 
11
11
  def validar_popup_cuotas(i)
12
- if(itinerarios_elements[i].div(:class,'actions').link(:class,'payments').present?)
12
+ unless @nuevo_itinerario
13
+ if(itinerarios_elements[i].div(:class,'actions').link(:class,'payments').present?)
14
+ itinerarios_elements[i].radio(:id,/outbound/).click if itinerarios_elements[i].radio(:id,/outbound/).present?
15
+ itinerarios_elements[i].radio(:id,/inbound/).click if itinerarios_elements[i].radio(:id,/inbound/).present?
16
+ itinerarios_elements[i].div(:class,'actions').link(:class,'payments').click
17
+ popup_cuotas_element.when_visible(timeout=20)
18
+ popup = Hpricot.parse(popup_cuotas_element.html)
19
+ sleep(0.5)
20
+ popup_cuotas_element.span(:class,'popup-close-button popup-close').click
21
+ popup_cuotas_element.when_not_visible(timeout=20)
22
+ else
23
+ itinerarios_elements[i].div(:class,'actions').text.should_not match("pagos|cuotas|installments|juros")
24
+ end
25
+ else
26
+ new_validar_popup_cuotas(i)
27
+ end
28
+ end
29
+
30
+ def new_validar_popup_cuotas(i)
31
+ if(itinerarios_elements[i].link(:text,/pagos|cuotas|installments|juros/).present?)
13
32
  itinerarios_elements[i].radio(:id,/outbound/).click if itinerarios_elements[i].radio(:id,/outbound/).present?
14
33
  itinerarios_elements[i].radio(:id,/inbound/).click if itinerarios_elements[i].radio(:id,/inbound/).present?
15
- itinerarios_elements[i].div(:class,'actions').link(:class,'payments').click
34
+ itinerarios_elements[i].link(:text,/pagos|cuotas|installments|juros/).click
16
35
  popup_cuotas_element.when_visible(timeout=20)
17
36
  popup = Hpricot.parse(popup_cuotas_element.html)
18
37
  sleep(0.5)
19
38
  popup_cuotas_element.span(:class,'popup-close-button popup-close').click
20
39
  popup_cuotas_element.when_not_visible(timeout=20)
21
40
  else
22
- itinerarios_elements[i].div(:class,'actions').text.should_not match("pagos|cuotas|installments|juros")
41
+ itinerarios_elements[i].div(:class,'fare-container').text.should_not match("pagos|cuotas|installments|juros")
23
42
  end
24
43
  end
25
-
44
+
26
45
  end
27
46
  end
28
47
  end
@@ -0,0 +1,22 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require_relative 'itineraries/miles'
3
+ require_relative 'itineraries/bussines'
4
+ require_relative 'itineraries/payments'
5
+ require_relative 'itineraries/details'
6
+ require_relative 'itineraries/data'
7
+
8
+ module Results
9
+ module Itineraries
10
+
11
+ include Results::Itineraries::Miles
12
+ include Results::Itineraries::Bussines
13
+ include Results::Itineraries::Payments
14
+ include Results::Itineraries::Details
15
+ include Results::Itineraries::Data
16
+
17
+ def definir_nuevo_itinerario()
18
+ @nuevo_itinerario = true
19
+ end
20
+
21
+ end
22
+ end
@@ -24,7 +24,11 @@ class AllPages
24
24
  end
25
25
 
26
26
  def ir(url)
27
- @browser.goto url
27
+ begin
28
+ @browser.goto url
29
+ rescue Selenium::WebDriver::Error::UnhandledAlertError
30
+ @browser.alert.ok if @browser.alert.exists?
31
+ end
28
32
  end
29
33
 
30
34
  def volver
@@ -2,7 +2,7 @@ module Checkout
2
2
  class PopupResultsPage < AllPages
3
3
  include PageObject
4
4
 
5
- elements(:buscar,:link,:class=>"buy btn-buy flights-button")
5
+ elements(:buscar,:link,:class=>"buy btn-buy")
6
6
  elements(:opciones_ida,:radio,:css=>"div.outbound input")
7
7
  elements(:opciones_vuelta,:radio,:css=>"div.inbound input")
8
8
  elements(:itinerarios, :div, :css=>"#clusters .cluster")
@@ -19,7 +19,7 @@ module Checkout
19
19
  def elegir_itinerario(index)
20
20
  itinerarios_elements[index].div(:class,'sub-cluster outbound').radios[0].click unless tipo_de_busqueda=="multipledestinations"
21
21
  itinerarios_elements[index].div(:class,'sub-cluster inbound').radios[0].click if tipo_de_busqueda=="roundtrip"
22
- buscar_elements[index].click
22
+ @browser.execute_script("javascript:void($('.buy').click())")
23
23
  return @datos_de_itinerarios[index]
24
24
  end
25
25
 
@@ -7,11 +7,7 @@ module Results
7
7
  include Results::Matriz::MatrizAerolinea
8
8
  include Results::Matriz::MatrizPrice
9
9
  include Results::Matriz::MatrizFareChart
10
- include Results::Itineraries::Miles
11
- include Results::Itineraries::Bussines
12
- include Results::Itineraries::Payments
13
- include Results::Itineraries::Details
14
- include Results::Itineraries::Data
10
+ include Results::Itineraries
15
11
  include Results::SearchParams
16
12
  include Results::Filters
17
13
  include Results::NewFilters
@@ -39,8 +35,8 @@ module Results
39
35
  elements(:itinerarios, :div, :css=>"#clusters .cluster")
40
36
  elements(:detalle_precio_itinerario, :li, :css=>"#clusters .cluster .fare-detail li")
41
37
 
42
- # element(:ofertas_personalizadas ,:li ,:css=>"")
43
- # element(:ofertas_por_pais ,:li ,:css=>"")
38
+ # element(:ofertas_personalizadas ,:a ,:css=>"div#flight-offers-international a.flight-offer")
39
+ # element(:ofertas_por_pais ,:a ,:css=>"div#flight-offers-domestic a.flight-offer")
44
40
  element(:itinerario, :div, :css=>"#clusters .cluster")
45
41
  element(:desglose,:li,:css=>"#clusters .cluster .fare-detail li")
46
42
  element(:precio_itinerario, :span, :css=>".cluster .fare .price-currency")
@@ -128,6 +124,7 @@ module Results
128
124
 
129
125
  def last_minute?
130
126
  return (manage_data.date_from_1 - Date.today).to_i < 2
131
- end
127
+ end
128
+
132
129
  end
133
130
  end
@@ -0,0 +1,103 @@
1
+ #language: es
2
+ @results
3
+ Característica: results.new_itineraries
4
+ Se verifica que los cluster contengan datos y funcionalidad correcta.
5
+
6
+ @new_itineraries
7
+ Esquema del escenario: Se recorren los nuevos clusters, por cada uno se validan datos consistentes con la busqueda y funcionamiento de popups
8
+ Dado como un usuario de '<pais>'
9
+ * ingreso una busqueda '<tipo>' del tipo '<cabotage>'
10
+ Cuando realizo la busqueda
11
+ Entonces verifico que la pagina no rompa
12
+ Cuando espero que termine de cargar la pagina de resultados
13
+ Entonces verifico que traiga resultados
14
+ Cuando fuerzo el abztesting de "clusterStyle" al "15"
15
+ Cuando si el site es "MX", fuerzo el abztesting de "filters" al "15"
16
+ Y ingreso una busqueda '<tipo>' del tipo '<cabotage>'
17
+ Y realizo la busqueda
18
+ Cuando verifico que la pagina no rompa
19
+ Cuando espero que termine de cargar la pagina de resultados
20
+ Entonces verifico que traiga resultados
21
+ Cuando si el site es "MX|AR", verifico el ordenamiento premium economy
22
+ Cuando ordeno por "TOTALFARE_ASCENDING"
23
+ Cuando espero que termine de cargar la pagina de resultados
24
+ Cuando defino nuevos itinerarios
25
+ Entonces recorro y verifico cada itinerario
26
+
27
+ @ar
28
+ Ejemplos:
29
+ |pais|tipo|cabotage|
30
+ |AR |roundtrip|true|
31
+ |AR |multipledestinations|true|
32
+ |AR |oneway|nil|
33
+ @br
34
+ Ejemplos:
35
+ |pais|tipo|cabotage|
36
+ |BR |oneway|true|
37
+ |BR |roundtrip|true|
38
+ @co
39
+ Ejemplos:
40
+ |pais|tipo|cabotage|
41
+ |CO |roundtrip|true|
42
+ |CO |oneway|nil|
43
+ |CO |multipledestinations|nil|
44
+ @mx
45
+ Ejemplos:
46
+ |pais|tipo|cabotage|
47
+ |MX |roundtrip|true|
48
+ |MX |oneway|nil|
49
+ |MX |multipledestinations|nil|
50
+ @ve
51
+ Ejemplos:
52
+ |pais|tipo|cabotage|
53
+ |VE |roundtrip|true|
54
+ |VE |oneway|true|
55
+ |VE |multipledestinations|true|
56
+ @cl
57
+ Ejemplos:
58
+ |pais|tipo|cabotage|
59
+ |CL |roundtrip|nil|
60
+ |CL |oneway|nil|
61
+ |CL |multipledestinations|nil|
62
+ @cr
63
+ Ejemplos:
64
+ |pais|tipo|cabotage|
65
+ |CR |roundtrip|true|
66
+ |CR |oneway|true|
67
+ |CR |multipledestinations|nil|
68
+ @ec
69
+ Ejemplos:
70
+ |pais|tipo|cabotage|
71
+ |EC |multipledestinations|true|
72
+ |EC |roundtrip|nil|
73
+ |EC |oneway|nil|
74
+ @pa
75
+ Ejemplos:
76
+ |pais|tipo|cabotage|
77
+ |PA |oneway|true|
78
+ |PA |multipledestinations|true|
79
+ |PA |roundtrip|nil|
80
+ @pe
81
+ Ejemplos:
82
+ |pais|tipo|cabotage|
83
+ |PE |roundtrip|true|
84
+ |PE |oneway|true|
85
+ |PE |multipledestinations|nil|
86
+ @us
87
+ Ejemplos:
88
+ |pais|tipo|cabotage|
89
+ |US |roundtrip|true|
90
+ |US |oneway|true|
91
+ |US |multipledestinations|nil|
92
+ @uy
93
+ Ejemplos:
94
+ |pais|tipo|cabotage|
95
+ |UY |multipledestinations|true|
96
+ |UY |roundtrip|nil|
97
+ |UY |oneway|nil|
98
+ @pr
99
+ Ejemplos:
100
+ |pais|tipo|cabotage|
101
+ |PR |multipledestinations|true|
102
+ |PR |roundtrip|nil|
103
+ |PR |oneway|nil|
@@ -14,7 +14,7 @@ Gem::Specification.new do |gem|
14
14
 
15
15
  gem.require_paths = ["lib"] # Usualmente es solo lib -> ["lib"]
16
16
 
17
- gem.version = '0.3.6' # La version se debe incrementar cada vez que se desea publicar una nueva version del test.
17
+ gem.version = '0.3.7' # La version se debe incrementar cada vez que se desea publicar una nueva version del test.
18
18
 
19
19
  gem.add_dependency('henry-container', '>= 0.1.39')
20
20
  gem.add_dependency('page-object')
data/henry-context.yml CHANGED
@@ -2121,6 +2121,215 @@ tasks:
2121
2121
  recipients:
2122
2122
  - estebanldh@gmail.com
2123
2123
  - nsimean@despegar.com
2124
+ - name: results.new_itineraries
2125
+ class_name: Henry::Task::CucumberTask
2126
+ options:
2127
+ tags:
2128
+ - results
2129
+ - new_itineraries
2130
+ expand: true
2131
+ no-source: true
2132
+ reports:
2133
+ - format: html
2134
+ name: ${DATE}_${TASK_NAME}.html
2135
+ recipients:
2136
+ - estebanldh@gmail.com
2137
+ - nsimean@despegar.com
2138
+ - name: results.new_itineraries.ar
2139
+ class_name: Henry::Task::CucumberTask
2140
+ options:
2141
+ tags:
2142
+ - results
2143
+ - new_itineraries
2144
+ - ar
2145
+ expand: true
2146
+ no-source: true
2147
+ reports:
2148
+ - format: html
2149
+ name: ${DATE}_${TASK_NAME}.html
2150
+ recipients:
2151
+ - estebanldh@gmail.com
2152
+ - nsimean@despegar.com
2153
+ - name: results.new_itineraries.br
2154
+ class_name: Henry::Task::CucumberTask
2155
+ options:
2156
+ tags:
2157
+ - results
2158
+ - new_itineraries
2159
+ - br
2160
+ expand: true
2161
+ no-source: true
2162
+ reports:
2163
+ - format: html
2164
+ name: ${DATE}_${TASK_NAME}.html
2165
+ recipients:
2166
+ - estebanldh@gmail.com
2167
+ - nsimean@despegar.com
2168
+ - name: results.new_itineraries.co
2169
+ class_name: Henry::Task::CucumberTask
2170
+ options:
2171
+ tags:
2172
+ - results
2173
+ - new_itineraries
2174
+ - co
2175
+ expand: true
2176
+ no-source: true
2177
+ reports:
2178
+ - format: html
2179
+ name: ${DATE}_${TASK_NAME}.html
2180
+ recipients:
2181
+ - estebanldh@gmail.com
2182
+ - nsimean@despegar.com
2183
+ - name: results.new_itineraries.mx
2184
+ class_name: Henry::Task::CucumberTask
2185
+ options:
2186
+ tags:
2187
+ - results
2188
+ - new_itineraries
2189
+ - mx
2190
+ expand: true
2191
+ no-source: true
2192
+ reports:
2193
+ - format: html
2194
+ name: ${DATE}_${TASK_NAME}.html
2195
+ recipients:
2196
+ - estebanldh@gmail.com
2197
+ - nsimean@despegar.com
2198
+ - name: results.new_itineraries.ve
2199
+ class_name: Henry::Task::CucumberTask
2200
+ options:
2201
+ tags:
2202
+ - results
2203
+ - new_itineraries
2204
+ - ve
2205
+ expand: true
2206
+ no-source: true
2207
+ reports:
2208
+ - format: html
2209
+ name: ${DATE}_${TASK_NAME}.html
2210
+ recipients:
2211
+ - estebanldh@gmail.com
2212
+ - nsimean@despegar.com
2213
+ - name: results.new_itineraries.cl
2214
+ class_name: Henry::Task::CucumberTask
2215
+ options:
2216
+ tags:
2217
+ - results
2218
+ - new_itineraries
2219
+ - cl
2220
+ expand: true
2221
+ no-source: true
2222
+ reports:
2223
+ - format: html
2224
+ name: ${DATE}_${TASK_NAME}.html
2225
+ recipients:
2226
+ - estebanldh@gmail.com
2227
+ - nsimean@despegar.com
2228
+ - name: results.new_itineraries.cr
2229
+ class_name: Henry::Task::CucumberTask
2230
+ options:
2231
+ tags:
2232
+ - results
2233
+ - new_itineraries
2234
+ - cr
2235
+ expand: true
2236
+ no-source: true
2237
+ reports:
2238
+ - format: html
2239
+ name: ${DATE}_${TASK_NAME}.html
2240
+ recipients:
2241
+ - estebanldh@gmail.com
2242
+ - nsimean@despegar.com
2243
+ - name: results.new_itineraries.ec
2244
+ class_name: Henry::Task::CucumberTask
2245
+ options:
2246
+ tags:
2247
+ - results
2248
+ - new_itineraries
2249
+ - ec
2250
+ expand: true
2251
+ no-source: true
2252
+ reports:
2253
+ - format: html
2254
+ name: ${DATE}_${TASK_NAME}.html
2255
+ recipients:
2256
+ - estebanldh@gmail.com
2257
+ - nsimean@despegar.com
2258
+ - name: results.new_itineraries.pa
2259
+ class_name: Henry::Task::CucumberTask
2260
+ options:
2261
+ tags:
2262
+ - results
2263
+ - new_itineraries
2264
+ - pa
2265
+ expand: true
2266
+ no-source: true
2267
+ reports:
2268
+ - format: html
2269
+ name: ${DATE}_${TASK_NAME}.html
2270
+ recipients:
2271
+ - estebanldh@gmail.com
2272
+ - nsimean@despegar.com
2273
+ - name: results.new_itineraries.pe
2274
+ class_name: Henry::Task::CucumberTask
2275
+ options:
2276
+ tags:
2277
+ - results
2278
+ - new_itineraries
2279
+ - pe
2280
+ expand: true
2281
+ no-source: true
2282
+ reports:
2283
+ - format: html
2284
+ name: ${DATE}_${TASK_NAME}.html
2285
+ recipients:
2286
+ - estebanldh@gmail.com
2287
+ - nsimean@despegar.com
2288
+ - name: results.new_itineraries.us
2289
+ class_name: Henry::Task::CucumberTask
2290
+ options:
2291
+ tags:
2292
+ - results
2293
+ - new_itineraries
2294
+ - us
2295
+ expand: true
2296
+ no-source: true
2297
+ reports:
2298
+ - format: html
2299
+ name: ${DATE}_${TASK_NAME}.html
2300
+ recipients:
2301
+ - estebanldh@gmail.com
2302
+ - nsimean@despegar.com
2303
+ - name: results.new_itineraries.uy
2304
+ class_name: Henry::Task::CucumberTask
2305
+ options:
2306
+ tags:
2307
+ - results
2308
+ - new_itineraries
2309
+ - uy
2310
+ expand: true
2311
+ no-source: true
2312
+ reports:
2313
+ - format: html
2314
+ name: ${DATE}_${TASK_NAME}.html
2315
+ recipients:
2316
+ - estebanldh@gmail.com
2317
+ - nsimean@despegar.com
2318
+ - name: results.new_itineraries.pr
2319
+ class_name: Henry::Task::CucumberTask
2320
+ options:
2321
+ tags:
2322
+ - results
2323
+ - new_itineraries
2324
+ - pr
2325
+ expand: true
2326
+ no-source: true
2327
+ reports:
2328
+ - format: html
2329
+ name: ${DATE}_${TASK_NAME}.html
2330
+ recipients:
2331
+ - estebanldh@gmail.com
2332
+ - nsimean@despegar.com
2124
2333
  - name: results.itineraries
2125
2334
  class_name: Henry::Task::CucumberTask
2126
2335
  options:
@@ -9512,51 +9721,6 @@ tasks:
9512
9721
  recipients:
9513
9722
  - estebanldh@gmail.com
9514
9723
  - nsimean@despegar.com
9515
- - name: prueba.busqueda
9516
- class_name: Henry::Task::CucumberTask
9517
- options:
9518
- tags:
9519
- - prueba
9520
- - busqueda
9521
- expand: true
9522
- no-source: true
9523
- reports:
9524
- - format: html
9525
- name: ${DATE}_${TASK_NAME}.html
9526
- recipients:
9527
- - estebanldh@gmail.com
9528
- - nsimean@despegar.com
9529
- - name: prueba.busqueda.ar
9530
- class_name: Henry::Task::CucumberTask
9531
- options:
9532
- tags:
9533
- - prueba
9534
- - busqueda
9535
- - ar
9536
- expand: true
9537
- no-source: true
9538
- reports:
9539
- - format: html
9540
- name: ${DATE}_${TASK_NAME}.html
9541
- recipients:
9542
- - estebanldh@gmail.com
9543
- - nsimean@despegar.com
9544
- - name: prueba.busqueda.ar.roundtrip
9545
- class_name: Henry::Task::CucumberTask
9546
- options:
9547
- tags:
9548
- - prueba
9549
- - busqueda
9550
- - ar
9551
- - roundtrip
9552
- expand: true
9553
- no-source: true
9554
- reports:
9555
- - format: html
9556
- name: ${DATE}_${TASK_NAME}.html
9557
- recipients:
9558
- - estebanldh@gmail.com
9559
- - nsimean@despegar.com
9560
9724
  - name: checkout.low_cost
9561
9725
  class_name: Henry::Task::CucumberTask
9562
9726
  options:
@@ -12475,19 +12639,6 @@ tasks:
12475
12639
  recipients:
12476
12640
  - estebanldh@gmail.com
12477
12641
  - nsimean@despegar.com
12478
- - name: prueba
12479
- class_name: Henry::Task::CucumberTask
12480
- options:
12481
- tags:
12482
- - prueba
12483
- expand: true
12484
- no-source: true
12485
- reports:
12486
- - format: html
12487
- name: ${DATE}_${TASK_NAME}.html
12488
- recipients:
12489
- - estebanldh@gmail.com
12490
- - nsimean@despegar.com
12491
12642
  - name: checkout
12492
12643
  class_name: Henry::Task::CucumberTask
12493
12644
  options:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flights_gui_tests
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - lgonzalez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-26 00:00:00.000000000 Z
11
+ date: 2014-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: henry-container
@@ -248,6 +248,7 @@ files:
248
248
  - features/support/classes/clusters/data/data.rb
249
249
  - features/support/classes/clusters/results/details_cluster.rb
250
250
  - features/support/classes/clusters/results/landing_cluster.rb
251
+ - features/support/classes/clusters/results/new_details_cluster.rb
251
252
  - features/support/classes/clusters/results/render_cluster.rb
252
253
  - features/support/classes/clusters/results_cluster.rb
253
254
  - features/support/classes/date.rb
@@ -274,6 +275,7 @@ files:
274
275
  - features/support/modules/pages/cookies.rb
275
276
  - features/support/modules/pages/tags.rb
276
277
  - features/support/modules/results/filters.rb
278
+ - features/support/modules/results/itineraries.rb
277
279
  - features/support/modules/results/itineraries/bussines.rb
278
280
  - features/support/modules/results/itineraries/data.rb
279
281
  - features/support/modules/results/itineraries/details.rb
@@ -335,6 +337,7 @@ files:
335
337
  - features/tests/results/matrix/matrix_fare_chart.feature
336
338
  - features/tests/results/matrix/matrix_price.feature
337
339
  - features/tests/results/new_filters.feature
340
+ - features/tests/results/new_itineraries.feature
338
341
  - features/tests/results/orders.feature
339
342
  - features/tests/results/pagination.feature
340
343
  - features/tests/results/recommendation.feature