flights_gui_henry_tests 2.0.7 → 2.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NTEzYTcwZDQ4ZTkxMDRmOWZlNDc3ZmVhMDllZjc0MmE3ZjQyMWZmNA==
4
+ M2JjZWNlNDRkYWY1NjcxNmNjM2Q2MTlkODBmODkxYjU3YWQwZmE4OA==
5
5
  data.tar.gz: !binary |-
6
- Mzk1YTYyZjc1ODljMTViOGU4NGM2YTFhNzI4OWU1NGY3OTViYzNjMw==
6
+ ZTg4OGM1NThiZjIyOTA4MTE5YmU4MjU5NzJiZjdhMDc5MTU1NTcwNg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YWNmY2YwNDRkYmE0Y2JhZDhlMGM0ZDJhZDVhMzkxODUxYWZiMjUwNzIyNWQz
10
- Yjk4MTg3M2JiZTk3ZGQ2NTBlMGQ2YmYxZmU5YmVhNTYyOWZkMjM2NWUyNWNh
11
- YmU4YzkwNjQxZjFkZDNkYzVjMmI1ZWMxOTNiMGVhNWFiYmQwNWE=
9
+ NTNmOTJkNTk3YjE4NjVhZTI3Yzg4NzZjMWY3Njk5YWMxOTNkZjRmMTY5MmFm
10
+ Y2ZiMjJiOGRhMGE5OTc1N2ZkMGYxZTNkMzYxYmRiMWVhNTJmZTg2MzhlYjdi
11
+ MDcwYWY2YjEzMTNkOWRlZTEzMjk2N2Y3NzIwYmZjZGFkMTBjNWU=
12
12
  data.tar.gz: !binary |-
13
- ODFlYzc4ZTIxZmVhYmUzYTNiODY5ZDY2NDFkODdjOTNkY2U5OTQ1OWVlYmVh
14
- Y2ZhOGJjZDM5ZTQwMDJmYzczYjY5MDk4YjcyYjg5MjI5NzQ3ZGM2OTM4ZmEx
15
- NjExYmQ5Y2M3ZDU0NmEyODQ2NWUwNTRmNTc2NjIwMzNmNWI3ZjY=
13
+ ZTE5MGY5Y2VhY2M1ODU1YTY2YjU0NDEyNDVmYTlkZjFiMDdjZGEwMzY1YmFj
14
+ YjhiYTFjN2RiNTVkZmY4N2VhZjg4NDg5NzBjMDg2OTc1ZDRhYWEwOGQ1NDVh
15
+ MDYxY2Y0ZTlkYjA0OWNlZWM0MmRhMWMzOTE3ZWU2MjA4ZjkxZTg=
@@ -12,6 +12,7 @@ MX:
12
12
  - {code: "MEX", airports: ["MEX", "TLC"], name: "Ciudad de Mexico|Cidade do Mexico"}
13
13
  - {code: "GDL", airports: ["GDL"], name: "Guadalajara"}
14
14
  - {code: "CUN", airports: ["CUN"], name: "Cancun"}
15
+ - {code: "MTY", airports: ["MTY"], name: "Monterrey"}
15
16
  PE:
16
17
  - {code: "LIM", airports: ["LIM"], name: "Lima"}
17
18
  VE:
@@ -8,11 +8,12 @@ When /^verifico que los precios de las cuotas se muestran correctamente$/ do
8
8
  radios.each do |radio|
9
9
  if radio.present?
10
10
  radio.click
11
+ sleep(0.5)
11
12
  doc=Hpricot.parse(BROWSER.span(:id,'total-price').html)
12
13
  total_2 = doc.inner_text.gsub(/\D/,'').to_i
13
14
  unless radio.attribute_value("data-regular-expressions").nil?
14
15
  keys = JSON.parse(radio.attribute_value("data-regular-expressions")).keys
15
- if interes or keys.select{|key| key.match(/(.*)CREDIT(.*)null/)}.first
16
+ if interes or radio.attribute_value("class").match(/radio-with-interest/)
16
17
  validar_cuota_con_intereses(total_1,total_2)
17
18
  else
18
19
  case keys.first
