flights_gui_tests 2.4.82 → 2.4.83
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 +4 -4
- data/features/step_definitions/checkout/form_steps.rb +23 -0
- data/features/step_definitions/results/load_steps.rb +21 -0
- data/features/support/env.rb +1 -0
- data/features/support/modules/checkout/checkout.rb +2 -0
- data/features/support/modules/checkout/new_checkout/2tc.rb +107 -0
- data/features/support/modules/checkout/new_checkout/2tc/datos_de_facturacion.rb +82 -0
- data/features/support/modules/checkout/new_checkout/pasajeros.rb +3 -3
- data/features/support/modules/checkout/new_checkout/tarjeta.rb +20 -18
- data/features/support/pages/all_pages.rb +6 -0
- data/features/support/pages/checkout/checkout_page.rb +1 -1
- data/features/support/pages/checkout/checkout_page/new_checkout_page.rb +1 -0
- data/features/support/version.rb +1 -1
- data/features/tests/checkout/2_tc.feature +9 -9
- data/features/tests/checkout/error_messages.feature +1 -1
- data/flights_gui_tests.gemspec +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 55ba1f96bbb7c5a3ffd313e77f2b05a428e195d6
|
|
4
|
+
data.tar.gz: 727f8b194af58f1444efd07ead32e0b6bd3c9b13
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e57d391dd0d0bfb4f6ccd10bbfc6f8738d79ad8d43d82177957b4e4d9849c7240d8671b5daba563df7f73c3b79bc1bbd385a33f23f52100bac7e94fb3e63d860
|
|
7
|
+
data.tar.gz: b3bd80614a4723a42fd5b1d84664e871539512ef6ffba854a0d1870c167b9a2050fc1b017290d578c6f48f673c374cf753b29b35bf81aa6ad00c480953d3b813
|
|
@@ -6,6 +6,23 @@ Y(/^cargo los datos de la tarjeta$/) do
|
|
|
6
6
|
status = @page.cargar_datos_tarjeta
|
|
7
7
|
pending(status) if status
|
|
8
8
|
end
|
|
9
|
+
|
|
10
|
+
Y(/^cargo los datos de tarjetas$/) do
|
|
11
|
+
if AllPages.site.upcase.match("BR")
|
|
12
|
+
@page.dos_tarjetas_element.set
|
|
13
|
+
status = @page.cargar_datos_pago_nuevo_formulario(@page.modulo_primer_tarjeta_nf_element)
|
|
14
|
+
pending(status) if status
|
|
15
|
+
status = @page.cargar_datos_pago_nuevo_formulario(@page.modulo_segunda_tarjeta_nf_element)
|
|
16
|
+
pending(status) if status
|
|
17
|
+
else
|
|
18
|
+
@page.dos_tarjetas_element.set
|
|
19
|
+
status = @page.cargar_datos_pago(@page.modulo_primer_tarjeta_element)
|
|
20
|
+
pending(status) if status
|
|
21
|
+
status = @page.cargar_datos_pago(@page.modulo_segunda_tarjeta_element)
|
|
22
|
+
pending(status) if status
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
9
26
|
Y(/^cargo los datos de la tarjeta de debito$/) do
|
|
10
27
|
status = @page.cargar_datos_tarjeta
|
|
11
28
|
pending(status) if status
|
|
@@ -26,6 +43,12 @@ Y(/^cargo los datos de facturacion$/) do
|
|
|
26
43
|
end
|
|
27
44
|
@page.cargar_datos_facturacion
|
|
28
45
|
end
|
|
46
|
+
|
|
47
|
+
Y(/^cargo los datos de facturacion para 2 tc$/) do
|
|
48
|
+
@page.cargar_datos_facturacion_2_tc(@page.modulo_primer_dato_facturacion_element)
|
|
49
|
+
@page.cargar_datos_facturacion_2_tc(@page.modulo_segundo_dato_facturacion_element)
|
|
50
|
+
end
|
|
51
|
+
|
|
29
52
|
Entonces(/^completo los datos para reservas CAC$/) do
|
|
30
53
|
@page.cargar_datos_CAC
|
|
31
54
|
end
|
|
@@ -51,6 +51,27 @@ Cuando(/^(?:realizo|genero|ingreso) la busqueda$/) do
|
|
|
51
51
|
#@page.cargar_valores_abtesting
|
|
52
52
|
end
|
|
53
53
|
|
|
54
|
+
Cuando(/^(?:realizo|genero|ingreso) la busqueda para 2 tc$/) do
|
|
55
|
+
if AllPages.internacional
|
|
56
|
+
@page.manage_data.set_header_json({"host"=>"www.us.despegar.com"})
|
|
57
|
+
@page.ir("www.despegar.com/vuelos/about")
|
|
58
|
+
$browser.alert.ok if $browser.alert.exists?
|
|
59
|
+
$browser.execute_script("javascript:void(document.cookie = 'x-locale=#{AllPages.lang.downcase}-#{AllPages.site.upcase}; domain=despegar.com; Path=/')")
|
|
60
|
+
end
|
|
61
|
+
@page.manage_data.set_passengers_for_2tc()
|
|
62
|
+
begin
|
|
63
|
+
@page.ir(@page.url_busqueda)
|
|
64
|
+
rescue Net::ReadTimeout
|
|
65
|
+
pending("Tiempo expirado al cargar el navegador, reiniciar corrida.")
|
|
66
|
+
end
|
|
67
|
+
@page.set_cookies(@uow)
|
|
68
|
+
puts "URL: #{@page.url_busqueda}"
|
|
69
|
+
puts "UOW: #{@uow}"
|
|
70
|
+
puts "PARAMS: #{$HENRY_PARAMS}"
|
|
71
|
+
@page.elegir_idioma
|
|
72
|
+
#@page.cargar_valores_abtesting
|
|
73
|
+
end
|
|
74
|
+
|
|
54
75
|
Cuando(/^espero que (?:termine|finalize|acabe) de cargar la pagina de resultados$/) do
|
|
55
76
|
@page.carga_element.when_not_visible(timeout=200)
|
|
56
77
|
@page.actualizar_filtro_element.when_not_visible(timeout=120)
|
data/features/support/env.rb
CHANGED
|
@@ -9,3 +9,5 @@ require_relative 'new_checkout/datos_de_facturacion'
|
|
|
9
9
|
require_relative 'new_checkout/informacion_de_contacto'
|
|
10
10
|
require_relative 'new_checkout/multipleoneway'
|
|
11
11
|
require_relative 'new_checkout/3dsecure'
|
|
12
|
+
require_relative 'new_checkout/2tc/datos_de_facturacion'
|
|
13
|
+
require_relative 'new_checkout/2tc'
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module NewCheckout
|
|
3
|
+
module TwoTc
|
|
4
|
+
include PageObject
|
|
5
|
+
include NewCheckout::TwoTc::DatosDeFacturacion
|
|
6
|
+
|
|
7
|
+
radio_button(:una_tarjeta,:id=>"payment-type-radios-0")
|
|
8
|
+
radio_button(:dos_tarjetas,:id=>"payment-type-radios-1")
|
|
9
|
+
radio_button(:efectivo,:id=>"payment-type-radios-2")
|
|
10
|
+
|
|
11
|
+
div(:modulo_primer_tarjeta,:id=>"paymentContainerDefinition.multipleCardPaymentDefinitions[0].paymentDefinition.cardDefinition")
|
|
12
|
+
div(:modulo_segunda_tarjeta,:id=>"paymentContainerDefinition.multipleCardPaymentDefinitions[1].paymentDefinition.cardDefinition")
|
|
13
|
+
|
|
14
|
+
div(:modulo_primer_tarjeta_nf,:id=>"paymentContainerDefinition.multipleCardPaymentDefinitions[0].paymentDefinition")
|
|
15
|
+
div(:modulo_segunda_tarjeta_nf,:id=>"paymentContainerDefinition.multipleCardPaymentDefinitions[1].paymentDefinition")
|
|
16
|
+
|
|
17
|
+
def cargar_datos_pago(modulo)
|
|
18
|
+
@provider = self.provider
|
|
19
|
+
if provider == "VOL"
|
|
20
|
+
cargar_valores_tarjeta(modulo,"American Express","345678000000007","1234","10",Date.today.year+1)
|
|
21
|
+
elsif provider == "AIJ"
|
|
22
|
+
cargar_valores_tarjeta(modulo,"Visa","4012001021000605","989","12","2016")
|
|
23
|
+
else
|
|
24
|
+
if modulo.select_list.include? "Visa"
|
|
25
|
+
cargar_valores_tarjeta(modulo,"Visa","4242424242424242","123",5,Date.today.year+1)
|
|
26
|
+
elsif modulo.select_list.include? "American Express"
|
|
27
|
+
cargar_valores_tarjeta(modulo,"American Express","348783429078480","1234","10",Date.today.year+1)
|
|
28
|
+
elsif modulo.select_list.include? "MasterCard"
|
|
29
|
+
cargar_valores_tarjeta(modulo,"MasterCard","5390700823285988","124","10",Date.today.year+1)
|
|
30
|
+
else
|
|
31
|
+
return "No se encuentran tarjetas validas."
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
modulo.text_field(:class,/input-other-bank-name/).set "galicia" if modulo.text_field(:class,/input-other-bank-name/).present?
|
|
35
|
+
modulo.text_field(:class,/input-owner-name/).set "Martin qa diez"
|
|
36
|
+
if modulo.text_field(:class,/input-owner-document-number/).present?
|
|
37
|
+
number = case AllPages.site
|
|
38
|
+
when "CL" then "70281686"
|
|
39
|
+
when "BR" then "48629049391"
|
|
40
|
+
else "32456324"
|
|
41
|
+
end
|
|
42
|
+
modulo.text_field(:class,/input-owner-document-number/).set number
|
|
43
|
+
end
|
|
44
|
+
modulo.select_list(:class,/select-owner-gender/).select_value "MALE" if modulo.select_list(:class,/select-owner-gender/).present?
|
|
45
|
+
#datos extras de tarjeta
|
|
46
|
+
cargar_billing_address(modulo)
|
|
47
|
+
return nil
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def cargar_datos_pago_nuevo_formulario(modulo)
|
|
51
|
+
@provider = self.provider
|
|
52
|
+
modulo.radio(:value,'_VI').set
|
|
53
|
+
sleep(1)
|
|
54
|
+
modulo.select_list(:class,/select-card-brand/).select_value("1_CREDIT_VI_null")
|
|
55
|
+
modulo.text_field(:class,/input-card-number/).set("4012001021000605")
|
|
56
|
+
modulo.text_field(:class,/input-security-code/).set("989")
|
|
57
|
+
modulo.select_list(:class,/select-month/).select("12")
|
|
58
|
+
modulo.select_list(:class,/select-year/).select("2016")
|
|
59
|
+
modulo.text_field(:class,/input-other-bank-name/).set "galicia" if modulo.text_field(:class,/input-other-bank-name/).present?
|
|
60
|
+
modulo.text_field(:class,/input-owner-name/).set "Martin qa diez"
|
|
61
|
+
if modulo.text_field(:class,/input-owner-document-number/).present?
|
|
62
|
+
number = case AllPages.site
|
|
63
|
+
when "CL" then "70281686"
|
|
64
|
+
when "BR" then "48629049391"
|
|
65
|
+
else "32456324"
|
|
66
|
+
end
|
|
67
|
+
modulo.text_field(:class,/input-owner-document-number/).set number
|
|
68
|
+
end
|
|
69
|
+
modulo.select_list(:class,/select-owner-gender/).select_value "MALE" if modulo.select_list(:class,/select-owner-gender/).present?
|
|
70
|
+
#datos extras de tarjeta
|
|
71
|
+
cargar_billing_address(modulo)
|
|
72
|
+
return nil
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def cargar_valores_tarjeta(modulo,tarjeta,numero,codigo,mes,ano)
|
|
76
|
+
modulo.select_list.select(tarjeta)
|
|
77
|
+
modulo.text_field(:class,/input-card-number/).set(numero)
|
|
78
|
+
modulo.text_field(:class,/input-security-code/).set(codigo)
|
|
79
|
+
modulo.select_list(:class,/select-month/).select(mes)
|
|
80
|
+
modulo.select_list(:class,/select-year/).select(ano)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def cargar_billing_address(modulo)
|
|
84
|
+
@provider = self.provider
|
|
85
|
+
if provider == "VOL"
|
|
86
|
+
modulo.text_field(:class,/input-city/).set "Y Ciudad" if modulo.text_field(:class,/input-city/).present?
|
|
87
|
+
modulo.text_field(:class,/input-street/).set "Y Calle" if modulo.text_field(:class,/input-street/).present?
|
|
88
|
+
elsif provider == "AIJ"
|
|
89
|
+
modulo.text_field(:class,/input-city/).set "ciudad" if modulo.text_field(:class,/input-city/).present?
|
|
90
|
+
modulo.text_field(:class,/input-street/).set "calle" if modulo.text_field(:class,/input-street/).present?
|
|
91
|
+
else
|
|
92
|
+
modulo.text_field(:class,/input-city/).set "capital" if modulo.text_field(:class,/input-city/).present?
|
|
93
|
+
modulo.text_field(:class,/input-street/).set "corrientes" if modulo.text_field(:class,/input-street/).present?
|
|
94
|
+
end
|
|
95
|
+
modulo.text_field(:class,/input-state/).set("algunEstado") if modulo.text_field(:class,/input-state/).present?
|
|
96
|
+
modulo.select_list(:class,/select-state/).select(modulo.select_list(:class,/select-state/).options[3].text) if modulo.select_list(:class,/select-state/).present?
|
|
97
|
+
modulo.text_field(:class,/input-address-number/).set "1234" if modulo.text_field(:class,/input-address-number/).present?
|
|
98
|
+
modulo.text_field(:class,/input-floor/).set "3" if modulo.text_field(:class,/input-floor/).present?
|
|
99
|
+
modulo.text_field(:class,/input-deparment/).set "A" if modulo.text_field(:class,/input-deparment/).present?
|
|
100
|
+
if AllPages.site=~/US|MX/
|
|
101
|
+
modulo.text_field(:class,/input-postal-code/).set "11823" if modulo.text_field(:class,/input-postal-code/).present?
|
|
102
|
+
else
|
|
103
|
+
modulo.text_field(:class,/input-postal-code/).set "1182" if modulo.text_field(:class,/input-postal-code/).present?
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
module NewCheckout
|
|
3
|
+
module TwoTc
|
|
4
|
+
module DatosDeFacturacion
|
|
5
|
+
include PageObject
|
|
6
|
+
div(:modulo_primer_dato_facturacion,:id=>"paymentContainerDefinition.multipleCardPaymentDefinitions[0].invoiceDefinition")
|
|
7
|
+
div(:modulo_segundo_dato_facturacion,:id=>"paymentContainerDefinition.multipleCardPaymentDefinitions[1].invoiceDefinition")
|
|
8
|
+
|
|
9
|
+
def cargar_datos_facturacion_2_tc(modulo)
|
|
10
|
+
eval "cargar_datos_facturacion_2_tc_#{AllPages.site.downcase}(modulo)"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def cargar_datos_facturacion_2_tc_ar(modulo)
|
|
14
|
+
option = ["FINAL","INSCR","EXENT","MONOTRIBUTO"][rand(4)]
|
|
15
|
+
puts option
|
|
16
|
+
modulo.select_list(:class,/select-fiscal-status/).select_value(option)
|
|
17
|
+
sleep(2)
|
|
18
|
+
#lleno los campos requeridos
|
|
19
|
+
modulo.text_field(:class,/input-invoice-card-holder-name/).set("diego qa romero") if modulo.text_field(:class,/input-invoice-card-holder-name/).present?
|
|
20
|
+
modulo.select_list(:class,/select-state/).select_value("31655")
|
|
21
|
+
set_autocomplete_2_tc(modulo,"buenos ")
|
|
22
|
+
modulo.text_field(:class,/input-street/).set("corrientes")
|
|
23
|
+
modulo.text_field(:class,/input-address-number/).set("123")
|
|
24
|
+
modulo.text_field(:class,/input-floor/).set("1")
|
|
25
|
+
modulo.text_field(:class,/input-deparment/).set("1")
|
|
26
|
+
modulo.text_field(:class,/input-invoice-fiscal-id/).set("30643063936")
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def cargar_datos_facturacion_2_tc_br(modulo)
|
|
30
|
+
if [true,false][rand(2)]
|
|
31
|
+
puts "Persona natural"
|
|
32
|
+
modulo.radio(:value,'NATURAL_PERSON').set
|
|
33
|
+
else
|
|
34
|
+
puts "Persona juridica"
|
|
35
|
+
modulo.radio(:value,'JURIDICAL_PERSON').set
|
|
36
|
+
sleep(1)
|
|
37
|
+
modulo.text_field(:class,/input-invoice-fiscal-id/).set("71.323.296/0001-20")
|
|
38
|
+
modulo.text_field(:class,/input-invoice-card-holder-name/).set("diego qa romero") if modulo.text_field(:class,/input-invoice-card-holder-name/).present?
|
|
39
|
+
modulo.text_field(:class,/input-townRegistration/).set("municipal") if modulo.text_field(:class,/input-townRegistration/).present?
|
|
40
|
+
end
|
|
41
|
+
modulo.select_list(:class,/select-state/).select_value("12925")
|
|
42
|
+
set_autocomplete_2_tc(modulo,"rio ")
|
|
43
|
+
modulo.text_field(:class,/input-street/).set("corrientes")
|
|
44
|
+
modulo.text_field(:class,/input-postal-code/).set("71111234")
|
|
45
|
+
modulo.text_field(:class,/input-address-number/).set("123")
|
|
46
|
+
modulo.text_field(:class,/input-floor/).set("1")
|
|
47
|
+
modulo.text_field(:class,/input-deparment/).set("1")
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def cargar_datos_facturacion_2_tc_pe(modulo)
|
|
51
|
+
modulo.text_field(:class,/input-invoice-fiscal-id/).set("33344455561") if modulo.text_field(:class,/input-invoice-fiscal-id/).present?
|
|
52
|
+
if modulo.div(:class,/fiscal-status-container/).present?
|
|
53
|
+
if [true,false][rand(2)]
|
|
54
|
+
modulo.radio(:value,'NATURAL_PERSON').set
|
|
55
|
+
else
|
|
56
|
+
modulo.radio(:value,'NATURAL_PERSON').set
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
modulo.text_field(:class,/input-invoice-card-holder-name/).set("diego qa romero") if modulo.text_field(:class,/input-invoice-card-holder-name/).present?
|
|
60
|
+
sleep(1)
|
|
61
|
+
modulo.text_field(:class,/input-invoice-fiscal-id/).set("11111111111")
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def cargar_datos_facturacion_2_tc_ec(modulo)
|
|
65
|
+
modulo.checkbox(:class,/check-invoice-check/).set unless modulo.checkbox(:class,/check-invoice-check/).checked?
|
|
66
|
+
cargar_datos_facturacion_pe
|
|
67
|
+
modulo.select_list(:class,/select-state/).select_value("174550")
|
|
68
|
+
modulo.text_field(:name,'custom-invoice-city').set("quito")
|
|
69
|
+
modulo.text_field(:class,/input-street/).set("corrientes 441")
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def cargar_datos_facturacion_2_tc_mx(modulo)
|
|
73
|
+
#modulo.checkbox(:class,/check-invoice-check/).set unless modulo.checkbox(:class,/check-invoice-check/).checked?
|
|
74
|
+
#cargar_datos_facturacion_pe
|
|
75
|
+
#modulo.select_list(:class,/select-state/).select_value("174550")
|
|
76
|
+
#modulo.text_field(:name,'custom-invoice-city').set("quito")
|
|
77
|
+
#modulo.text_field(:class,/input-street/).set("corrientes 441")
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
@@ -29,7 +29,7 @@ module NewCheckout
|
|
|
29
29
|
if AllPages.site=="CL"
|
|
30
30
|
tipo_documento_elements[@index].select_value("LOCAL") if tipo_documento_elements[@index]
|
|
31
31
|
documento_elements[@index].set(RUTS[@index]) if documento_elements[@index]
|
|
32
|
-
elsif AllPages.site.match("AR
|
|
32
|
+
elsif AllPages.site.match("AR")
|
|
33
33
|
tipo_documento_elements[@index].select_value("LOCAL") if tipo_documento_elements[@index]
|
|
34
34
|
documento_elements[@index].set "3245673#{@index}" if documento_elements[@index]
|
|
35
35
|
else
|
|
@@ -54,7 +54,7 @@ module NewCheckout
|
|
|
54
54
|
if AllPages.site=="CL"
|
|
55
55
|
tipo_documento_elements[@index].select_value("LOCAL") if tipo_documento_elements[@index]
|
|
56
56
|
documento_elements[@index].set(RUTS[@index]) if documento_elements[@index]
|
|
57
|
-
elsif AllPages.site.match("AR
|
|
57
|
+
elsif AllPages.site.match("AR")
|
|
58
58
|
tipo_documento_elements[@index].select_value("LOCAL") if tipo_documento_elements[@index]
|
|
59
59
|
documento_elements[@index].set "4245663#{@index}" if documento_elements[@index]
|
|
60
60
|
else
|
|
@@ -77,7 +77,7 @@ module NewCheckout
|
|
|
77
77
|
if AllPages.site=="CL"
|
|
78
78
|
tipo_documento_elements[@index].select_value("LOCAL") if tipo_documento_elements[@index]
|
|
79
79
|
documento_elements[@index].set(RUTS[@index]) if documento_elements[@index]
|
|
80
|
-
elsif AllPages.site.match("AR
|
|
80
|
+
elsif AllPages.site.match("AR")
|
|
81
81
|
tipo_documento_elements[@index].select_value("LOCAL") if tipo_documento_elements[@index]
|
|
82
82
|
documento_elements[@index].set "4249966#{@index}" if documento_elements[@index]
|
|
83
83
|
else
|
|
@@ -292,25 +292,27 @@ module NewCheckout
|
|
|
292
292
|
def verificar_nuevos_tipos_de_pago
|
|
293
293
|
doc = Hpricot.parse(@browser.html)
|
|
294
294
|
(doc/"ul.new-installments li.purchase-installment").each do |li|
|
|
295
|
-
@browser.radio(:id,(li/"input").first.attributes['id']).
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
295
|
+
if @browser.radio(:id,(li/"input").first.attributes['id']).present?
|
|
296
|
+
@browser.radio(:id,(li/"input").first.attributes['id']).click
|
|
297
|
+
sleep(1)
|
|
298
|
+
doc = Hpricot.parse(@browser.html)
|
|
299
|
+
(doc/"select#card-installment-select option").each do |option|
|
|
300
|
+
@browser.select_list(:id,'card-installment-select').select_value(option.attributes['value'])
|
|
301
|
+
begin
|
|
302
|
+
total_desglose = Hpricot.parse(precio_final_element.html).inner_text.gsub(/\D/,'').to_i
|
|
303
|
+
rescue Watir::Exception::UnknownObjectException
|
|
304
|
+
sleep(2)
|
|
305
|
+
total_desglose = Hpricot.parse(precio_final_element.html).inner_text.gsub(/\D/,'').to_i
|
|
306
|
+
end
|
|
307
|
+
if desglose_de_cuotas_element.present?
|
|
308
|
+
doc = Hpricot.parse(desglose_de_cuotas_element.html)
|
|
309
|
+
inicial = (doc/"span.first-price").inner_text.downstrip.gsub(/\./,'').match(/(\d+)$/)[1].to_i
|
|
310
|
+
valor_restantes = (doc/"span.others-price").inner_text.downstrip.gsub(/\.|\,/,'').match(/(\d+)$/)[1].to_i
|
|
311
|
+
cant_restantes = (doc/"span.others-quantity").inner_text.to_i
|
|
312
|
+
(inicial + (cant_restantes * valor_restantes)).should be_within(3).of(total_desglose)
|
|
313
|
+
end
|
|
305
314
|
end
|
|
306
|
-
|
|
307
|
-
doc = Hpricot.parse(desglose_de_cuotas_element.html)
|
|
308
|
-
inicial = (doc/"span.first-price").inner_text.downstrip.gsub(/\./,'').match(/(\d+)$/)[1].to_i
|
|
309
|
-
valor_restantes = (doc/"span.others-price").inner_text.downstrip.gsub(/\.|\,/,'').match(/(\d+)$/)[1].to_i
|
|
310
|
-
cant_restantes = (doc/"span.others-quantity").inner_text.to_i
|
|
311
|
-
(inicial + (cant_restantes * valor_restantes)).should be_within(3).of(total_desglose)
|
|
312
|
-
end
|
|
313
|
-
end
|
|
315
|
+
end
|
|
314
316
|
end
|
|
315
317
|
end
|
|
316
318
|
|
|
@@ -23,6 +23,12 @@ class AllPages
|
|
|
23
23
|
@browser.send_keys :enter
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
+
def set_autocomplete_2_tc(modulo,text)
|
|
27
|
+
modulo.text_field(:name,'custom-invoice-city').set(text)
|
|
28
|
+
sleep(2)
|
|
29
|
+
@browser.send_keys :enter
|
|
30
|
+
end
|
|
31
|
+
|
|
26
32
|
def ir(url)
|
|
27
33
|
begin
|
|
28
34
|
@browser.goto url
|
|
@@ -112,7 +112,7 @@ module Checkout
|
|
|
112
112
|
|
|
113
113
|
def get_upa_data
|
|
114
114
|
tracking_info = buscar_script_con_texto("upaData")
|
|
115
|
-
JSON.parse(tracking_info.last.inner_text.strip.match(/
|
|
115
|
+
JSON.parse(tracking_info.last.inner_text.strip.match(/upaData \= (.+)\;/)[1])
|
|
116
116
|
end
|
|
117
117
|
|
|
118
118
|
def provider
|
|
@@ -12,6 +12,7 @@ module Checkout
|
|
|
12
12
|
include NewCheckout::InformacionDeContacto
|
|
13
13
|
include NewCheckout::Multipleoneway
|
|
14
14
|
include NewCheckout::Secure3D
|
|
15
|
+
include NewCheckout::TwoTc
|
|
15
16
|
|
|
16
17
|
div(:seccion_preguntas_riesgo,:css=>"#form .radio-group")
|
|
17
18
|
div(:opcion_no_deposito,:css=>"#confirm-payment-popup .flights-button-no")
|
data/features/support/version.rb
CHANGED
|
@@ -7,7 +7,7 @@ Característica: checkout.2_tc
|
|
|
7
7
|
Esquema del escenario: Se verifica que se pueda realizar una compra correctamente, validando que los valores a travez del flujo sean correctos y se mantengan a travez del mismo utilizando 2 tarjetas de credito para el pago[REGRESION].
|
|
8
8
|
Dado como un usuario de '<pais>'
|
|
9
9
|
* ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
|
10
|
-
Cuando realizo la busqueda
|
|
10
|
+
Cuando realizo la busqueda para 2 tc
|
|
11
11
|
Entonces verifico que la pagina no rompa
|
|
12
12
|
Cuando espero que termine de cargar la pagina de resultados
|
|
13
13
|
Cuando pruebo angular
|
|
@@ -26,8 +26,8 @@ Característica: checkout.2_tc
|
|
|
26
26
|
Y verifico que se muestren la caja de clientes felices
|
|
27
27
|
Y verifico que se muestren las reviews de aerolineas
|
|
28
28
|
Entonces cargo los pasajeros
|
|
29
|
-
Y cargo los datos de
|
|
30
|
-
Y si el site es "AR|MX|PE|EC", cargo los datos de facturacion
|
|
29
|
+
Y cargo los datos de tarjetas
|
|
30
|
+
Y si el site es "AR|MX|PE|EC|BR", cargo los datos de facturacion para 2 tc
|
|
31
31
|
Y cargo los datos de contacto
|
|
32
32
|
Y verifico que los datos cargados sean mostrados correctamente al lado del boton comprar
|
|
33
33
|
Cuando acepto y compro
|
|
@@ -45,18 +45,18 @@ Característica: checkout.2_tc
|
|
|
45
45
|
Y verifico los datos de la reserva enviados a fenix
|
|
46
46
|
Y cancelo la reserva en el proveedor
|
|
47
47
|
|
|
48
|
-
@
|
|
48
|
+
@cr
|
|
49
49
|
@roundtrip
|
|
50
50
|
Ejemplos:
|
|
51
51
|
|pais|tipo|cabotage|
|
|
52
|
-
|
|
|
53
|
-
@
|
|
52
|
+
|CR |roundtrip|true|
|
|
53
|
+
@mx
|
|
54
54
|
@oneway
|
|
55
55
|
Ejemplos:
|
|
56
56
|
|pais|tipo|cabotage|
|
|
57
|
-
|
|
|
58
|
-
@
|
|
57
|
+
|MX |oneway|true|
|
|
58
|
+
@cl
|
|
59
59
|
@multipledestinations
|
|
60
60
|
Ejemplos:
|
|
61
61
|
|pais|tipo|cabotage|
|
|
62
|
-
|
|
|
62
|
+
|CL |multipledestinations|nil|
|
|
@@ -16,7 +16,7 @@ Característica: checkout.error_messages
|
|
|
16
16
|
Entonces verifico que la pagina no rompa
|
|
17
17
|
Y espero que termine de cargar la pagina de checkout
|
|
18
18
|
Y verifico que ingrese al checkout
|
|
19
|
-
Y verifico las nacionalidades de los pasajeros
|
|
19
|
+
#Y verifico las nacionalidades de los pasajeros #deprecado
|
|
20
20
|
Y si el site es "AR|MX|PE", verifico que se muestren los campos de factura
|
|
21
21
|
Y si el site es "AR|MX|PE", verifico texto de error de campos de factura vacio
|
|
22
22
|
Y si el site es "AR|MX|PE", verifico texto de error de campos de factura con datos erroneos
|
data/flights_gui_tests.gemspec
CHANGED
|
@@ -28,7 +28,7 @@ Gem::Specification.new do |gem|
|
|
|
28
28
|
gem.add_dependency('httparty')
|
|
29
29
|
gem.add_dependency('sixarm_ruby_unaccent')
|
|
30
30
|
gem.add_dependency('sanitize')
|
|
31
|
-
gem.add_dependency('mock_search', '>= 1.
|
|
31
|
+
gem.add_dependency('mock_search', '>= 1.2.2')
|
|
32
32
|
gem.add_dependency('rake', '~> 10.5.0')
|
|
33
33
|
gem.add_dependency('selenium-webdriver', '~> 2.52.0')
|
|
34
34
|
gem.add_dependency('mysql2')
|
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.4.
|
|
4
|
+
version: 2.4.83
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- lgonzalez
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-04-
|
|
11
|
+
date: 2016-04-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: henry-container
|
|
@@ -156,14 +156,14 @@ dependencies:
|
|
|
156
156
|
requirements:
|
|
157
157
|
- - ">="
|
|
158
158
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: 1.
|
|
159
|
+
version: 1.2.2
|
|
160
160
|
type: :runtime
|
|
161
161
|
prerelease: false
|
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
163
|
requirements:
|
|
164
164
|
- - ">="
|
|
165
165
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: 1.
|
|
166
|
+
version: 1.2.2
|
|
167
167
|
- !ruby/object:Gem::Dependency
|
|
168
168
|
name: rake
|
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -361,6 +361,8 @@ files:
|
|
|
361
361
|
- features/support/modules/accessor.rb
|
|
362
362
|
- features/support/modules/browser.rb
|
|
363
363
|
- features/support/modules/checkout/checkout.rb
|
|
364
|
+
- features/support/modules/checkout/new_checkout/2tc.rb
|
|
365
|
+
- features/support/modules/checkout/new_checkout/2tc/datos_de_facturacion.rb
|
|
364
366
|
- features/support/modules/checkout/new_checkout/3dsecure.rb
|
|
365
367
|
- features/support/modules/checkout/new_checkout/datos_de_facturacion.rb
|
|
366
368
|
- features/support/modules/checkout/new_checkout/errores.rb
|