flights_gui_henry_tests 2.5.2 → 2.5.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 +5 -13
- data/Gemfile +1 -0
- data/features/step_definitions/checkout/checkout_steps.rb +2 -1
- data/features/step_definitions/checkout/new_pay_method_steps.rb +60 -0
- data/features/step_definitions/checkout/price_difference_steps.rb +3 -0
- data/features/step_definitions/results/results_steps.rb +5 -1
- data/features/step_definitions/search/flight_gui_steps.rb +1 -0
- data/features/support/env.rb +1 -1
- data/features/support/lib/clusters/results/render_cluster.rb +68 -25
- data/features/tests/checkout/new_pay_method.feature +177 -0
- data/features/tests/search/searches.feature +0 -2
- data/flights_gui_henry_tests.gemspec +5 -5
- data/henry-context.yml +115 -194
- metadata +161 -159
checksums.yaml
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
|
|
5
|
-
data.tar.gz: !binary |-
|
|
6
|
-
YThiMzUyMmE5ODY4MDFjMjgwN2QyOTBlZWYwOWZjNzhkZDY0NDI4Mg==
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 5d666721368e6c5a866f69b884a42c5d1deadb20
|
|
4
|
+
data.tar.gz: bf2d4d6858a21c2d61ea550da316f0cae8994902
|
|
7
5
|
SHA512:
|
|
8
|
-
metadata.gz:
|
|
9
|
-
|
|
10
|
-
ZmRmMGFjNzczZjQ0MjlkMDNlYjNiODViNDM2ZjM0YmYzNWM1ZWQ5YmIxMTE4
|
|
11
|
-
YjZiMGNjZjZlMmRjZDk2MDRjNWZjMzRhNTc1OTliYjc5MjMzMjc=
|
|
12
|
-
data.tar.gz: !binary |-
|
|
13
|
-
MzFmZjJlZWE3M2U0MWEyNTMyNzNjZDVkYmJhMjk2NmQ5MGM1OTEzYmE3OTZh
|
|
14
|
-
MjdiMTUwMjIyZTFjZjgwZDc5YjJhY2M3ZTY2Mzg0NDQ5MGQ0OTJhMzk4OTRl
|
|
15
|
-
NDI2YjA0ZTJkNjdiYjkwNzM2OTE2YmMzMTM2MTYxYjY3NzQ1Y2M=
|
|
6
|
+
metadata.gz: 891ee841bd5567b033fbcba9ce57c1f8e26e1b31a98e78e46c32158b6a1463bfefa70fe1bb8ebc92d729c70828bc34b3d9bd7e897e75446c0fb9f4445ced3a57
|
|
7
|
+
data.tar.gz: 0387ef191bbb621757b8abd45ad50457601096c92756f52ea61e122c6d42dcbc12abf3ef47457d541315c143d19111985d923178ce1f7cff91899a5e95aacb34
|
data/Gemfile
CHANGED
|
@@ -238,6 +238,7 @@ And /^Completo los campos de factura fiscal$/ do
|
|
|
238
238
|
BROWSER.fieldset(:id,'invoice').should visible("formulario de factura")
|
|
239
239
|
container.select_list(:id,'invoice-fiscal-status').select_value(option)
|
|
240
240
|
if option=="FINAL"
|
|
241
|
+
container.text_field(:id,'invoice-fiscal-id').focus
|
|
241
242
|
container.text_field(:id,'invoice-fiscal-id').value.should equal("20-32456734-9") unless BROWSER.li(:id,'cac-installment').present?
|
|
242
243
|
container.text_field(:id,'invoice-fiscal-id').set("20324567349")
|
|
243
244
|
container.text_field(:id,'invoice-address').set("corrientes 123")
|
|
@@ -256,7 +257,7 @@ And /^Completo los campos de factura fiscal$/ do
|
|
|
256
257
|
container.text_field(:id,'invoice-address-deparment').set("1")
|
|
257
258
|
end
|
|
258
259
|
else
|
|
259
|
-
container.checkbox(:id,'invoice-check').set(true)
|
|
260
|
+
container.checkbox(:id,'invoice-check').set(true) if container.checkbox(:id,'invoice-check').present?
|
|
260
261
|
container.text_field(:id,'invoice-fiscal-id').set("3334445556")
|
|
261
262
|
container.text_field(:id,'invoice-card-holder-name').set("diego qa romero")
|
|
262
263
|
container.select_list(:id,'invoice-state').options[2].select
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
|
2
|
+
Entonces(/^Completo el formulario de deposito$/) do
|
|
3
|
+
BROWSER.li(:id,'cash-installment').radio(:class,'radio main-radio').set
|
|
4
|
+
BROWSER.div(:id,'offlinePaymentDefinition').select_list(:id,'owner-type').select_value("PERSON")
|
|
5
|
+
byebug
|
|
6
|
+
BROWSER.div(:id,'offlinePaymentDefinition').text_field(:id,'owner-document-number').set("32456712")
|
|
7
|
+
BROWSER.div(:id,'offlinePaymentDefinition').select_list(:id,'owner-gender').select_value("MALE")
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
Entonces(/^verifico los texto del formulario de deposito$/) do
|
|
11
|
+
if $SITE=="US"
|
|
12
|
+
texto_fecha = ""
|
|
13
|
+
texto_pasos = ""
|
|
14
|
+
elsif $SITE=="BR"
|
|
15
|
+
texto_fecha = ""
|
|
16
|
+
texto_pasos = ""
|
|
17
|
+
else
|
|
18
|
+
texto_fecha = "El deposito debera realizarse hoy, antes del cierre del banco, por caja de una sucursal del Banco Santander Rio"
|
|
19
|
+
texto_pasos = "Simplemente utilizando tu numero de solicitud de compra, e informando que es para Despegar.com podras realizar el deposito por caja en la sucursal mas cercana del Banco Santander Rio"
|
|
20
|
+
end
|
|
21
|
+
BROWSER.li(:id,'cash-installment').span(:class,'installment-description-info').text.strip.no_accents.should equal(texto_fecha)
|
|
22
|
+
BROWSER.li(:id,'cash-installment').span(:class,'installment-detail-text').text.strip.no_accents.should equal(texto_pasos)
|
|
23
|
+
BROWSER.li(:id,'cash-installment').div(:class,'ux-common-message ux-common-message-warning installment-detail-warning ux-common-message-small').should visible("warning en deposito por caja")
|
|
24
|
+
BROWSER.div(:class,'upselling upselling-disabled').should visible("asistencia al viajero desactivada")
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
Cuando(/^aparece el popup de confirmacion de pago$/) do
|
|
28
|
+
begin
|
|
29
|
+
Watir::Wait.until(timeout=20){BROWSER.div(:id,'confirm-payment-popup').present?}
|
|
30
|
+
rescue Watir::Wait::TimeoutError
|
|
31
|
+
end
|
|
32
|
+
BROWSER.div(:id,'confirm-payment-popup').should visible("popup de confirmacion de pago")
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
Entonces(/^elijo la opcion otro metodo$/) do
|
|
36
|
+
BROWSER.div(:id,'confirm-payment-popup').div(:class,'flights-button-no').click
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
Entonces(/^Verifico que vuelva al checkout correctamente$/) do
|
|
40
|
+
Watir::Wait.until(timeout=10){BROWSER.div(:class,'upselling upselling-disabled').present?}
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
Entonces(/^Verifico los pasos para hacer el deposito$/) do
|
|
44
|
+
pending # express the regexp above with the code you wish you had
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
Entonces(/^Completo el formulario de pago online$/) do
|
|
48
|
+
BROWSER.li(:id,'homebanking-installment').radio(:class,'radio main-radio').set
|
|
49
|
+
BROWSER.div(:id,'offlinePaymentDefinition').select_list(:id,'owner-type').select_value("PERSON")
|
|
50
|
+
BROWSER.div(:id,'offlinePaymentDefinition').text_field(:id,'owner-document-number').set("32456712")
|
|
51
|
+
BROWSER.div(:id,'offlinePaymentDefinition').select_list(:id,'owner-gender').select_value("MALE")
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
Entonces(/^elijo la opcion confirmar pago$/) do
|
|
55
|
+
BROWSER.div(:id,'confirm-payment-popup').div(:class,'flights-button-yes').click
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
Entonces(/^Verifico los pasos para hacer el pago online$/) do
|
|
59
|
+
pending # express the regexp above with the code you wish you had
|
|
60
|
+
end
|
|
@@ -12,6 +12,9 @@ Then /^Verifico el popup de cambio de precio$/ do
|
|
|
12
12
|
@popup.div(:class,'popup-button button-yes').should visible("boton aceptar cambio de precio")
|
|
13
13
|
@popup.div(:class,'popup-link').should visible("boton ver otros vuelos")
|
|
14
14
|
doc = Hpricot.parse(@popup.div(:id,'popup-price-difference-template').html)
|
|
15
|
+
@itinerario_checkout = CheckoutCluster.new(@search.description,Hpricot.parse(BROWSER.div(:id,'detail').html))
|
|
16
|
+
@precio_inicial = Price.new((doc/"p.paragraph span.currency").first.inner_text.strip + " " + (doc/"p.paragraph span.amount").first.inner_text.strip)
|
|
17
|
+
@itinerario_checkout.tarifas['total'].value.should be_within(2).of(@precio_inicial.value)
|
|
15
18
|
@precio_final = Price.new((doc/"p.paragraph span.currency").last.inner_text.strip + " " + (doc/"p.paragraph span.amount").last.inner_text.strip)
|
|
16
19
|
end
|
|
17
20
|
|
|
@@ -30,7 +30,11 @@ end
|
|
|
30
30
|
And /^Verifico el banner de ultimos lugares en checkout$/ do
|
|
31
31
|
if @ultimos_lugares
|
|
32
32
|
BROWSER.div(:class,'ux-common-message ux-common-message-info ').should visible("banner de pocos lugares")
|
|
33
|
-
BROWSER.div(:class,'ux-common-message ux-common-message-info ').text.strip.no_accents.match(/(\d)/)
|
|
33
|
+
if BROWSER.div(:class,'ux-common-message ux-common-message-info ').text.strip.no_accents.match(/(\d)/)
|
|
34
|
+
BROWSER.div(:class,'ux-common-message ux-common-message-info ').text.strip.no_accents.match(/(\d)/)[1].to_i.should equal(@ultimos_lugares)
|
|
35
|
+
else
|
|
36
|
+
1.should equal(@ultimos_lugares)
|
|
37
|
+
end
|
|
34
38
|
else
|
|
35
39
|
BROWSER.div(:class,'ux-common-message ux-common-message-info ').should_not visible("banner de pocos lugares")
|
|
36
40
|
end
|
|
@@ -265,6 +265,7 @@ Then /^elijo otro vuelo$/ do
|
|
|
265
265
|
BROWSER.div(:class,'notification-box warn-box').should_not visible
|
|
266
266
|
pending(BROWSER.div(:class,'ux-common-error').text) if BROWSER.div(:class,'ux-common-error').present?
|
|
267
267
|
sleep(1)
|
|
268
|
+
@cluster_popup = RenderCluster.new(@search.description,Hpricot.parse(BROWSER.div(:id,'clusters').divs(:class,'cluster')[0].html))
|
|
268
269
|
BROWSER.radio(:id, "0-outbound-0").click if BROWSER.radio(:id, "0-outbound-0").present?
|
|
269
270
|
BROWSER.radio(:id, "0-inbound-0").click if BROWSER.radio(:id, "0-inbound-0").present?
|
|
270
271
|
BROWSER.a(:class=>'buy btn-buy flights-button').click
|
data/features/support/env.rb
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
class RenderCluster < ResultsCluster
|
|
2
|
+
def initialize(itinerario,html,page = 0)
|
|
3
|
+
self.load_prices((html/"div.fare-container"))
|
|
4
|
+
eval "#{itinerario.downcase}(html)"
|
|
5
|
+
end
|
|
2
6
|
def load_prices(p_html)
|
|
3
7
|
|
|
4
8
|
@tarifas = Hash.new
|
|
5
9
|
|
|
6
|
-
if !(p_html/"
|
|
10
|
+
if !(p_html/"span.fare-difference-price").empty?
|
|
7
11
|
con_diferencia(p_html)
|
|
8
12
|
else
|
|
9
13
|
sin_diferencia(p_html)
|
|
@@ -12,32 +16,71 @@ class RenderCluster < ResultsCluster
|
|
|
12
16
|
end
|
|
13
17
|
|
|
14
18
|
def con_diferencia(p_html)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
@tarifas = Hash.new
|
|
20
|
+
@tarifas['diferencia'] = @tarifas['tarifa_adulto'] = Price.new((p_html/"span.fare-difference-price span[@class='price-currency #{currency($SITE)} '] span.currency").first.inner_text.strip + " " + (p_html/"span.fare-difference-price span[@class='price-currency #{currency($SITE)} '] span.amount").first.inner_text.strip)
|
|
21
|
+
@tarifas['tarifa_adulto_dolar'] = Price.new((p_html/"span.price-currency span.currency").first.inner_text.strip + " " + (p_html/"span.price-currency span.amount").first.inner_text.strip)
|
|
22
|
+
if (p_html/"span[@class='price-currency #{currency($SITE)} '] span.currency").first
|
|
23
|
+
@tarifas['tarifa_adulto'] = Price.new((p_html/"span[@class='price-currency #{currency($SITE)} '] span.currency").first.inner_text.strip + " " + (p_html/"span[@class='price-currency #{currency($SITE)} '] span.amount").first.inner_text.strip)
|
|
24
|
+
else
|
|
25
|
+
@tarifas['tarifa_adulto'] = @tarifas['tarifa_adulto_dolar']
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
adt = (p_html/"li").select{|li| li.inner_text.no_accents.downcase =~ /adulto/}.first
|
|
29
|
+
@tarifas['adt'] = adt ? Price.new((adt/"span.currency").first.inner_text.strip + " " + (adt/"span.amount").first.inner_text.strip) : Price.new("$ 0",true)
|
|
30
|
+
|
|
31
|
+
cnn = (p_html/"li").select{|li| li.inner_text.no_accents.downcase =~ /nino/}.first
|
|
32
|
+
@tarifas['cnn'] = cnn ? Price.new((cnn/"span.currency").first.inner_text.strip + " " + (cnn/"span.amount").first.inner_text.strip) : Price.new("$ 0",true)
|
|
33
|
+
|
|
34
|
+
inf = (p_html/"li").select{|li| li.inner_text.no_accents.downcase =~ /bebe/}.first
|
|
35
|
+
@tarifas['inf'] = inf ? Price.new((inf/"span.currency").first.inner_text.strip + " " + (inf/"span.amount").first.inner_text.strip) : Price.new("$ 0",true)
|
|
36
|
+
|
|
37
|
+
tasas = (p_html/"li.taxes-price").empty? ? (p_html/"li[@class='taxDetail.OTHER-price']").first : (p_html/"li.taxes-price").first
|
|
38
|
+
@tarifas['tasas'] = tasas ? Price.new((tasas/"span.currency").first.inner_text.strip + " " + (tasas/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
|
|
39
|
+
|
|
40
|
+
cargos = (p_html/"li.charges-price").first
|
|
41
|
+
@tarifas['cargos'] = cargos ? Price.new((cargos/"span.currency").first.inner_text.strip + " " + (cargos/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
|
|
42
|
+
|
|
43
|
+
afip = (p_html/"li[@class='taxDetail.ZK-price']").first
|
|
44
|
+
@tarifas['afip'] = afip ? Price.new((afip/"span.currency").first.inner_text.strip + " " + (afip/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
|
|
45
|
+
|
|
46
|
+
@tarifas['encargos'] = Price.new("$ 0",true)
|
|
47
|
+
|
|
48
|
+
campo = (p_html/"li").empty? ? "total" : "fare"
|
|
49
|
+
@tarifas['total'] = (p_html/"li.#{campo}-price span.currency").empty? ? Price.new("$ 0",true) : Price.new((p_html/"li.#{campo}-price span.currency").first.inner_text.strip + " " + (p_html/"li.#{campo}-price span.amount").first.inner_text.strip)
|
|
30
50
|
end
|
|
31
51
|
|
|
32
52
|
def sin_diferencia(p_html)
|
|
33
|
-
@tarifas
|
|
34
|
-
@tarifas['
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
53
|
+
@tarifas = Hash.new
|
|
54
|
+
@tarifas['diferencia'] = Price.new("$ 0",true)
|
|
55
|
+
@tarifas['tarifa_adulto_dolar'] = Price.new("$ 0",true)
|
|
56
|
+
if (p_html/"span[@class='price-currency #{currency($SITE)} '] span.currency").first
|
|
57
|
+
@tarifas['tarifa_adulto'] = Price.new((p_html/"span[@class='price-currency #{currency($SITE)} '] span.currency").first.inner_text.strip + " " + (p_html/"span[@class='price-currency #{currency($SITE)} '] span.amount").first.inner_text.strip)
|
|
58
|
+
else
|
|
59
|
+
@tarifas['tarifa_adulto'] = @tarifas['tarifa_adulto_dolar']
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
adt = (p_html/"li").select{|li| li.inner_text.no_accents.downcase =~ /adulto/}.first
|
|
63
|
+
@tarifas['adt'] = adt ? Price.new((adt/"span.currency").first.inner_text.strip + " " + (adt/"span.amount").first.inner_text.strip) : Price.new("$ 0",true)
|
|
64
|
+
|
|
65
|
+
cnn = (p_html/"li").select{|li| li.inner_text.no_accents.downcase =~ /nino/}.first
|
|
66
|
+
@tarifas['cnn'] = cnn ? Price.new((cnn/"span.currency").first.inner_text.strip + " " + (cnn/"span.amount").first.inner_text.strip) : Price.new("$ 0",true)
|
|
67
|
+
|
|
68
|
+
inf = (p_html/"li").select{|li| li.inner_text.no_accents.downcase =~ /bebe/}.first
|
|
69
|
+
@tarifas['inf'] = inf ? Price.new((inf/"span.currency").first.inner_text.strip + " " + (inf/"span.amount").first.inner_text.strip) : Price.new("$ 0",true)
|
|
70
|
+
|
|
71
|
+
tasas = (p_html/"li.taxes-price").empty? ? (p_html/"li[@class='taxDetail.OTHER-price']").first : (p_html/"li.taxes-price").first
|
|
72
|
+
@tarifas['tasas'] = tasas ? Price.new((tasas/"span.currency").first.inner_text.strip + " " + (tasas/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
|
|
73
|
+
|
|
74
|
+
cargos = (p_html/"li.charges-price").first
|
|
75
|
+
@tarifas['cargos'] = cargos ? Price.new((cargos/"span.currency").first.inner_text.strip + " " + (cargos/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
|
|
76
|
+
|
|
77
|
+
afip = (p_html/"li[@class='taxDetail.ZK-price']").first
|
|
78
|
+
@tarifas['afip'] = afip ? Price.new((afip/"span.currency").first.inner_text.strip + " " + (afip/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
|
|
79
|
+
|
|
80
|
+
@tarifas['encargos'] = Price.new("$ 0",true)
|
|
81
|
+
|
|
82
|
+
campo = (p_html/"li").empty? ? "total" : "fare"
|
|
83
|
+
@tarifas['total'] = (p_html/"li.#{campo}-price span.currency").empty? ? Price.new("$ 0",true) : Price.new((p_html/"li.#{campo}-price span.currency").first.inner_text.strip + " " + (p_html/"li.#{campo}-price span.amount").first.inner_text.strip)
|
|
42
84
|
end
|
|
43
85
|
end
|
|
86
|
+
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
#language: es
|
|
2
|
+
@checkout
|
|
3
|
+
Característica: checkout.new_pay_method
|
|
4
|
+
Se verifica que los nuevos metodos de pago funcionen correctamente
|
|
5
|
+
|
|
6
|
+
@new_pay_method
|
|
7
|
+
Esquema del escenario: Ingresar al checkout y elegir metodo por deposito
|
|
8
|
+
Cuando Ingreso a la pagina de resultados en "<pais>" para una busqueda "<tipo>" del tipo "<cabotage>"
|
|
9
|
+
Cuando Espero que termine de cargar
|
|
10
|
+
Entonces Verifico que traiga resultados
|
|
11
|
+
Cuando Elijo un itinerario y paso a checkout
|
|
12
|
+
Cuando Verifico que ingrese al checkout
|
|
13
|
+
Entonces Completo el formulario de pasajeros
|
|
14
|
+
Y Completo el formulario de deposito
|
|
15
|
+
Y Completo los datos de resolucion AFIP
|
|
16
|
+
Y Completo los datos de contacto
|
|
17
|
+
Y Si pide factura fiscal, Completo los campos de factura fiscal
|
|
18
|
+
Y Realizo la compra
|
|
19
|
+
Cuando aparece el popup de confirmacion de pago
|
|
20
|
+
Entonces elijo la opcion otro metodo
|
|
21
|
+
Entonces Verifico que vuelva al checkout correctamente
|
|
22
|
+
Cuando Realizo la compra
|
|
23
|
+
Cuando aparece el popup de confirmacion de pago
|
|
24
|
+
Entonces elijo la opcion confirmar pago
|
|
25
|
+
Entonces Verifico que dirija a la pagina de gracias
|
|
26
|
+
Entonces Si el checkout me pide mas datos de tarjeta, lleno los datos de tarjeta adicionales
|
|
27
|
+
Entonces Si se muestra el popup de no disponibilidad, elijo otro vuelo
|
|
28
|
+
Entonces Si debo completar de vuelta el formulario, completo el formulario
|
|
29
|
+
Y Verifico que genere id cro
|
|
30
|
+
Y Verifico los pasos para hacer el deposito
|
|
31
|
+
|
|
32
|
+
@ar
|
|
33
|
+
@roundtrip
|
|
34
|
+
Ejemplos:
|
|
35
|
+
|pais|tipo|cabotage|
|
|
36
|
+
|AR |roundtrip|nil|
|
|
37
|
+
@ar
|
|
38
|
+
@oneway
|
|
39
|
+
Ejemplos:
|
|
40
|
+
|pais|tipo|cabotage|
|
|
41
|
+
|AR |oneway|nil|
|
|
42
|
+
@ar
|
|
43
|
+
@multipledestinations
|
|
44
|
+
Ejemplos:
|
|
45
|
+
|pais|tipo|cabotage|
|
|
46
|
+
|AR |multipledestinations|nil|
|
|
47
|
+
@br
|
|
48
|
+
@roundtrip
|
|
49
|
+
Ejemplos:
|
|
50
|
+
|pais|tipo|cabotage|
|
|
51
|
+
|BR |roundtrip|nil|
|
|
52
|
+
@br
|
|
53
|
+
@oneway
|
|
54
|
+
Ejemplos:
|
|
55
|
+
|pais|tipo|cabotage|
|
|
56
|
+
|BR |oneway|nil|
|
|
57
|
+
@br
|
|
58
|
+
@multipledestinations
|
|
59
|
+
Ejemplos:
|
|
60
|
+
|pais|tipo|cabotage|
|
|
61
|
+
|BR |multipledestinations|nil|
|
|
62
|
+
@mx
|
|
63
|
+
@roundtrip
|
|
64
|
+
Ejemplos:
|
|
65
|
+
|pais|tipo|cabotage|
|
|
66
|
+
|MX |roundtrip|nil|
|
|
67
|
+
@mx
|
|
68
|
+
@oneway
|
|
69
|
+
Ejemplos:
|
|
70
|
+
|pais|tipo|cabotage|
|
|
71
|
+
|MX |oneway|nil|
|
|
72
|
+
@mx
|
|
73
|
+
@multipledestinations
|
|
74
|
+
Ejemplos:
|
|
75
|
+
|pais|tipo|cabotage|
|
|
76
|
+
|MX |multipledestinations|nil|
|
|
77
|
+
@us
|
|
78
|
+
@roundtrip
|
|
79
|
+
Ejemplos:
|
|
80
|
+
|pais|tipo|cabotage|
|
|
81
|
+
|US |roundtrip|nil|
|
|
82
|
+
@us
|
|
83
|
+
@oneway
|
|
84
|
+
Ejemplos:
|
|
85
|
+
|pais|tipo|cabotage|
|
|
86
|
+
|US |oneway|nil|
|
|
87
|
+
@us
|
|
88
|
+
@multipledestinations
|
|
89
|
+
Ejemplos:
|
|
90
|
+
|pais|tipo|cabotage|
|
|
91
|
+
|US |multipledestinations|nil|
|
|
92
|
+
|
|
93
|
+
@new_pay_method
|
|
94
|
+
Esquema del escenario: Ingresar al checkout y elegir pago online
|
|
95
|
+
Cuando Ingreso a la pagina de resultados en "<pais>" para una busqueda "<tipo>" del tipo "<cabotage>"
|
|
96
|
+
Cuando Espero que termine de cargar
|
|
97
|
+
Entonces Verifico que traiga resultados
|
|
98
|
+
Cuando Elijo un itinerario y paso a checkout
|
|
99
|
+
Cuando Verifico que ingrese al checkout
|
|
100
|
+
Entonces Completo el formulario de pasajeros
|
|
101
|
+
Y Completo el formulario de pago online
|
|
102
|
+
Y Completo los datos de resolucion AFIP
|
|
103
|
+
Y Completo los datos de contacto
|
|
104
|
+
Y Si pide factura fiscal, Completo los campos de factura fiscal
|
|
105
|
+
Y Realizo la compra
|
|
106
|
+
Cuando aparece el popup de confirmacion de pago online
|
|
107
|
+
Entonces elijo la opcion otro metodo
|
|
108
|
+
Entonces Verifico que vuelva al checkout correctamente
|
|
109
|
+
Cuando Realizo la compra
|
|
110
|
+
Entonces Verifico que dirija a la pagina de gracias
|
|
111
|
+
Entonces Si el checkout me pide mas datos de tarjeta, lleno los datos de tarjeta adicionales
|
|
112
|
+
Entonces Si se muestra el popup de no disponibilidad, elijo otro vuelo
|
|
113
|
+
Entonces Si debo completar de vuelta el formulario, completo el formulario
|
|
114
|
+
Y Verifico que genere id cro
|
|
115
|
+
Y Verifico los pasos para hacer el pago online
|
|
116
|
+
|
|
117
|
+
@ar
|
|
118
|
+
@roundtrip
|
|
119
|
+
Ejemplos:
|
|
120
|
+
|pais|tipo|cabotage|
|
|
121
|
+
|AR |roundtrip|nil|
|
|
122
|
+
@ar
|
|
123
|
+
@oneway
|
|
124
|
+
Ejemplos:
|
|
125
|
+
|pais|tipo|cabotage|
|
|
126
|
+
|AR |oneway|nil|
|
|
127
|
+
@ar
|
|
128
|
+
@multipledestinations
|
|
129
|
+
Ejemplos:
|
|
130
|
+
|pais|tipo|cabotage|
|
|
131
|
+
|AR |multipledestinations|nil|
|
|
132
|
+
@br
|
|
133
|
+
@roundtrip
|
|
134
|
+
Ejemplos:
|
|
135
|
+
|pais|tipo|cabotage|
|
|
136
|
+
|BR |roundtrip|nil|
|
|
137
|
+
@br
|
|
138
|
+
@oneway
|
|
139
|
+
Ejemplos:
|
|
140
|
+
|pais|tipo|cabotage|
|
|
141
|
+
|BR |oneway|nil|
|
|
142
|
+
@br
|
|
143
|
+
@multipledestinations
|
|
144
|
+
Ejemplos:
|
|
145
|
+
|pais|tipo|cabotage|
|
|
146
|
+
|BR |multipledestinations|nil|
|
|
147
|
+
@mx
|
|
148
|
+
@roundtrip
|
|
149
|
+
Ejemplos:
|
|
150
|
+
|pais|tipo|cabotage|
|
|
151
|
+
|MX |roundtrip|nil|
|
|
152
|
+
@mx
|
|
153
|
+
@oneway
|
|
154
|
+
Ejemplos:
|
|
155
|
+
|pais|tipo|cabotage|
|
|
156
|
+
|MX |oneway|nil|
|
|
157
|
+
@mx
|
|
158
|
+
@multipledestinations
|
|
159
|
+
Ejemplos:
|
|
160
|
+
|pais|tipo|cabotage|
|
|
161
|
+
|MX |multipledestinations|nil|
|
|
162
|
+
@us
|
|
163
|
+
@roundtrip
|
|
164
|
+
Ejemplos:
|
|
165
|
+
|pais|tipo|cabotage|
|
|
166
|
+
|US |roundtrip|nil|
|
|
167
|
+
@us
|
|
168
|
+
@oneway
|
|
169
|
+
Ejemplos:
|
|
170
|
+
|pais|tipo|cabotage|
|
|
171
|
+
|US |oneway|nil|
|
|
172
|
+
@us
|
|
173
|
+
@multipledestinations
|
|
174
|
+
Ejemplos:
|
|
175
|
+
|pais|tipo|cabotage|
|
|
176
|
+
|US |multipledestinations|nil|
|
|
177
|
+
|
|
@@ -9,8 +9,6 @@ Característica: search.searches
|
|
|
9
9
|
Entonces Verifico que la pagina no rompa
|
|
10
10
|
#Cuando Verifico el nuevo loader
|
|
11
11
|
Cuando Espero que termine de cargar
|
|
12
|
-
Entonces Verifico que traiga resultados
|
|
13
|
-
Cuando Espero que termine de cargar
|
|
14
12
|
Entonces Verifico que traiga resultados
|
|
15
13
|
Cuando Si el site es "AR|BR", Levanto los tag que deben mostrarse segun la ciudad buscada para una busqueda "<tipo>"
|
|
16
14
|
Entonces Si el site es "AR|BR", Verifico que se muestre en el codigo fuente
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
# -*- encoding: utf-8 -*-
|
|
4
4
|
Gem::Specification.new do |gem|
|
|
5
|
-
gem.authors = ["lgonzalez
|
|
6
|
-
gem.email = ["lgonzalez@despegar.com
|
|
5
|
+
gem.authors = ["lgonzalez"]
|
|
6
|
+
gem.email = ["lgonzalez@despegar.com"]
|
|
7
7
|
gem.description = %q{test automatizado para el proyecto flights gui}
|
|
8
8
|
gem.summary = %q{test para contents, search y advanced_search}
|
|
9
9
|
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
|
|
16
16
|
gem.require_paths = ["lib"] #Usualmente es solo lib -> ["lib"]
|
|
17
17
|
|
|
18
|
-
gem.version = '2.5.
|
|
18
|
+
gem.version = '2.5.3' #La version se debe incrementar cada vez que se desea publicar una nueva version del test.
|
|
19
19
|
|
|
20
|
-
gem.add_dependency('henry-container', '>= 0.1.
|
|
20
|
+
gem.add_dependency('henry-container', '>= 0.1.82')
|
|
21
21
|
gem.add_dependency('watir-webdriver')
|
|
22
22
|
gem.add_dependency('cucumber')
|
|
23
23
|
gem.add_dependency('rspec')
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
gem.add_dependency('sixarm_ruby_unaccent')
|
|
27
27
|
gem.add_dependency('sanitize')
|
|
28
28
|
gem.add_dependency('mock_search')
|
|
29
|
-
gem.add_dependency('
|
|
29
|
+
gem.add_dependency('byebug')
|
|
30
30
|
|
|
31
31
|
gem.add_development_dependency('geminabox')
|
|
32
32
|
|