@@ -20,9 +21,9 @@ When /^verifico que los precios de las cuotas se muestran correctamente$/ do
20
21
  when /(.*)CREDIT(.*)null$/ then validar_cuota_con_intereses(total_1,total_2)
21
22
  when /(.*)CREDIT(.*)$/ then validar_cuota_sin_intereses(total_1,total_2)
22
23
  end
23
- #keys.uniq!.length.equal (keys.length)
24
- doc=Hpricot.parse(BROWSER.div(:id,'card-group').html)
25
- (doc/'select#card-brand option').collect{|option| option.attributes['value']}.sort.should equal(keys.sort)
24
+ keys.uniq.length.should equal(keys.length)
25
+ # doc=Hpricot.parse(BROWSER.div(:id,'card-group').html)
26
+ # (doc/'select#card-brand option').collect{|option| option.attributes['value']}.sort.should equal(keys.sort)
26
27
  end
27
28
  else
28
29
  interes = true
@@ -135,9 +136,7 @@ Then /^se elijio otro vuelo$/ do
135
136
  end
136
137
 
137
138
  Then /^Valido los valores del desglose del checkout$/ do
138
- puts @itinerario.tarifas
139
139
  @itinerario_checkout = CheckoutCluster.new(@search.description,Hpricot.parse(BROWSER.div(:id,'detail').html))
140
- puts @itinerario_checkout.tarifas
141
140
  @itinerario_checkout.validarSumaDesgloce.should be_within(4).of(@itinerario_checkout.tarifas['total'].value)
142
141
  unless @itinerario_checkout.tarifas['adt'].valor.zero?
143
142
  @itinerario_checkout.tarifas['adt'].valor.should equal(@itinerario_checkout.tarifas['tarifa_adulto'].valor * @search.adt)
@@ -188,7 +187,6 @@ end
188
187
 
189
188
  When /^Verifico que se muestre el banner de cancelacion$/ do
190
189
  value = get_abtesting "showFreeCancelMessage"
191
- puts value
192
190
  if $SITE=="EC" and value < 50
193
191
  BROWSER.div(:id,'cancellation-advice').should visible("banner de cancelacion")
194
192
  BROWSER.div(:id,'cancellation-advice').div(:class,'ux-common-message-content').p(:index,0).text.strip.should equal("¡Compre tranquilo!")
@@ -259,6 +259,5 @@ And /^Verifico las nacionalidades de los pasajeros$/ do
259
259
  container.select_list(:id,'nationality-0').select_value("BR")
260
260
  container.span(:id,'nationality-0-invalid_custom_nationality').should visible("error en la nacionalidad")
261
261
  container.span(:id,'nationality-0-invalid_custom_nationality').text.no_accents.should match("En cumplimiento de la resolucion 5499, solo podran comprar en este sitio residentes de la Republica Argentina.|Pasajes aereos internacionales solo para la venta de residentes de la Republica Bolivariana de Venezuela conformes al Art 2 de la providencia 124 de Cadivi.")
262
- BROWSER.div(:id,'agreement.value').label(:class,'label').text.no_accents.should match("y declaro que todos los pasajeros son residentes de la Republica Argentina|y declaro ser residente de la Republica Bolivariana de Venezuela")
263
262
  end
264
263
  end
@@ -55,7 +55,7 @@ end
55
55
  When /^que se muestre la descripcion de vuelos mas baratos$/ do
56
56
  BROWSER.div(:class,'cheapest-flights').should visible
57
57
  BROWSER.div(:class,'cheapest-flights').h3(:class,'main-title').text.no_accents.downcase.should match("vuelos mas baratos en despegar.com|cheapest flights in despegar.com|vuelos economicos en despegar.com|garanta suas passagens aereas no decolar.com")
58
- BROWSER.div(:class,'cheapest-flights').text.no_accents.should match("Welcome to Despegar.com|Seja bem-vindo ao Decolar.com|Bienvenidos a Despegar.com")
58
+ BROWSER.div(:class,'cheapest-flights').text.no_accents.should match("Welcome to Despegar.com|Encontre no Decolar.com Passagens aereas pelo melhor preco|Bienvenidos a Despegar.com")
59
59
  end
