flights_gui_tests 2.3.26 → 2.3.27
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +16 -2
- data/features/step_definitions/checkout/upselling_steps.rb +1 -1
- data/features/step_definitions/checkout/verifications_steps.rb +5 -0
- data/features/step_definitions/results/multipleoneway_steps.rb +22 -2
- data/features/step_definitions/results/order_steps.rb +1 -1
- data/features/step_definitions/results/pagination_steps.rb +1 -0
- data/features/step_definitions/results/reviews_steps.rb +1 -1
- data/features/step_definitions/results/wish_list_steps.rb +2 -2
- data/features/support/classes/checkout/multipleoneway_cluster.rb +18 -1
- data/features/support/classes/checkout/new_cluster.rb +10 -1
- data/features/support/classes/results/mini_cluster.rb +14 -8
- data/features/support/classes/results/new_cluster.rb +7 -0
- data/features/support/modules/checkout/new_checkout/fast_checkout.rb +4 -4
- data/features/support/modules/checkout/old_checkout/fast_checkout.rb +2 -2
- data/features/support/modules/results/itineraries/miles.rb +1 -9
- data/features/support/modules/results/multipleoneway.rb +2 -1
- data/features/support/modules/results/wish_list.rb +1 -1
- data/features/support/pages/all_pages.rb +2 -2
- data/features/support/pages/thanks/thanks_page/new_thanks_page.rb +6 -1
- data/features/support/version.rb +1 -1
- data/features/tests/results/itineraries.feature +0 -2
- data/features/tests/results/multipleoneway.feature +13 -10
- data/flights_gui_tests.gemspec +0 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f664de0a2c6193faaea08ff8e0c0c0e705fc4872
|
4
|
+
data.tar.gz: 8244bd381e74d23d2de7a70a0d3c8429131fc471
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb9d4688db438e097b5b84079c3e95fe2b79121d349311682cc7639c776f0411ad22a210c80a02521897b90e9b6b2745b1326a9456102f47bf3897bd889cda40
|
7
|
+
data.tar.gz: 99175e38f71afe86d2222cff9b03bc1b3ec3e74d4738c6322103fbdfaed9e36dc0c0e49165925f4e0bfce2c917f67d446f624ed1989bb943e22132f2c5249c7a
|
data/Gemfile
CHANGED
@@ -1,4 +1,18 @@
|
|
1
1
|
source 'http://rubygems.org'
|
2
|
-
source 'http://gems.despegar.com/'
|
3
2
|
|
4
|
-
|
3
|
+
gem 'henry-container', '>= 0.1.39'
|
4
|
+
gem 'page-object'
|
5
|
+
gem 'watir-webdriver'
|
6
|
+
gem 'cucumber'
|
7
|
+
gem 'rspec'
|
8
|
+
#gem 'byebug'
|
9
|
+
gem 'hpricot'
|
10
|
+
gem 'httparty'
|
11
|
+
gem 'sixarm_ruby_unaccent'
|
12
|
+
gem 'sanitize'
|
13
|
+
gem 'mock_search', '>= 1.0.0'
|
14
|
+
gem 'mysql2'
|
15
|
+
gem 'dater'
|
16
|
+
gem 'parallel_tests'
|
17
|
+
gem 'auto_uy_utils', :source => 'http://gems.despegar.com/'
|
18
|
+
gem 'roma_automation', :source => 'http://gems.despegar.com/'
|
@@ -34,7 +34,7 @@ Entonces(/^(?:verifico|valido) que el precio del seguro se muestre correctamente
|
|
34
34
|
dias = dias + 1
|
35
35
|
end
|
36
36
|
precio_por_dia = price_detail.to_i / dias
|
37
|
-
precio_por_dia.to_i.should be_within(
|
37
|
+
precio_por_dia.to_i.should be_within(8).of(price_assistance.to_i * (@page.manage_data.adt+@page.manage_data.cnn+@page.manage_data.inf))
|
38
38
|
end
|
39
39
|
|
40
40
|
Cuando(/^muestro el popup de la cobertura completa$/) do
|
@@ -20,6 +20,11 @@ Entonces(/^(?:verifico|valido) los valores del desglose del checkout$/) do
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
Entonces(/^(?:verifico|valido) los valores del desglose del checkout con multipleoneway$/) do
|
24
|
+
@itinerario_checkout = @page.datos_itinerario
|
25
|
+
@itinerario_checkout.validar_suma_desgloce.should be_within(4).of(@itinerario_checkout.tarifas['total'].value)
|
26
|
+
end
|
27
|
+
|
23
28
|
Y(/^(?:verifico|valido) que se muestren la caja de clientes felices$/) do
|
24
29
|
if @page.clientes_felices_element.present?
|
25
30
|
happy_clients = @page.clientes_felices_element
|
@@ -39,8 +39,28 @@ Entonces(/^espero que termine de cargar la pagina ida y vuelta separada$/) do
|
|
39
39
|
puts "URL: #{@page.url}"
|
40
40
|
end
|
41
41
|
|
42
|
-
Entonces(/^cargo los itinerarios$/) do
|
43
|
-
@page.
|
42
|
+
Entonces(/^cargo los itinerarios de ida$/) do
|
43
|
+
@itinerarios_ida = @page.cargar_itinerarios_multipleoneway
|
44
|
+
end
|
45
|
+
|
46
|
+
Entonces(/^cargo los itinerarios de vuelta$/) do
|
47
|
+
@itinerarios_vuelta = @page.cargar_itinerarios_multipleoneway
|
48
|
+
end
|
49
|
+
|
50
|
+
Entonces(/^valido los itinerarios de ida$/) do
|
51
|
+
@itinerarios_ida.each do |ida|
|
52
|
+
@page.manage_data.city_from_1.airports.should include?(ida.tramo.origen_iata)
|
53
|
+
@page.manage_data.city_to_1.airports.should include?(ida.tramo.destino_iata)
|
54
|
+
ida.tramo.fecha.should equal(@page.manage_data.date_from_1)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
Entonces(/^valido los itinerarios de vuelta$/) do
|
59
|
+
@itinerarios_vuelta.each do |vuelta|
|
60
|
+
@page.manage_data.city_to_1.airports.should include?(vuelta.tramo.origen_iata)
|
61
|
+
@page.manage_data.city_from_1.airports.should include?(vuelta.tramo.destino_iata)
|
62
|
+
vuelta.tramo.fecha.should equal(@page.manage_data.date_to_1)
|
63
|
+
end
|
44
64
|
end
|
45
65
|
|
46
66
|
Cuando(/^elijo una opcion de ida$/) do
|
@@ -9,7 +9,7 @@ Entonces(/^(?:verifico|valido) el ordenamiento premium economy$/) do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
Cuando(/^ordeno por "(.*)"$/) do |valor_orden|
|
12
|
-
@page.orden_element.select_value(valor_orden)
|
12
|
+
@page.orden_element.select_value(valor_orden) if @page.orden_element.present?
|
13
13
|
end
|
14
14
|
|
15
15
|
Entonces(/^levanto los datos de los clusters "(.*?)"$/) do |arg1|
|
@@ -16,6 +16,7 @@ Entonces(/^(?:verifico|valido) que funcione el paginado correctamente en resulta
|
|
16
16
|
iterator = 2
|
17
17
|
while @page.pagina_siguiente_element.present? && iterator < 7
|
18
18
|
@page.pagina_siguiente_element.links[0].click
|
19
|
+
@page.actualizar_informacion_element.when_not_visible(60)
|
19
20
|
step 'espero que termine de cargar la pagina de resultados'
|
20
21
|
@page.itinerario_element.should visible("itinerario")
|
21
22
|
iterator += 1
|
@@ -38,7 +38,7 @@ Entonces(/^verifico que se muestren las reviews de aerolineas$/) do
|
|
38
38
|
@page.popup_reviews_aerolineas_element.when_visible(timeout=2)
|
39
39
|
doc = Hpricot.parse(@page.popup_reviews_aerolineas_element.html)
|
40
40
|
@page.logo_aerolinea_en_matriz(index).should match((doc/"span.logo/img").first.attributes['src'].strip.downcase)
|
41
|
-
aerolinea.text.strip.downcase.should equal((doc/"h4.name").inner_text.strip.downcase)
|
41
|
+
#aerolinea.text.strip.downcase.should equal((doc/"h4.name").inner_text.strip.downcase)
|
42
42
|
@page.close_popup_reviews_aerolineas_element.click
|
43
43
|
@page.popup_reviews_aerolineas_element.when_not_visible(timeout=2)
|
44
44
|
rescue Selenium::WebDriver::Error::UnknownError
|
@@ -38,8 +38,8 @@ end
|
|
38
38
|
|
39
39
|
Cuando(/^me logueo con usuario "(.*?)" y pass "(.*?)"$/) do |arg1, arg2|
|
40
40
|
@page.login_usuario_nibbler_element.when_visible(timeout=20)
|
41
|
-
@page.
|
42
|
-
@page.
|
41
|
+
@page.mail_usuario_nibbler_element.set(arg1)
|
42
|
+
@page.pass_usuario_nibbler_element.set(arg2)
|
43
43
|
@page.boton_usuario_nibbler_element.click
|
44
44
|
sleep(1)
|
45
45
|
end
|
@@ -4,7 +4,6 @@ module NewCheckout
|
|
4
4
|
attr_accessor :ida, :vuelta, :tarifas, :idas, :vueltas
|
5
5
|
|
6
6
|
def cargar_precios(html)
|
7
|
-
byebug
|
8
7
|
@tarifas = Hash.new
|
9
8
|
|
10
9
|
@tarifas["ida"] = cargar_precio_tramo((html/"div.fare-detail-wrappers div.fare-detail-wrapper").first)
|
@@ -27,6 +26,24 @@ module NewCheckout
|
|
27
26
|
return tarifa_tramo
|
28
27
|
end
|
29
28
|
|
29
|
+
def validar_suma_desgloce(linea = "total|tarifa_adulto|tarifa_adulto_dolar")
|
30
|
+
sumaTarifas = 0
|
31
|
+
|
32
|
+
@tarifas["ida"].each_pair do |key,tarifa|
|
33
|
+
if key !~ /#{linea}/
|
34
|
+
sumaTarifas += tarifa.valor
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
@tarifas["vuelta"].each_pair do |key,tarifa|
|
39
|
+
if key !~ /#{linea}/
|
40
|
+
sumaTarifas += tarifa.valor
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
return sumaTarifas.to_i
|
45
|
+
end
|
46
|
+
|
30
47
|
end
|
31
48
|
|
32
49
|
end
|
@@ -9,7 +9,7 @@ module NewCheckout
|
|
9
9
|
eval "#{itinerario.downcase}(html)"
|
10
10
|
end
|
11
11
|
|
12
|
-
def
|
12
|
+
def multipleoneway(html)
|
13
13
|
tramos = cargar_tramos((html/"div.outbound-route div.segment"))
|
14
14
|
@ida = DataCluster.new(tramos.first['salida']['nombre'], tramos.last['llegada']['nombre'], tramos.first['salida']['fecha'], tramos.collect{|tramo| tramo['aerolinea']}, escala_to_i((html/"div.outbound-route span.stops").first.inner_text.strip), tramos.first['salida']['iata'], tramos.last['llegada']['iata'], tramos.first['salida']['horario'], tramos.last['llegada']['horario'])
|
15
15
|
@idas = tramos
|
@@ -18,6 +18,15 @@ module NewCheckout
|
|
18
18
|
@vueltas = tramos
|
19
19
|
end
|
20
20
|
|
21
|
+
def roundtrip(html)
|
22
|
+
tramos = cargar_tramos((html/"div.outbound-route div.segment"))
|
23
|
+
@ida = DataCluster.new(tramos.first['salida']['nombre'], tramos.last['llegada']['nombre'], tramos.first['salida']['fecha'], tramos.collect{|tramo| tramo['aerolinea']}, escala_to_i((html/"div.outbound-route span.stops").first.inner_text.strip), tramos.first['salida']['iata'], tramos.last['llegada']['iata'], tramos.first['salida']['horario'], tramos.last['llegada']['horario'])
|
24
|
+
@idas = tramos
|
25
|
+
tramos = cargar_tramos((html/"div.inbound-route div.segment"))
|
26
|
+
@vuelta = DataCluster.new(tramos.first['salida']['nombre'], tramos.last['llegada']['nombre'], tramos.first['salida']['fecha'], tramos.collect{|tramo| tramo['aerolinea']}, escala_to_i((html/"div.outbound-route span.stops").first.inner_text.strip), tramos.first['salida']['iata'], tramos.last['llegada']['iata'], tramos.first['salida']['horario'], tramos.last['llegada']['horario'])
|
27
|
+
@vueltas = tramos
|
28
|
+
end
|
29
|
+
|
21
30
|
def oneway(html)
|
22
31
|
tramos = cargar_tramos((html/"div.outbound-route div.segment"))
|
23
32
|
@ida = DataCluster.new(tramos.first['salida']['nombre'], tramos.last['llegada']['nombre'], tramos.first['salida']['fecha'], tramos.collect{|tramo| tramo['aerolinea']}, escala_to_i((html/"div.outbound-route span.stops").first.inner_text.strip), tramos.first['salida']['iata'], tramos.last['llegada']['iata'], tramos.first['salida']['horario'], tramos.last['llegada']['horario'])
|
@@ -3,25 +3,31 @@ module Results
|
|
3
3
|
attr_accessor :tramo, :tarifas
|
4
4
|
|
5
5
|
def initialize(html,index)
|
6
|
-
|
7
|
-
@
|
6
|
+
@tarifas = {}
|
7
|
+
@tarifas['total'] = Price.new((html/"span.currency").first.inner_text.strip + " " + (html/"span.amount").first.inner_text.strip)
|
8
|
+
@tramo = cargar_tramo(html)
|
8
9
|
@index = index
|
9
10
|
end
|
10
11
|
|
11
|
-
def cargar_tramo(info_ruta
|
12
|
-
aerolineas = (
|
12
|
+
def cargar_tramo(info_ruta)
|
13
|
+
aerolineas = (info_ruta/"li.airlines img").collect{|aerolinea| aerolinea.attributes['src'].match(/(..).png/)[1].upcase}
|
13
14
|
return DataCluster.new( nil, #nombre ciudad salida
|
14
15
|
nil, #nombre ciudad llegada
|
15
16
|
(info_ruta/"span.date").inner_text.strip, #fecha
|
16
17
|
aerolineas, #aerolineas
|
17
|
-
escala_to_i((
|
18
|
+
escala_to_i((info_ruta/"span.stops-text").inner_text.strip), #escalas
|
18
19
|
(info_ruta/"span.airport").first.inner_text.strip.no_accents, #iata ciudad salida
|
19
20
|
(info_ruta/"span.airport").last.inner_text.strip.no_accents, #iata ciudad llegada
|
20
|
-
Time.parse((
|
21
|
-
Time.parse((
|
22
|
-
(
|
21
|
+
Time.parse((info_ruta/"span.hour").first.inner_text.strip), #horario salida
|
22
|
+
Time.parse((info_ruta/"span.hour").last.inner_text.strip), #horario llegada
|
23
|
+
(info_ruta/"li.time").inner_text.strip #duracion
|
23
24
|
)
|
24
25
|
end
|
25
26
|
|
27
|
+
def escala_to_i(escala)
|
28
|
+
return 0 if escala.to_s =~ /(solo vuelo directo)|(Sin escalas)|(Sem escalas)|(Soamente v.o directo)|(Vuelo Directo)|(Directo)/i
|
29
|
+
return escala.to_s.gsub(/\D/,'').to_i
|
30
|
+
end
|
31
|
+
|
26
32
|
end
|
27
33
|
end
|
@@ -14,6 +14,13 @@ module Results
|
|
14
14
|
@vueltas = cargar_tramos((html/"div.inbound"))
|
15
15
|
@vuelta = @vueltas.first
|
16
16
|
end
|
17
|
+
|
18
|
+
def multipleoneway(html)
|
19
|
+
@idas = cargar_tramos((html/"div.outbound"))
|
20
|
+
@ida = @idas.first
|
21
|
+
@vueltas = cargar_tramos((html/"div.inbound"))
|
22
|
+
@vuelta = @vueltas.first
|
23
|
+
end
|
17
24
|
|
18
25
|
def oneway(html)
|
19
26
|
@idas = cargar_tramos((html/"div.outbound"))
|
@@ -9,7 +9,7 @@ module NewCheckout
|
|
9
9
|
div(:tarjetas_guardadas,:id=>"stored-cards")
|
10
10
|
div(:nueva_tarjeta,:class=>"new-card-container")
|
11
11
|
div(:datos_tarjeta_guardada,:id=>"paymentDefinition.billingAddressDefinition")
|
12
|
-
div(:login_usuario_nibbler,:
|
12
|
+
div(:login_usuario_nibbler,:class=>"box-main-account")
|
13
13
|
|
14
14
|
link(:log_out_checkout,:css=>"#checkout-login .log-out")
|
15
15
|
link(:log_in_checkout,:css=>"#checkout-login .log-in")
|
@@ -23,10 +23,10 @@ module NewCheckout
|
|
23
23
|
|
24
24
|
text_field(:codigo_seguridad_tarjeta_guardada,:id=>"stored-card-0-security-code")
|
25
25
|
|
26
|
-
text_field(:mail_usuario_nibbler,:
|
27
|
-
text_field(:pass_usuario_nibbler,:
|
26
|
+
text_field(:mail_usuario_nibbler,:name=>"username")
|
27
|
+
text_field(:pass_usuario_nibbler,:name=>"password")
|
28
28
|
|
29
|
-
button(:boton_usuario_nibbler,:class=>"
|
29
|
+
button(:boton_usuario_nibbler,:class=>"social-comp-common-button social-comp-common-button-primary social-comp-common-button-medium")
|
30
30
|
|
31
31
|
end
|
32
32
|
end
|
@@ -9,7 +9,7 @@ module OldCheckout
|
|
9
9
|
div(:tarjetas_guardadas,:id=>"stored-cards")
|
10
10
|
div(:nueva_tarjeta,:class=>"new-card-container")
|
11
11
|
div(:datos_tarjeta_guardada,:id=>"paymentDefinition.billingAddressDefinition")
|
12
|
-
div(:login_usuario_nibbler,:
|
12
|
+
div(:login_usuario_nibbler,:class=>"box-main-account")
|
13
13
|
|
14
14
|
link(:log_out_checkout,:css=>"#checkout-login .log-out")
|
15
15
|
link(:log_in_checkout,:css=>"#checkout-login .log-in")
|
@@ -26,7 +26,7 @@ module OldCheckout
|
|
26
26
|
text_field(:mail_usuario_nibbler,:id=>"signin-email")
|
27
27
|
text_field(:pass_usuario_nibbler,:id=>"signin-pass")
|
28
28
|
|
29
|
-
button(:boton_usuario_nibbler,:class=>"
|
29
|
+
button(:boton_usuario_nibbler,:class=>"social-comp-common-button social-comp-common-button-primary social-comp-common-button-medium")
|
30
30
|
|
31
31
|
end
|
32
32
|
end
|
@@ -12,6 +12,7 @@ module Results
|
|
12
12
|
cluster_html = Hpricot.parse(itinerarios_elements[i].html)
|
13
13
|
|
14
14
|
if itinerarios_elements[i].link(:class,"frequent-flyer").present?
|
15
|
+
|
15
16
|
if tipo_de_busqueda != "multipledestinations"
|
16
17
|
airline = json['result']['data']['items'][i]['itinerariesBox']['frequentFlyerInfo']['airline']['code']
|
17
18
|
miles = json['result']['data']['items'][i]['itinerariesBox']['frequentFlyerInfo']['points']['formatted']
|
@@ -39,15 +40,6 @@ module Results
|
|
39
40
|
end
|
40
41
|
|
41
42
|
itinerarios_elements[i].link(:class,"frequent-flyer").text.downcase.strip.no_accents.should match(data[airline].last.gsub(/cant/,miles).gsub(/unit/,data["unit"][unit]).downcase.strip.no_accents)
|
42
|
-
itinerarios_elements[i].link(:class,"frequent-flyer").click
|
43
|
-
popup_pasajero_frecuente_element.when_visible(timeout=20)
|
44
|
-
|
45
|
-
if popup_pasajero_frecuente_element.present?
|
46
|
-
doc = Hpricot.parse(popup_pasajero_frecuente_element.html)
|
47
|
-
(doc/"div.popup-content").inner_text.gsub(/\n\n/," ").gsub(/\n/,"").downcase.no_accents.strip.should match(text.downcase + data[airline][0].downcase.strip)
|
48
|
-
popup_pasajero_frecuente_element.span(:class,'popup-close-button popup-close').click
|
49
|
-
popup_pasajero_frecuente_element.when_not_visible(timeout=20)
|
50
|
-
end
|
51
43
|
|
52
44
|
else
|
53
45
|
|
@@ -45,12 +45,13 @@ module Results
|
|
45
45
|
fecha_seleccionada_element
|
46
46
|
end
|
47
47
|
|
48
|
-
def
|
48
|
+
def cargar_itinerarios_multipleoneway
|
49
49
|
@clusters = []
|
50
50
|
doc=Hpricot.parse(clusters_element.html)
|
51
51
|
(doc/"div.cluster").each_with_index do |cluster,i|
|
52
52
|
@clusters << Results::MiniCluster.new(cluster,i)
|
53
53
|
end
|
54
|
+
return @clusters
|
54
55
|
end
|
55
56
|
|
56
57
|
def elegir(index)
|
@@ -27,7 +27,7 @@ module Results
|
|
27
27
|
text_field(:mail_usuario_nibbler,:id=>"signin-email")
|
28
28
|
text_field(:pass_usuario_nibbler,:id=>"signin-pass")
|
29
29
|
|
30
|
-
button(:boton_usuario_nibbler,:class=>"
|
30
|
+
button(:boton_usuario_nibbler,:class=>"social-comp-common-button social-comp-common-button-primary social-comp-common-button-medium")
|
31
31
|
|
32
32
|
end
|
33
33
|
end
|
@@ -72,8 +72,8 @@ class AllPages
|
|
72
72
|
|
73
73
|
def elegir_idioma()
|
74
74
|
if @@site=="US"
|
75
|
-
if @browser.span(:class,'nibbler-header-user-menu-icon-flag nibbler--flag-
|
76
|
-
@browser.span(:class,'nibbler-header-user-menu-icon-flag nibbler--flag-
|
75
|
+
if @browser.span(:class,'nibbler-header-user-menu-icon-flag nibbler--flag-US nibbler--lang-es').present?
|
76
|
+
@browser.span(:class,'nibbler-header-user-menu-icon-flag nibbler--flag-US nibbler--lang-es').click
|
77
77
|
@browser.li(:class,'nibbler-header-popup-selector-item').links[0].click
|
78
78
|
end
|
79
79
|
sleep(1)
|
@@ -21,6 +21,7 @@ module Thanks
|
|
21
21
|
elements(:pasos_pago_online,:div,:class=>"thanks-reservation-homebanking-step")
|
22
22
|
elements(:links_mas_detalles_gracias,:link,:css=>"#popup-booking-details .stops .number")
|
23
23
|
|
24
|
+
span(:cluster_doble,:class=>"fare-detail-multipleoneway-title")
|
24
25
|
span(:cerrar_popup_desglose_detalles_gracias,:css=>".popup-detail .popup-close-button")
|
25
26
|
span(:cerrar_popup_desglose_gracias,:css=>"#popup-booking-details .popup-close-button")
|
26
27
|
span(:id_cro_pago_online,:class=>"thanks-reservation-homebanking-ticket-numbers")
|
@@ -33,7 +34,11 @@ module Thanks
|
|
33
34
|
link(:ver_desglose_gracias,:class=>"detail-handler")
|
34
35
|
|
35
36
|
def datos_itinerario()
|
36
|
-
|
37
|
+
if cluster_doble_element.present?
|
38
|
+
return NewCheckout::MultipleonewayCluster.new(tipo_de_busqueda,Hpricot.parse(itinerario_element.html))
|
39
|
+
else
|
40
|
+
return Thanks::Cluster.new(tipo_de_busqueda,Hpricot.parse(desglose_gracias_element.html))
|
41
|
+
end
|
37
42
|
end
|
38
43
|
|
39
44
|
end
|
data/features/support/version.rb
CHANGED
@@ -10,8 +10,6 @@ Característica: results.itineraries
|
|
10
10
|
Cuando realizo la busqueda
|
11
11
|
Entonces verifico que la pagina no rompa
|
12
12
|
Cuando espero que termine de cargar la pagina de resultados
|
13
|
-
Cuando ingreso a resultados con cookie "showFrequentFlyerPoints" al "1"
|
14
|
-
Cuando si pruebo streaming, ingreso a resultados streaming
|
15
13
|
Entonces verifico que traiga resultados
|
16
14
|
Cuando si el site es "MX|AR", verifico el ordenamiento premium economy
|
17
15
|
Cuando si el site no es "CO", ordeno por "TOTALFARE_ASCENDING"
|
@@ -10,14 +10,17 @@ Característica: results.multipleoneway
|
|
10
10
|
Cuando realizo la busqueda
|
11
11
|
Entonces verifico que la pagina no rompa
|
12
12
|
Cuando espero que termine de cargar la pagina de resultados
|
13
|
-
Cuando ingreso a resultados con cookie "showMultipleoneway" al "1"
|
14
13
|
Y verifico que traiga resultados
|
15
|
-
|
14
|
+
Cuando ingreso a resultados con cookie "showMultipleoneway" al "1"
|
16
15
|
Y espero que termine de cargar la pagina ida y vuelta separada
|
16
|
+
Y verifico que traiga resultados
|
17
17
|
Y cierro popups
|
18
|
-
Entonces cargo los itinerarios
|
18
|
+
Entonces cargo los itinerarios de ida
|
19
|
+
Entonces valido los itinerarios de ida
|
19
20
|
Cuando elijo una opcion de ida
|
20
21
|
Entonces valido que se muestre en la caja de ida
|
22
|
+
Entonces cargo los itinerarios de vuelta
|
23
|
+
Entonces valido los itinerarios de vuelta
|
21
24
|
Y elijo una opcion de vuelta
|
22
25
|
Entonces valido que se muestre en la caja de vuelta
|
23
26
|
Entonces paso al checkout
|
@@ -26,7 +29,7 @@ Característica: results.multipleoneway
|
|
26
29
|
Y verifico que ingrese al checkout
|
27
30
|
Entonces si existe la opcion de cobertura, elijo "no_chequear" si quiero cobertura
|
28
31
|
#Y si el site es "MX", valido que no se muestre la leyenda de tarifas en pesos
|
29
|
-
Y valido los valores del desglose del checkout
|
32
|
+
Y valido los valores del desglose del checkout con multipleoneway
|
30
33
|
Y verifico el pixel de Efrontier
|
31
34
|
Y verifico el pixel de trackeame en checkout
|
32
35
|
Y valido que no se muestre la leyenda de seguro gratis en el desglose
|
@@ -35,14 +38,14 @@ Característica: results.multipleoneway
|
|
35
38
|
Y verifico que se muestren la caja de clientes felices
|
36
39
|
Y verifico que se muestren las reviews de aerolineas
|
37
40
|
Entonces cargo los pasajeros
|
38
|
-
Y cargo los datos de la tarjeta
|
39
|
-
Y si el site es "AR|MX|PE|
|
41
|
+
Y cargo los datos de la tarjeta en el nuevo formulario
|
42
|
+
Y si el site es "AR|MX|PE|BR", cargo los datos de facturacion
|
40
43
|
Y cargo los datos de contacto
|
41
44
|
Y verifico que los datos cargados sean mostrados correctamente al lado del boton comprar
|
42
45
|
Cuando acepto y compro
|
43
46
|
Entonces espero que termine el pedido de compra
|
44
47
|
Y verifico si no trae errores
|
45
|
-
Entonces si aparece el popup de no disponibilidad, elijo un itinerario del popup de no disponibilidad
|
48
|
+
Entonces si aparece el popup de no disponibilidad, elijo un itinerario para checkout de nuevas formas de pago del popup de no disponibilidad
|
46
49
|
Entonces espero que termine de cargar la pagina de gracias
|
47
50
|
Y verifico que ingrese a la pagina de gracias
|
48
51
|
Y verifico el link de mi despegar
|
@@ -51,13 +54,13 @@ Característica: results.multipleoneway
|
|
51
54
|
Y verifico los valores del desglose en gracias contra los del checkout
|
52
55
|
Y verifico el tag de datalayer
|
53
56
|
Y verifico el pixel de Efrontier
|
57
|
+
Y verifico el pixel de doubleclick
|
54
58
|
Y verifico el pixel de trackeame en gracias
|
55
|
-
#Y verifico los datos de la reserva enviados a fenix
|
56
59
|
Y cancelo la reserva en el proveedor
|
57
60
|
|
58
61
|
@br
|
59
|
-
@
|
62
|
+
@multipleoneway
|
60
63
|
Ejemplos:
|
61
64
|
|pais|tipo|cabotage|
|
62
|
-
|BR |
|
65
|
+
|BR |multipleoneway|nil|
|
63
66
|
|
data/flights_gui_tests.gemspec
CHANGED
@@ -30,7 +30,6 @@ Gem::Specification.new do |gem|
|
|
30
30
|
gem.add_dependency('mock_search', '>= 1.0.0')
|
31
31
|
gem.add_dependency('mysql2')
|
32
32
|
gem.add_dependency('dater')
|
33
|
-
#gem.add_dependency('byebug')
|
34
33
|
gem.add_dependency('auto_uy_utils')
|
35
34
|
gem.add_dependency('roma_automation')
|
36
35
|
gem.add_dependency('parallel_tests')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flights_gui_tests
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.27
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lgonzalez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: henry-container
|