flights_gui_henry_tests 2.0.7 → 2.0.8

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.
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