60
60
 
61
61
  When /^que se muestren las opiniones de pasajeros$/ do
@@ -250,7 +250,7 @@ When /^Elijo un ticket e ingreso a la pagina de resultados$/ do
250
250
 
251
251
  BROWSER.div(:class,'sub-cluster outbound').radio(:id,"0-outbound-0").set
252
252
  BROWSER.div(:class,'sub-cluster inbound').radio(:id,"0-inbound-0").set if @clusters.first.vuelta
253
- BROWSER.div(:id,'clusters').div(:class,/cluster flights-cluster/).link(:class,"buy btn-buy flights-button").click
253
+ BROWSER.div(:id,'clusters').div(:class,"cluster").link(:class,"buy btn-buy flights-button").click
254
254
  BROWSER.div(:id,'searchPopup').select_list(:class,'adultsSelect flights-select').select(3)
255
255
  BROWSER.div(:id,'searchPopup').select_list(:class,'childsSelect flights-select').select(2)
256
256
  ["3","4"].each_with_index do | age, j |
@@ -64,4 +64,12 @@ Then /^Verifico ordenamiento TOTALFARE_DESCENDING$/ do
64
64
  after.value.should is_greater_equal_than(cluster.tarifas['total'].value)
65
65
  after = cluster.tarifas['total']
66
66
  end
67
+ end
68
+
69
+ Then /^Verifico ordenamiento DURATION_ASCENDING$/ do
70
+ after = @clusters.first.duracion
71
+ @clusters.each do |cluster|
72
+ after.should_not is_greater_than(cluster.duracion)
73
+ after = cluster.duracion
74
+ end
67
75
  end
@@ -10,11 +10,16 @@ And /^Verifico si se muestran los beneficios en resultados$/ do
10
10
  end
11
11
 
12
12
  And /^Verifico si se muestran los beneficios en checkout$/ do
13
+ value = get_abtesting "showBenefits"
13
14
  if @benefits
14
15
  BROWSER.div(:class,'benefit-alert').should visible("beneficios en checkout")
15
16
  BROWSER.div(:class,'benefit-alert').span(:class,'smile icon-smile main-sprite').should visible("icono smile en checkout")
16
17
  BROWSER.div(:class,'benefit-alert').p(:class,'text').should visible("texto de beneficio en checkout")
17
18
  BROWSER.div(:class,'benefit-alert').p(:class,'text').text.should equal(@text_benefits)
19
+ elsif $SITE=="AR" and value < 50
20
+ BROWSER.div(:id,'benefit-advice-list').should visible("lista de beneficios en checkout")
21
+ BROWSER.div(:id,'benefit-advice-list').span(:class,'ux-common-icon-smile').should visible("icono smile en checkout")
22
+ (BROWSER.div(:id,'benefit-advice-list').lis(:class,'item').length > 0).should be_true
18
23
  else
19
24
  BROWSER.div(:class,'benefit-alert').should_not visible("beneficios en checkout")
20
25
  end
@@ -2,13 +2,14 @@
2
2
  Then /^Verifico cada cluster "(.*)"$/ do |type|
3
3
  json = @search.get_results_search_service
4
4
  i=0
5
- BROWSER.div(:id,'clusters').divs(:class,'cluster flights-cluster oldCluster').each do |cluster|
5
+ BROWSER.div(:id,'clusters').divs(:class,"cluster").each do |cluster|
6
6
  itinerary = ResultsCluster.new(type,Hpricot.parse(cluster.html))
7
7
  validate_cluster_miles(json,type,cluster,i)
8
8
  validate_cluster_details(json,type,cluster,i,itinerary)
9
9
  validate_itins_cluster_details(json,type,cluster,i)
10
10
  validate_fare_detail(json,cluster,i)
11
11
  validate_cluster_payments(cluster)
12
+ validate_cluster_bussines(cluster)
12
13
  i += 1
13
14
  break if i == 2
14
15
  end
@@ -16,7 +17,8 @@ end
16
17
 
17
18
  Then /^Verifico los cluster nuevos con encabezados$/ do
18
19
  i=0
