flights_gui_henry_tests 2.3.2 → 2.3.3
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 +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
|