flights_gui_henry_tests 2.3.2 → 2.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/features/step_definitions/checkout/checkout_steps.rb +4 -2
- data/features/step_definitions/filter/filters_airlines.rb +0 -2
- data/features/step_definitions/filter/filters_airports_steps.rb +0 -1
- data/features/step_definitions/filter/filters_price_steps.rb +6 -2
- data/features/step_definitions/filter/filters_time_steps.rb +4 -1
- data/features/step_definitions/filter/matrix_steps.rb +2 -2
- data/features/step_definitions/search/reviews_step.rb +12 -11
- data/features/step_definitions/search/wish_list_steps.rb +1 -1
- data/features/support/lib/clusters/checkout_cluster.rb +59 -1
- data/features/support/lib/clusters/data/data.rb +1 -1
- data/features/tests/filters/filters.feature +12 -10
- data/features/tests/landing/landing_filters.feature +8 -8
- data/features/tests/landing/landing_long_tail.feature +10 -0
- data/features/tests/matrix/matrix_fare_chart.feature +21 -1
- data/features/tests/search/reviews.feature +0 -1
- data/flights_gui_henry_tests.gemspec +1 -1
- data/henry-context.yml +60 -15
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NjEzZTcyNDcwYmU5YTE1NmMwNWQzODg3MWQ3Mjg1OTQyYjUxNWQyNw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZWJhZGI1MWI5ZWZjZGMwNTFhYmE1MjJmMzU3ZTQ0YzVmYTEwNmE5YQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZTQ4YWFjZDEwZmJhZmM2YTU5YmZlMjE3Mzg0MzRiYTFhZWU5Y2NkZmZhZWZh
|
10
|
+
ZmU1MjAwY2Q4NzRhYzc0YTEyNGI4ZDY4NTNlYjJkYmQ5NGUwMDA1MjNiODNi
|
11
|
+
YmNkN2FhNzI0NjhlMWQxYjFiNDFmMTgyMjdlNDNmNWMwODczMWQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZjA0ZGEwZWU1Mjk4OWVkMDY4YjY1NmQ3OTgxMTkyMWE2MTRlNTQ5ZDNjNTVj
|
14
|
+
Yjc0NDExOGNmYjk1NzEyMWNjNDQwNmY4OGI2ODk4M2EwYmU2Y2ZiZTNjMmE1
|
15
|
+
M2M5MjYyOWU4ZDJmNGExZGNjNTcyMjY5MjJmZTUyYWVhMmViNzg=
|
@@ -108,7 +108,7 @@ And /^Completo los datos para reservas CAC$/ do
|
|
108
108
|
if $SITE=="AR"
|
109
109
|
if [true,false][rand(2)]
|
110
110
|
BROWSER.div(:id,'offlinePaymentDefinition').select_list(:id,'owner-type').select_value("COMPANY")
|
111
|
-
BROWSER.div(:id,'offlinePaymentDefinition').text_field(:id,"owner-fiscal-document-number").set(
|
111
|
+
BROWSER.div(:id,'offlinePaymentDefinition').text_field(:id,"owner-fiscal-document-number").set(30643063936)
|
112
112
|
else
|
113
113
|
BROWSER.div(:id,'offlinePaymentDefinition').select_list(:id,'owner-type').select_value("PERSON")
|
114
114
|
BROWSER.div(:id,'offlinePaymentDefinition').text_field(:id,'owner-document-number').set(32456734)
|
@@ -138,6 +138,8 @@ end
|
|
138
138
|
Then /^Valido los valores del desglose del checkout$/ do
|
139
139
|
@itinerario_checkout = CheckoutCluster.new(@search.description,Hpricot.parse(BROWSER.div(:id,'detail').html))
|
140
140
|
@itinerario_checkout.validarSumaDesgloce.should be_within(4).of(@itinerario_checkout.tarifas['total'].value)
|
141
|
+
puts @itinerario_checkout.idas
|
142
|
+
puts @itinerario_checkout.vueltas if @search.description.downcase=="roundtrip"
|
141
143
|
unless @itinerario_checkout.tarifas['adt'].valor.zero?
|
142
144
|
@itinerario_checkout.tarifas['adt'].valor.should equal(@itinerario_checkout.tarifas['tarifa_adulto'].valor * @search.adt)
|
143
145
|
end
|
@@ -246,7 +248,7 @@ And /^Completo los campos de factura fiscal$/ do
|
|
246
248
|
#lleno los campos requeridos
|
247
249
|
container.text_field(:id,'invoice-fiscal-id').set("30643063936")
|
248
250
|
container.text_field(:id,'invoice-card-holder-name').set("diego qa romero")
|
249
|
-
container.select_list(:id,'invoice-state').select_value("
|
251
|
+
container.select_list(:id,'invoice-state').select_value("C")
|
250
252
|
container.text_field(:id,'invoice-city-custom').set("buenos aires")
|
251
253
|
sleep(1)
|
252
254
|
BROWSER.send_keys :enter
|
@@ -3,13 +3,11 @@ Then /^Elijo una aerolinea a aplicar$/ do
|
|
3
3
|
doc = Hpricot.parse(BROWSER.html)
|
4
4
|
options = (doc/"div.ux-flights-filter-airlines")[0]
|
5
5
|
options = (options/"ul.items label").reject{|option| option.attributes["class"].match(/selected|disabled|enabled/)}
|
6
|
-
puts options
|
7
6
|
@airline = options[rand(options.length)]
|
8
7
|
@total = (@airline/"span.total").inner_text.strip.to_i
|
9
8
|
end
|
10
9
|
|
11
10
|
When /^Filtro por aerolinea$/ do
|
12
|
-
puts (@airline/"input").first.attributes['id']
|
13
11
|
BROWSER.checkbox(:id,(@airline/"input").first.attributes['id']).set
|
14
12
|
end
|
15
13
|
|
@@ -7,7 +7,6 @@ Then /^Elijo un aeropuerto (outbound|inbound) a aplicar$/ do |_class|
|
|
7
7
|
_clase = 'destiny'
|
8
8
|
end
|
9
9
|
options = (doc/"div.ux-flights-filter-#{_clase}airports//label").reject{|option| option.attributes["class"].match(/selected|disabled/) or option.attributes["for"].match(/unique-airport/)}
|
10
|
-
puts options
|
11
10
|
@airport = options[rand(options.length)]
|
12
11
|
@total = (@airport/"span.total").inner_text.strip.to_i
|
13
12
|
end
|
@@ -12,8 +12,10 @@ end
|
|
12
12
|
|
13
13
|
Then /^Filtro por precio mayor$/ do
|
14
14
|
if BROWSER.span(:class,'ux-common-filter-slider flights-filter-slider ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all').present?
|
15
|
-
BROWSER.
|
15
|
+
BROWSER.execute_script("javascript:void($('.price-max').val(''))")
|
16
16
|
BROWSER.div(:id,'ux-flights-filters').text_field(:class,'price-max').set(@price_up+3)
|
17
|
+
BROWSER.link(:class, 'ux-common-filter-apply apply').click
|
18
|
+
step "Espero que termine de cargar"
|
17
19
|
price=BROWSER.div(:id,'ux-flights-filters').text_field(:class,'price-max').value.to_i
|
18
20
|
while(price>@price_up)
|
19
21
|
BROWSER.div(:id,'ux-flights-filters').span(:class,'ux-common-filter-slider flights-filter-slider ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all').link(:class,'ui-slider-handle ui-state-default ui-corner-all ui-slider-handle-max').send_keys :left
|
@@ -44,8 +46,10 @@ end
|
|
44
46
|
|
45
47
|
Then /^Filtro por precio menor$/ do
|
46
48
|
if BROWSER.span(:class,'ux-common-filter-slider flights-filter-slider ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all').present?
|
47
|
-
BROWSER.
|
49
|
+
BROWSER.execute_script("javascript:void($('.price-min').val(''))")
|
48
50
|
BROWSER.div(:id,'ux-flights-filters').text_field(:class,'price-min').set(@price_down-2)
|
51
|
+
BROWSER.link(:class, 'ux-common-filter-apply apply').click
|
52
|
+
step "Espero que termine de cargar"
|
49
53
|
price=BROWSER.div(:id,'ux-flights-filters').text_field(:class,'price-min').value.to_i
|
50
54
|
while(price<@price_down)
|
51
55
|
BROWSER.div(:id,'ux-flights-filters').span(:class,'ux-common-filter-slider flights-filter-slider ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all').link(:class,'ui-slider-handle ui-state-default ui-corner-all ui-slider-handle-min').send_keys :right
|
@@ -83,8 +83,11 @@ Then /^Elijo una duracion (outbound|inbound) a aplicar$/ do |_class|
|
|
83
83
|
unless((_class=="inbound")and(@search.description=="oneway"))
|
84
84
|
box=BROWSER.div(:class,"ux-common-filter-section ux-common-filter-slider ux-flights-filter-hours-slider ux-flights-filter-duration-slider ux-flights-filter-#{_class}duration-slider")
|
85
85
|
@from_time=box.li(:class,'ux-common-filter-hour-min').spans.first.text
|
86
|
+
puts @from_time
|
86
87
|
@to_time=box.li(:class,'ux-common-filter-hour-max').spans.first.text
|
87
|
-
|
88
|
+
puts @to_time
|
89
|
+
diff="#{@to_time.split(':')[0].to_i-1}:#{@from_time.split(':')[1]}"
|
90
|
+
puts diff
|
88
91
|
while(@to_time!=diff and @to_time!=@from_time)
|
89
92
|
box.link(:class,'ui-slider-handle ui-state-default ui-corner-all ui-slider-handle-max').send_keys :left
|
90
93
|
@to_time=box.li(:class,'ux-common-filter-hour-max').spans.first.text
|
@@ -171,11 +171,11 @@ And /^Verifico el l\&f de la matriz de tendencia de precios$/ do
|
|
171
171
|
(doc/"div.fare-chart-content div.fare-chart-main div.fare-chart-values-container").empty?.should be_false
|
172
172
|
(doc/"div.fare-chart-content div.fare-chart-main div.fare-chart-big-viewport").empty?.should be_false
|
173
173
|
(doc/"div.fare-chart-content div.fare-chart-main div.fare-chart-big-viewport div[@class='fare-chart-bars-container fare-chart-big ui-draggable']").empty?.should be_false
|
174
|
-
(doc/"div.fare-chart-content div.fare-chart-main div.fare-chart-big-viewport div[@class='fare-chart-bars-container fare-chart-big ui-draggable'] div.fare-chart-bars").length.should equal(
|
174
|
+
(doc/"div.fare-chart-content div.fare-chart-main div.fare-chart-big-viewport div[@class='fare-chart-bars-container fare-chart-big ui-draggable'] div.fare-chart-bars").length.should equal(11)
|
175
175
|
#secondary
|
176
176
|
(doc/"div.fare-chart-content div.fare-chart-secondary").empty?.should be_false
|
177
177
|
(doc/"div.fare-chart-content div.fare-chart-secondary div[@class='fare-chart-bars-container fare-chart-small']").empty?.should be_false
|
178
|
-
(doc/"div.fare-chart-content div.fare-chart-secondary div[@class='fare-chart-bars-container fare-chart-small'] div.fare-chart-bars").length.should equal(
|
178
|
+
(doc/"div.fare-chart-content div.fare-chart-secondary div[@class='fare-chart-bars-container fare-chart-small'] div.fare-chart-bars").length.should equal(11)
|
179
179
|
(doc/"div.fare-chart-content div.fare-chart-secondary div[@class='fare-char-small-selector ui-draggable']").empty?.should be_false
|
180
180
|
#script
|
181
181
|
BROWSER.script(:id,'popup-fare-chart-template').exists?.should be_true
|
@@ -15,23 +15,24 @@ Then /^Verifico cada review "(.*)"$/ do |site|
|
|
15
15
|
doc = Hpricot.parse(BROWSER.div(:id,'popup-reviews').html)
|
16
16
|
ul.div(:class,'airline-logo').images[0].src.strip.downcase.should match((doc/"span.logo/img").first.attributes['src'].strip.downcase)
|
17
17
|
ul.div(:class,'airline-name').text.strip.downcase.should equal(BROWSER.div(:id,'popup-reviews').h4(:class,'name').text.strip.downcase)
|
18
|
+
valor_link.should match((doc/"span.popup-reviews-summary-points-container span").first.inner_text)
|
18
19
|
BROWSER.div(:id,'popup-reviews').span(:class,'popup-close-button popup-close').click
|
19
20
|
Watir::Wait.until{!BROWSER.div(:id,'popup-reviews').present?}
|
20
21
|
end
|
21
22
|
else
|
22
23
|
ul.link(:class,"review-description").should visible("reviews de aerolineas")
|
23
24
|
end
|
24
|
-
if ul.span(:class,"main-sprite icon-full-leaf").present?
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
end
|
25
|
+
# if ul.span(:class,"main-sprite icon-full-leaf").present?
|
26
|
+
# footprint = (json['result']['data']['pricesSummary']['matrix'][i]['footprint'] * 100).to_i
|
27
|
+
# footprint.should equal(ul.span(:class,"main-sprite icon-full-leaf").style.match(/(\d+)(\.|\%)/)[1].to_i)
|
28
|
+
# level = case footprint
|
29
|
+
# when 0..24 then "Nivel de preservacion: Poco ecologico|nivel de preservacao: pouco ecologico"
|
30
|
+
# when 25..74 then "Nivel de preservacion: Medianamente ecologico|nivel de preservacao: medio ecologico"
|
31
|
+
# when 75..100 then "Nivel de preservacion: Muy ecologico|nivel de preservacao: muito ecologico"
|
32
|
+
# else puts "Huella ecologica no valida"
|
33
|
+
# end
|
34
|
+
# ul.span(:class,'ecological-flight main-sprite icon-empty-leaf').title.downcase.no_accents.strip.should match(level.downcase)
|
35
|
+
# end
|
35
36
|
i += 1
|
36
37
|
end
|
37
38
|
end
|
@@ -82,7 +82,7 @@ end
|
|
82
82
|
|
83
83
|
Then /^Elijo el itinerario de la lista de deseos$/ do
|
84
84
|
@url = BROWSER.url
|
85
|
-
BROWSER.div(:class,'nibbler-popup-wishlist nibbler-header-popup big').
|
85
|
+
BROWSER.div(:class,'nibbler-popup-wishlist nibbler-header-popup big').h4(:class,'nibbler-common-last-searches-body-content-title').click
|
86
86
|
end
|
87
87
|
|
88
88
|
Then /^Verifico que dirija correctamente a la pagina de resultados$/ do
|
@@ -1,11 +1,69 @@
|
|
1
1
|
class CheckoutCluster
|
2
2
|
|
3
|
-
attr_accessor :ida, :vuelta, :tarifas
|
3
|
+
attr_accessor :ida, :vuelta, :tarifas, :idas, :vueltas
|
4
4
|
|
5
5
|
def initialize(itinerario,html,page = 0)
|
6
6
|
self.load_prices((html/"div.price-info"))
|
7
|
+
eval "#{itinerario.downcase}(html)"
|
7
8
|
end
|
9
|
+
def roundtrip(html)
|
10
|
+
self.load_data_from((html/"div#itinerary div[@class='route outbound-route row-col']"))
|
11
|
+
self.load_data_to((html/"div#itinerary div[@class='route inbound-route row-col']"))
|
12
|
+
end
|
13
|
+
def oneway(html)
|
14
|
+
self.load_data_from((html/"div#itinerary div[@class='route outbound-route row-col']"))
|
15
|
+
@nro_vuelo_vuelta = -1
|
16
|
+
end
|
17
|
+
def multipledestinations(html)
|
18
|
+
self.load_data_from((html/"div#itinerary div[@class='route outbound-route row-col']"))
|
19
|
+
self.load_data_to((html/"div#itinerary div[@class='route outbound-route row-col']").last)
|
20
|
+
end
|
21
|
+
def load_data_from(div_datos)
|
22
|
+
@idas = Array.new
|
23
|
+
(div_datos/"div.segment").each do |div_datos_ida|
|
24
|
+
origen = (div_datos/"span.cities").first.inner_html.to_s.match("(.*)\<span class=\"separator\"\>\<\/span\>(.*)")[1].strip.no_accents
|
25
|
+
destino= (div_datos/"span.cities").last.inner_html.to_s.match("(.*)\<span class=\"separator\"\>\<\/span\>(.*)")[2].strip.no_accents
|
26
|
+
origen_iata = (div_datos/"li.outbound a")[0].inner_text.strip
|
27
|
+
destino_iata = (div_datos/"li.inbound a")[-1].inner_text.strip
|
28
|
+
fecha = (div_datos_ida/"li.outbound span.date")[0].inner_text.strip.no_accents
|
29
|
+
escala = (div_datos/"span.stops a").inner_text.strip.empty? ? "Sin escalas" : (div_datos/"span.stops a").inner_text.to_i
|
30
|
+
aerolinea = Array.new
|
31
|
+
i = 0
|
32
|
+
(div_datos_ida/"span.airline-logo//img").each do |aer|
|
33
|
+
aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
|
34
|
+
i = i + 1
|
35
|
+
end
|
36
|
+
hou_sal_ida = Time.parse((div_datos/"li.outbound").first.inner_html.to_s.match("(.*)\<\/span\>(.*)hs(.*)\<a(.*)")[2].strip.no_accents)
|
37
|
+
hou_lle_ida = Time.parse((div_datos/"li.outbound").last.inner_html.to_s.match("(.*)\<\/span\>(.*)hs(.*)\<a(.*)")[2].strip.no_accents)
|
38
|
+
@idas << DataCluster.new(origen,destino,fecha, aerolinea, escala_to_i(escala),origen_iata,destino_iata,hou_sal_ida,hou_lle_ida)
|
39
|
+
end
|
40
|
+
@nro_vuelo_ida = 0
|
41
|
+
@ida = @idas[@nro_vuelo_ida]
|
8
42
|
|
43
|
+
end
|
44
|
+
def load_data_to(div_datos)
|
45
|
+
@vueltas = Array.new
|
46
|
+
(div_datos/"div.segment").each do |div_datos_vuelta|
|
47
|
+
origen = (div_datos/"span.cities").first.inner_html.to_s.match("(.*)\<span class=\"separator\"\>\<\/span\>(.*)")[1].strip.no_accents
|
48
|
+
destino= (div_datos/"span.cities").last.inner_html.to_s.match("(.*)\<span class=\"separator\"\>\<\/span\>(.*)")[2].strip.no_accents
|
49
|
+
origen_iata = (div_datos/"li.outbound a")[0].inner_text.strip
|
50
|
+
destino_iata = (div_datos/"li.inbound a")[-1].inner_text.strip
|
51
|
+
fecha = (div_datos_vuelta/"li.outbound span.date")[0].inner_text.strip.no_accents
|
52
|
+
escala = (div_datos/"span.stops a").inner_text.strip.empty? ? "Sin escalas" : (div_datos/"span.stops a").inner_text.to_i
|
53
|
+
aerolinea = Array.new
|
54
|
+
i = 0
|
55
|
+
(div_datos_vuelta/"span.airline-logo//img").each do |aer|
|
56
|
+
aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
|
57
|
+
i = i + 1
|
58
|
+
end
|
59
|
+
hou_sal_ida = Time.parse((div_datos/"li.outbound").first.inner_html.to_s.match("(.*)\<\/span\>(.*)hs(.*)\<a(.*)")[2].strip.no_accents)
|
60
|
+
hou_lle_ida = Time.parse((div_datos/"li.outbound").last.inner_html.to_s.match("(.*)\<\/span\>(.*)hs(.*)\<a(.*)")[2].strip.no_accents)
|
61
|
+
@vueltas << DataCluster.new(origen,destino,fecha, aerolinea, escala_to_i(escala),origen_iata,destino_iata,hou_sal_ida,hou_lle_ida)
|
62
|
+
end
|
63
|
+
@nro_vuelo_vuelta = 0
|
64
|
+
@vuelta = @vueltas[@nro_vuelo_vuelta]
|
65
|
+
|
66
|
+
end
|
9
67
|
def load_prices(p_html)
|
10
68
|
|
11
69
|
@tarifas = Hash.new
|
@@ -17,7 +17,7 @@ class DataCluster
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def to_s
|
20
|
-
return "Duracion: #{@duracion}, Origen: #{@origen}, Destino: #{@destino}, Iata: #{@origen_iata}-#{@destino_iata}, Fecha: #{@fecha}, Aerolinea: #{@aerolinea}, Hr salida: #{@hou_sal_ida}, Hr llegada: #{@hou_lle_ida}"
|
20
|
+
return "Escalas: #{@escalas}, Duracion: #{@duracion}, Origen: #{@origen}, Destino: #{@destino}, Iata: #{@origen_iata}-#{@destino_iata}, Fecha: #{@fecha}, Aerolinea: #{@aerolinea}, Hr salida: #{@hou_sal_ida}, Hr llegada: #{@hou_lle_ida}"
|
21
21
|
end
|
22
22
|
|
23
23
|
#se usa en el dinamico para comparar
|
@@ -11,16 +11,6 @@ Característica: filters.all
|
|
11
11
|
Cuando Verifico que el cambio de moneda no muestre limpiar filtros en "<pais>"
|
12
12
|
Cuando Elijo moneda local en "<pais>"
|
13
13
|
Cuando Si el site es "PE", Elijo moneda local como precio de filtrado
|
14
|
-
#Cuando Recupero los precios limites de la lista
|
15
|
-
#Entonces Filtro por precio mayor
|
16
|
-
#Cuando Espero que termine de cargar
|
17
|
-
#Entonces Verifico que la pagina no rompa
|
18
|
-
#Y Verifico que la primer pagina muestre correctamente los filtros de precio
|
19
|
-
#Entonces Filtro por precio menor
|
20
|
-
#Cuando Espero que termine de cargar
|
21
|
-
#Entonces Verifico que la pagina no rompa
|
22
|
-
#Y Verifico que la primer pagina muestre correctamente los filtros de precio
|
23
|
-
#Cuando Limpio el filtro de precio
|
24
14
|
Cuando Espero que termine de cargar
|
25
15
|
Entonces Verifico que la pagina no rompa
|
26
16
|
Cuando Elijo una aerolinea a aplicar
|
@@ -73,6 +63,18 @@ Característica: filters.all
|
|
73
63
|
Y Limpio el filtro de duracion inbound
|
74
64
|
Cuando Espero que termine de cargar
|
75
65
|
Entonces Verifico que la pagina no rompa
|
66
|
+
Cuando Recupero los precios limites de la lista
|
67
|
+
Entonces Filtro por precio mayor
|
68
|
+
Cuando Espero que termine de cargar
|
69
|
+
Entonces Verifico que la pagina no rompa
|
70
|
+
Y Verifico que la primer pagina muestre correctamente los filtros de precio
|
71
|
+
Entonces Filtro por precio menor
|
72
|
+
Cuando Espero que termine de cargar
|
73
|
+
Entonces Verifico que la pagina no rompa
|
74
|
+
Y Verifico que la primer pagina muestre correctamente los filtros de precio
|
75
|
+
Cuando Limpio el filtro de precio
|
76
|
+
Cuando Espero que termine de cargar
|
77
|
+
Entonces Verifico que la pagina no rompa
|
76
78
|
|
77
79
|
@ar
|
78
80
|
Ejemplos:
|
@@ -19,14 +19,14 @@ Característica: landing.filters
|
|
19
19
|
Entonces Verifico que traiga resultados de landings
|
20
20
|
Entonces Elijo moneda local como precio de filtrado
|
21
21
|
Cuando Elijo una aerolinea a aplicar
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
22
|
+
Entonces Filtro por aerolinea
|
23
|
+
Cuando Espero que termine de cargar
|
24
|
+
Entonces Verifico que la pagina no rompa
|
25
|
+
Entonces Verifico que los contadores respecto a las aerolineas sean correctos
|
26
|
+
Y Verifico que la primer pagina muestre correctamente los filtros de aerolineas
|
27
|
+
Cuando Limpio el filtro de aerolineas
|
28
|
+
Cuando Espero que termine de cargar
|
29
|
+
Entonces Verifico que la pagina no rompa
|
30
30
|
Cuando Elijo un aeropuerto outbound a aplicar
|
31
31
|
Entonces Filtro por aeropuerto
|
32
32
|
Cuando Espero que termine de cargar
|
@@ -20,6 +20,14 @@ Característica: landing.long_tail
|
|
20
20
|
Entonces Verifico que la pagina no rompa
|
21
21
|
Entonces Verifico que traiga resultados de landings
|
22
22
|
Y Verifico que la primer pagina muestre correctamente los filtros de aerolineas
|
23
|
+
Cuando Elijo un aeropuerto outbound a aplicar
|
24
|
+
Entonces Filtro por aeropuerto
|
25
|
+
Cuando Espero que termine de cargar
|
26
|
+
Entonces Verifico que la pagina no rompa
|
27
|
+
Entonces Verifico que los contadores respecto al aeropuerto sean correctos
|
28
|
+
Y Verifico que la primer pagina muestre correctamente los filtros de aeropuertos outbound
|
29
|
+
Cuando Limpio el filtro de aeropuertos outbound
|
30
|
+
Cuando Espero que termine de cargar
|
23
31
|
Cuando Limpio el filtro de aerolineas
|
24
32
|
Cuando Espero que termine de cargar
|
25
33
|
Entonces Verifico que la pagina no rompa
|
@@ -31,10 +39,12 @@ Característica: landing.long_tail
|
|
31
39
|
Cuando Si es ida y vuelta, Limpio el filtro de aeropuertos inbound
|
32
40
|
Cuando Si es ida y vuelta, Espero que termine de cargar
|
33
41
|
Entonces Si es ida y vuelta, Verifico que la pagina no rompa
|
42
|
+
Entonces Si es ida y vuelta, Verifico que traiga resultados de landings
|
34
43
|
Y Si es ida y vuelta, Verifico que aparezcan los links propuestos de vuelos a destino por aeropuerto de llegada
|
35
44
|
Cuando Verifico las nuevas urls de vuelos a destino por aeropuerto de salida
|
36
45
|
Cuando Espero que termine de cargar
|
37
46
|
Entonces Verifico que la pagina no rompa
|
47
|
+
Entonces Verifico que traiga resultados de landings
|
38
48
|
Y Verifico que la primer pagina muestre correctamente los filtros de aeropuertos outbound
|
39
49
|
Cuando Limpio el filtro de aeropuertos outbound
|
40
50
|
Cuando Espero que termine de cargar
|
@@ -21,4 +21,24 @@ Característica: matrix.fare_chart
|
|
21
21
|
Ejemplos:
|
22
22
|
|pais|tipo|from|to|cabotage|
|
23
23
|
|CO |roundtrip|bog|mia|nil|
|
24
|
-
|CO |oneway|bog|mia|nil|
|
24
|
+
|CO |oneway|bog|mia|nil|
|
25
|
+
@ar
|
26
|
+
Ejemplos:
|
27
|
+
|pais|tipo|from|to|cabotage|
|
28
|
+
|AR |roundtrip|bog|mia|nil|
|
29
|
+
|AR |oneway|bog|mia|nil|
|
30
|
+
@br
|
31
|
+
Ejemplos:
|
32
|
+
|pais|tipo|from|to|cabotage|
|
33
|
+
|BR |roundtrip|bog|mia|nil|
|
34
|
+
|BR |oneway|bog|mia|nil|
|
35
|
+
@us
|
36
|
+
Ejemplos:
|
37
|
+
|pais|tipo|from|to|cabotage|
|
38
|
+
|US |roundtrip|bog|mia|nil|
|
39
|
+
|US |oneway|bog|mia|nil|
|
40
|
+
@mx
|
41
|
+
Ejemplos:
|
42
|
+
|pais|tipo|from|to|cabotage|
|
43
|
+
|MX |roundtrip|bog|mia|nil|
|
44
|
+
|MX |oneway|bog|mia|nil|
|
@@ -8,7 +8,6 @@ Característica: search.reviews
|
|
8
8
|
Cuando Ingreso a la pagina de resultados en "<pais>" para una busqueda "<tipo>" del tipo "<cabotage>"
|
9
9
|
Cuando Espero que termine de cargar
|
10
10
|
Entonces Verifico que traiga resultados
|
11
|
-
Entonces Verifico el pop up de ecologicos en la matriz
|
12
11
|
Entonces Verifico cada review "<pais>"
|
13
12
|
|
14
13
|
@ar
|
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
gem.require_paths = ["lib"] #Usualmente es solo lib -> ["lib"]
|
17
17
|
|
18
|
-
gem.version = '2.3.
|
18
|
+
gem.version = '2.3.3' #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
@@ -9627,21 +9627,6 @@ tasks:
|
|
9627
9627
|
recipients:
|
9628
9628
|
- estebanldh@gmail.com
|
9629
9629
|
- nsimean@despegar.com
|
9630
|
-
- name: filters.all.ve
|
9631
|
-
class_name: Henry::Task::CucumberTask
|
9632
|
-
options:
|
9633
|
-
tags:
|
9634
|
-
- filters
|
9635
|
-
- all
|
9636
|
-
- ve
|
9637
|
-
expand: true
|
9638
|
-
no-source: true
|
9639
|
-
reports:
|
9640
|
-
- format: html
|
9641
|
-
name: ${DATE}_${TASK_NAME}.html
|
9642
|
-
recipients:
|
9643
|
-
- estebanldh@gmail.com
|
9644
|
-
- nsimean@despegar.com
|
9645
9630
|
- name: disambiguation.airports
|
9646
9631
|
class_name: Henry::Task::CucumberTask
|
9647
9632
|
options:
|
@@ -11421,6 +11406,66 @@ tasks:
|
|
11421
11406
|
recipients:
|
11422
11407
|
- estebanldh@gmail.com
|
11423
11408
|
- nsimean@despegar.com
|
11409
|
+
- name: matrix.fare_chart.ar
|
11410
|
+
class_name: Henry::Task::CucumberTask
|
11411
|
+
options:
|
11412
|
+
tags:
|
11413
|
+
- matrix
|
11414
|
+
- fare_chart
|
11415
|
+
- ar
|
11416
|
+
expand: true
|
11417
|
+
no-source: true
|
11418
|
+
reports:
|
11419
|
+
- format: html
|
11420
|
+
name: ${DATE}_${TASK_NAME}.html
|
11421
|
+
recipients:
|
11422
|
+
- estebanldh@gmail.com
|
11423
|
+
- nsimean@despegar.com
|
11424
|
+
- name: matrix.fare_chart.br
|
11425
|
+
class_name: Henry::Task::CucumberTask
|
11426
|
+
options:
|
11427
|
+
tags:
|
11428
|
+
- matrix
|
11429
|
+
- fare_chart
|
11430
|
+
- br
|
11431
|
+
expand: true
|
11432
|
+
no-source: true
|
11433
|
+
reports:
|
11434
|
+
- format: html
|
11435
|
+
name: ${DATE}_${TASK_NAME}.html
|
11436
|
+
recipients:
|
11437
|
+
- estebanldh@gmail.com
|
11438
|
+
- nsimean@despegar.com
|
11439
|
+
- name: matrix.fare_chart.us
|
11440
|
+
class_name: Henry::Task::CucumberTask
|
11441
|
+
options:
|
11442
|
+
tags:
|
11443
|
+
- matrix
|
11444
|
+
- fare_chart
|
11445
|
+
- us
|
11446
|
+
expand: true
|
11447
|
+
no-source: true
|
11448
|
+
reports:
|
11449
|
+
- format: html
|
11450
|
+
name: ${DATE}_${TASK_NAME}.html
|
11451
|
+
recipients:
|
11452
|
+
- estebanldh@gmail.com
|
11453
|
+
- nsimean@despegar.com
|
11454
|
+
- name: matrix.fare_chart.mx
|
11455
|
+
class_name: Henry::Task::CucumberTask
|
11456
|
+
options:
|
11457
|
+
tags:
|
11458
|
+
- matrix
|
11459
|
+
- fare_chart
|
11460
|
+
- mx
|
11461
|
+
expand: true
|
11462
|
+
no-source: true
|
11463
|
+
reports:
|
11464
|
+
- format: html
|
11465
|
+
name: ${DATE}_${TASK_NAME}.html
|
11466
|
+
recipients:
|
11467
|
+
- estebanldh@gmail.com
|
11468
|
+
- nsimean@despegar.com
|
11424
11469
|
- name: matrix.price
|
11425
11470
|
class_name: Henry::Task::CucumberTask
|
11426
11471
|
options:
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flights_gui_henry_tests
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lgonzalez,lsimean
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: henry-container
|