19
- BROWSER.div(:id,'clusters').divs(:class,'cluster flights-cluster').each do |cluster|
20
+ class_ = $SITE.match("AR|BR") ? "new" : "old"
21
+ BROWSER.div(:id,'clusters').divs(:class,"cluster flights-cluster #{class_}Cluster").each do |cluster|
20
22
  validate_cluster_with_headers(@search.type,cluster,i) if cluster.li(:class,'itineraries-title').present?
21
23
  end
22
24
  end
@@ -35,7 +37,6 @@ When /^Elijo un itinerario y paso a checkout$/ do
35
37
  end
36
38
 
37
39
  When /^Elijo un itinerario con proveedor "(.*)" y paso a checkout$/ do |prov|
38
- type = $SITE=="US" ? "new" : "old"
39
40
  json = @search.get_results_search_service
40
41
  i = 0
41
42
  page = 1
@@ -46,7 +47,7 @@ When /^Elijo un itinerario con proveedor "(.*)" y paso a checkout$/ do |prov|
46
47
  BROWSER.div(:class,'pagination').li(:class,'pagination-button next').click
47
48
  step "Espero que termine de cargar"
48
49
  end
49
- BROWSER.div(:id,'clusters').divs(:class,"cluster flights-cluster #{type}Cluster").each do |cluster|
50
+ BROWSER.div(:id,'clusters').divs(:class,"cluster").each do |cluster|
50
51
  if json['result']['data']['items'][i]['provider']==prov
51
52
  @item_json = json['result']['data']['items'][i]
52
53
  encontro = true
@@ -94,7 +95,7 @@ Then /^Completo el formulario de pasajeros$/ do
94
95
  container.text_field(:id,"passenger-first-name-#{index}").set("Martin QA" + plus_name[index]) if container.text_field(:id,"passenger-first-name-#{index}").present?
95
96
  container.text_field(:id,"passenger-last-name-#{index}").set("Diez" + plus_name[index]) if container.text_field(:id,"passenger-last-name-#{index}").present?
96
97
  container.select_list(:id,"nationality-#{index}").select_value($SITE) if container.select_list(:id,"nationality-#{index}").present?
97
- container.select_list(:id,"document-type-#{index}").select_value("PASSPORT") if container.select_list(:id,"document-type-#{index}").present?
98
+ container.select_list(:id,"document-type-#{index}").select_value($SITE.match("AR") ? "LOCAL" : "PASSPORT") if container.select_list(:id,"document-type-#{index}").present?
98
99
  container.text_field(:id,"document-number-#{index}").set("3245673#{index}") if container.text_field(:id,"document-number-#{index}").present?
99
100
  container.select_list(:id,"passenger-birthday-day-#{index}").select(index+1) if container.select_list(:id,"passenger-birthday-day-#{index}").present?
100
101
  container.select_list(:id,"passenger-birthday-month-#{index}").select(3) if container.select_list(:id,"passenger-birthday-month-#{index}").present?
@@ -106,7 +107,7 @@ Then /^Completo el formulario de pasajeros$/ do
106
107
  container.text_field(:id,"passenger-first-name-#{index}").set("Diego qa" + plus_name[index]) if container.text_field(:id,"passenger-first-name-#{index}").present?
107
108
  container.text_field(:id,"passenger-last-name-#{index}").set("Romero jr" + plus_name[index]) if container.text_field(:id,"passenger-last-name-#{index}").present?
108
109
  container.select_list(:id,"nationality-#{index}").select_value($SITE) if container.select_list(:id,"nationality-#{index}").present?
109
- container.select_list(:id,"document-type-#{index}").select_value("PASSPORT") if container.select_list(:id,"document-type-#{index}").present?
110
+ container.select_list(:id,"document-type-#{index}").select_value($SITE.match("AR") ? "LOCAL" : "PASSPORT") if container.select_list(:id,"document-type-#{index}").present?
110
111
  container.text_field(:id,"document-number-#{index}").set("3012343#{index}") if container.text_field(:id,"document-number-#{index}").present?
111
112
  container.select_list(:id,"passenger-birthday-day-#{index}").select(index+2) if container.select_list(:id,"passenger-birthday-day-#{index}").present?
112
113
  container.select_list(:id,"passenger-birthday-month-#{index}").select(5) if container.select_list(:id,"passenger-birthday-month-#{index}").present?
@@ -118,7 +119,7 @@ Then /^Completo el formulario de pasajeros$/ do
118
119
  container.text_field(:id,"passenger-first-name-#{index}").set("Maribel qa" + plus_name[index]) if container.text_field(:id,"passenger-first-name-#{index}").present?
119
120
  container.text_field(:id,"passenger-last-name-#{index}").set("Dias Herr jrb" + plus_name[index]) if container.text_field(:id,"passenger-last-name-#{index}").present?
120
121
  container.select_list(:id,"nationality-#{index}").select_value($SITE) if container.select_list(:id,"nationality-#{index}").present?
121
- container.select_list(:id,"document-type-#{index}").select_value("PASSPORT") if container.select_list(:id,"document-type-#{index}").present?
122
+ container.select_list(:id,"document-type-#{index}").select_value($SITE.match("AR") ? "LOCAL" : "PASSPORT") if container.select_list(:id,"document-type-#{index}").present?
122
123
  container.text_field(:id,"document-number-#{index}").set("4569734#{index}") if container.text_field(:id,"document-number-#{index}").present?
123
124
  container.select_list(:id,"passenger-birthday-day-#{index}").select(index+3) if container.select_list(:id,"passenger-birthday-day-#{index}").present?
124
125
  container.select_list(:id,"passenger-birthday-month-#{index}").select(7) if container.select_list(:id,"passenger-birthday-month-#{index}").present?
@@ -6,7 +6,13 @@ class DetailsCluster
6
6
  @tramos = []
7
7
  (p_html/"div.popup-container div.popup-content div.detail").each do |div|
8
8
  tramo = Hash.new
9
- tramo['clase'] = (div/"div.segment span.class").first.inner_text.strip.no_accents
9
+ if (div/"div.segment span.not-economy-segments").first.nil?
10
+ tramo['bussines'] = nil
11
+ tramo['clase'] = (div/"div.segment span.class").first.inner_text.strip.no_accents
12
+ else
13
+ tramo['bussines'] = ((div/"div.segment span.not-economy-segments span.not-economy-segments-description").first.inner_text.strip.no_accents == "Business")
14
+ tramo['clase'] = (div/"div.segment span.not-economy-segments span.not-economy-segments-description").first.inner_text.strip.no_accents
15
+ end
10
16
  tramo['ciudad_origen'] = (div/"li.departure span.location span.data").first.inner_text.strip.no_accents
11
17
  tramo['fecha_origen'] = Date.parse_new_details((div/"li.departure span.date span.day").first.inner_text.strip.no_accents)
12
18
  tramo['hora_origen'] = Time.parse((div/"li.departure span.date span.hour").first.inner_text.strip.no_accents)
@@ -40,8 +40,8 @@ class ResultsCluster
40
40
  aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
41
41
  i = i + 1
42
42
  end
43
- hou_sal_ida = Time.parse((div_datos_ida/"li.leave strong").inner_text.strip)
44
- hou_lle_ida = Time.parse((div_datos_ida/"li.arrive strong").inner_text.strip)
43
+ hou_sal_ida = Time.parse((div_datos_ida/"li.leave span.hour").inner_text.strip)
44
+ hou_lle_ida = Time.parse((div_datos_ida/"li.arrive span.hour").inner_text.strip)
45
45
  @idas << DataCluster.new(origen,destino,fecha, aerolinea, escala_to_i(escala),origen_iata,destino_iata,hou_sal_ida,hou_lle_ida,duracion)
46
46
  end
47
47
  @nro_vuelo_ida = 0
@@ -69,8 +69,8 @@ class ResultsCluster
69
69
  aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
70
70
  i = i + 1
71
71
  end
72
- hou_sal_ida = Time.parse((div_datos_vuelta/"li.leave strong").inner_text.strip)
73
- hou_lle_ida = Time.parse((div_datos_vuelta/"li.arrive strong").inner_text.strip)
72
+ hou_sal_ida = Time.parse((div_datos_vuelta/"li.leave span.hour").inner_text.strip)
73
+ hou_lle_ida = Time.parse((div_datos_vuelta/"li.arrive span.hour").inner_text.strip)
74
74
  @vueltas << DataCluster.new(origen,destino,fecha, aerolinea, escala_to_i(escala),origen_iata,destino_iata,hou_sal_ida,hou_lle_ida,duracion)
75
75
  end
76
76
  @nro_vuelo_vuelta = 0
@@ -142,4 +142,27 @@ class ResultsCluster
142
142
  (vueltas + @idas.collect{|vuelta| vuelta.escalas}).sort
143
143
  end
144
144
 
145
+ def duracion
146
+ menor_ida = menor_duracion(@idas.collect{|ida| ida.duracion})
147
+ menor_vuelta = @vueltas ? menor_duracion(@vueltas.collect{|ida| ida.duracion}) : 0
148
+
149
+ return menor_vuelta + menor_ida
150
+ end
151
+
152
+ def menor_duracion(rutas)
153
+ totales = []
154
+ rutas.each do |custom|
155
+ if custom.match("^(.*)h (.*)m$")
156
+ total = custom.match("^(.*)h (.*)m$")[1].to_i * 60
157
+ total += custom.match("^(.*)h (.*)m$")[2].to_i
158
+ elsif custom.match("^(.*)h$")
159
+ total = custom.match("^(.*)h$")[1].to_i * 60
160
+ else
161
+ total = custom.match("^(.*)m$")[1].to_i
162
+ end
163
+ totales << total
164
+ end
165
+ return totales.sort.first
166
+ end
167
+
145
168
  end
@@ -25,7 +25,5 @@ def validar_cuota_con_intereses(total_1,total_2)
25
25
  ((total_2 - (inicial + (cant_restantes * valor_restantes))).abs <= 2).should be_true
26
26
  costo_financiero.should equal(total_2 - total_1)
27
27
  end
28
- else
29
- total_1.should equal(total_2)
30
28
  end
31
29
  end
@@ -102,10 +102,20 @@ end
102
102
 
103
103
  def validar_clase(cluster,route)
104
104
  if cluster.tramos.select{|tramo| tramo['bussines'] }.empty?
105
- route.span(:class,'ux-common-icon-rate-star').present?
105
+ route.span(:class,'ux-common-icon-rate-star').should_not visible("icono de bussines")
106
+ else
107
+ route.span(:class,'ux-common-icon-rate-star').should visible("icono de bussines")
106
108
  end
107
109
  end
108
110
 
111
+ def validate_cluster_bussines(cluster)
112
+ if cluster.div(:class,'not-economy-cluster-alert').present?
113
+ cluster.span(:class,'ux-common-icon-rate-star').should visible("icono de bussines")
114
+ else
115
+ cluster.span(:class,'ux-common-icon-rate-star').should_not visible("icono de bussines")
116
+ end
117
+ end
118
+
109
119
  def recorrer_segmentos(route,cluster)
110
120
  route.li(:class,'stops').a(:class,'text').click
111
121
  Watir::Wait.until{BROWSER.div(:class,"flights-popup popup-detail").present?}
@@ -126,7 +136,7 @@ def reglas_de_vuelo()
126
136
  popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').should_not visible
127
137
  popup.div(:class,'top-box').a(:class,'show-rules').click
128
138
  popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').should visible
129
- popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').div(:class,'text').text.strip.no_accents.should match(/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/)
139
+ popup.div(:class,'detail').div(:class,'detail-footer').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/)
130
140
  end
131
141
 
132
142
  def validate_cluster_with_headers(type,cluster,i)
@@ -37,13 +37,13 @@ Característica: checkout.aij
37
37
  Ejemplos:
38
38
  |pais|tipo|cabotage|prov|from|to|date_from|date_to|
39
39
  |US|roundtrip|true|AIJ|MEX|GDL|2014-02-28|2014-03-17|
40
- |US|oneway|true|AIJ|MEX|GDL|2014-03-28|2014-04-17|
41
- |US|roundtrip|true|AIJ|MEX|CUN|2014-03-01|2014-03-15|
40
+ |US|oneway|true|AIJ|MEX|MTY|2014-03-28|2014-04-17|
41
+ |US|roundtrip|true|AIJ|MEX|MTY|2014-03-01|2014-03-15|
42
42
  |US|oneway|true|AIJ|MEX|CUN|2014-02-19|2014-02-27|
43
43
  @mx
44
44
  Ejemplos:
45
45
  |pais|tipo|cabotage|prov|from|to|date_from|date_to|
46
- |MX|roundtrip|true|AIJ|MEX|GDL|2014-02-28|2014-03-17|
46
+ |MX|roundtrip|true|AIJ|MEX|MTY|2014-02-28|2014-03-17|
47
47
  |MX|oneway|true|AIJ|MEX|GDL|2014-03-28|2014-04-17|
48
48
  |MX|roundtrip|true|AIJ|MEX|CUN|2014-03-01|2014-03-15|
49
49
  |MX|oneway|true|AIJ|MEX|CUN|2014-02-19|2014-02-27|
@@ -19,58 +19,70 @@ Característica: search.orders
19
19
  |pais|tipo|order|
20
20
  |AR |roundtrip|STOPSCOUNT_ASCENDING|
21
21
  |AR |oneway|TOTALFARE_ASCENDING|
22
+ |AR |roundtrip|DURATION_ASCENDING|
22
23
  @br
23
24
  Ejemplos:
24
25
  |pais|tipo|order|
25
26
  |BR |roundtrip|STOPSCOUNT_ASCENDING|
26
27
  |BR |oneway|TOTALFARE_ASCENDING|
28
+ |BR |oneway|DURATION_ASCENDING|
27
29
  @cl
28
30
  Ejemplos:
29
31
  |pais|tipo|order|
30
32
  |CL |roundtrip|STOPSCOUNT_ASCENDING|
31
33
  |CL |oneway|TOTALFARE_ASCENDING|
34
+ |CL |roundtrip|DURATION_ASCENDING|
32
35
  @co
33
36
  Ejemplos:
34
37
  |pais|tipo|order|
35
38
  |CO |roundtrip|STOPSCOUNT_ASCENDING|
36
39
  |CO |oneway|TOTALFARE_ASCENDING|
40
+ |CO |oneway|DURATION_ASCENDING|
37
41
  @cr
38
42
  Ejemplos:
39
43
  |pais|tipo|order|
40
44
  |CR |roundtrip|STOPSCOUNT_ASCENDING|
41
45
  |CR |oneway|TOTALFARE_ASCENDING|
46
+ |CR |roundtrip|DURATION_ASCENDING|
42
47
  @pa
43
48
  Ejemplos:
44
49
  |pais|tipo|order|
45
50
  |PA |roundtrip|STOPSCOUNT_ASCENDING|
46
51
  |PA |oneway|TOTALFARE_ASCENDING|
52
+ |PA |oneway|DURATION_ASCENDING|
47
53
  @ec
48
54
  Ejemplos:
49
55
  |pais|tipo|order|
50
56
  |EC |roundtrip|STOPSCOUNT_ASCENDING|
51
57
  |EC |oneway|TOTALFARE_ASCENDING|
58
+ |EC |roundtrip|DURATION_ASCENDING|
52
59
  @mx
53
60
  Ejemplos:
54
61
  |pais|tipo|order|
55
62
  |MX |roundtrip|STOPSCOUNT_ASCENDING|
56
63
  |MX |oneway|TOTALFARE_ASCENDING|
64
+ |MX |oneway|DURATION_ASCENDING|
57
65
  @pe
58
66
  Ejemplos:
59
67
  |pais|tipo|order|
60
68
  |PE |roundtrip|STOPSCOUNT_ASCENDING|
61
69
  |PE |oneway|TOTALFARE_ASCENDING|
70
+ |PE |roundtrip|DURATION_ASCENDING|
62
71
  @uy
63
72
  Ejemplos:
64
73
  |pais|tipo|order|
65
74
  |UY |roundtrip|STOPSCOUNT_ASCENDING|
66
75
  |UY |oneway|TOTALFARE_ASCENDING|
76
+ |UY |oneway|DURATION_ASCENDING|
67
77
  @us
68
78
  Ejemplos:
69
79
  |pais|tipo|order|
70
80
  |US |roundtrip|STOPSCOUNT_ASCENDING|
71
81
  |US |oneway|TOTALFARE_ASCENDING|
82
+ |US |roundtrip|DURATION_ASCENDING|
72
83
  @ve
73
84
  Ejemplos:
74
85
  |pais|tipo|order|
75
86
  |VE |roundtrip|STOPSCOUNT_ASCENDING|
76
87
  |VE |oneway|TOTALFARE_ASCENDING|
88
+ |VE |oneway|DURATION_ASCENDING|
@@ -47,21 +47,6 @@ Característica: search.searches
47
47
  Ejemplos:
48
48
  |pais|tipo|cabotage|
49
49
  |AR |multipledestinations|nil|
50
- @br
51
- @roundtrip
52
- Ejemplos:
53
- |pais|tipo|cabotage|
54
- |BR |roundtrip|nil|
55
- @br
56
- @oneway
57
- Ejemplos:
58
- |pais|tipo|cabotage|
59
- |BR |oneway|true|
60
- @br
61
- @multipledestinations
62
- Ejemplos:
63
- |pais|tipo|cabotage|
64
- |BR |multipledestinations|nil|
65
50
  @co
66
51
  @roundtrip
67
52
  Ejemplos:
@@ -15,7 +15,7 @@
15
15
 
16
16
  gem.require_paths = ["lib"] #Usualmente es solo lib -> ["lib"]
17
17
 
18
- gem.version = '2.0.7' #La version se debe incrementar cada vez que se desea publicar una nueva version del test.
18
+ gem.version = '2.0.8' #La version se debe incrementar cada vez que se desea publicar una nueva version del test.
19
19
 
20
20
  gem.add_dependency('henry-container', '>= 0.1.39')
21
21
  gem.add_dependency('watir-webdriver')
data/henry-context.yml CHANGED
@@ -270,69 +270,6 @@ tasks:
270
270
  recipients:
271
271
  - estebanldh@gmail.com
272
272
  - nsimean@despegar.com
273
- - name: search.searches.br
274
- class_name: Henry::Task::CucumberTask
275
- options:
276
- tags:
277
- - search
278
- - searches
279
- - br
280
- expand: true
281
- no-source: true
282
- reports:
283
- - format: html
284
- name: ${DATE}_${TASK_NAME}.html
285
- recipients:
286
- - estebanldh@gmail.com
287
- - nsimean@despegar.com
288
- - name: search.searches.br.roundtrip
289
- class_name: Henry::Task::CucumberTask
290
- options:
291
- tags:
292
- - search
293
- - searches
294
- - br
295
- - roundtrip
296
- expand: true
297
- no-source: true
298
- reports:
299
- - format: html
300
- name: ${DATE}_${TASK_NAME}.html
301
- recipients:
302
- - estebanldh@gmail.com
303
- - nsimean@despegar.com
304
- - name: search.searches.br.oneway
305
- class_name: Henry::Task::CucumberTask
306
- options:
307
- tags:
308
- - search
309
- - searches
310
- - br
311
- - oneway
312
- expand: true
313
- no-source: true
314
- reports:
315
- - format: html
316
- name: ${DATE}_${TASK_NAME}.html
317
- recipients:
318
- - estebanldh@gmail.com
319
- - nsimean@despegar.com
320
- - name: search.searches.br.multipledestinations
321
- class_name: Henry::Task::CucumberTask
322
- options:
323
- tags:
324
- - search
325
- - searches
326
- - br
327
- - multipledestinations
328
- expand: true
329
- no-source: true
330
- reports:
331
- - format: html
332
- name: ${DATE}_${TASK_NAME}.html
333
- recipients:
334
- - estebanldh@gmail.com
335
- - nsimean@despegar.com
336
273
  - name: search.searches.co
337
274
  class_name: Henry::Task::CucumberTask
338
275
  options:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flights_gui_henry_tests
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.7
4
+ version: 2.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - lgonzalez,lsimean