flights_gui_tests 1.0.6 → 1.0.8

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.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/features/step_definitions/checkout/braspag_steps.rb +8 -0
  3. data/features/step_definitions/checkout/compra_duplicada_steps.rb +1 -5
  4. data/features/step_definitions/checkout/error_messages_steps.rb +2 -2
  5. data/features/step_definitions/checkout/fast_checkout_steps.rb +1 -1
  6. data/features/step_definitions/checkout/load_steps.rb +4 -20
  7. data/features/step_definitions/checkout/upselling_steps.rb +3 -3
  8. data/features/step_definitions/checkout/verifications_steps.rb +2 -2
  9. data/features/step_definitions/devtools_steps.rb +1 -1
  10. data/features/step_definitions/results/recommendation_steps.rb +1 -1
  11. data/features/step_definitions/results/results_steps.rb +1 -1
  12. data/features/step_definitions/results/wish_list_steps.rb +7 -7
  13. data/features/step_definitions/thanks/thanks_steps.rb +1 -1
  14. data/features/support/classes/checkout/new_cluster.rb +1 -3
  15. data/features/support/classes/checkout/old_cluster.rb +1 -1
  16. data/features/support/classes/results/new_cluster.rb +1 -7
  17. data/features/support/classes/results/old_cluster.rb +4 -5
  18. data/features/support/env.rb +0 -1
  19. data/features/support/modules/checkout/new_checkout/popup.rb +1 -1
  20. data/features/support/modules/checkout/new_checkout/tarjeta.rb +13 -1
  21. data/features/support/pages/checkout/checkout_page/new_checkout_page.rb +1 -1
  22. data/features/support/version.rb +3 -0
  23. data/features/tests/checkout/braspag.feature +30 -0
  24. data/features/tests/checkout/providers.feature +0 -1
  25. data/flights_gui_tests.gemspec +6 -5
  26. data/henry-context.yml +29 -0
  27. metadata +8 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6f94eefa4843ead52fcd5b41a0a87d213876d653
4
- data.tar.gz: c61830af1ff926ad79a9328737d4337896c62ea2
3
+ metadata.gz: dd2586b8fb3c2fe3ee2482f7bd0059fbba31c81a
4
+ data.tar.gz: 3c746b8d6513c839031fb01d342a28fd39dea68f
5
5
  SHA512:
6
- metadata.gz: b1f1e9c2ec4a0876f006dcee963db4b574a7a194d3bf5613494decf68a1ff6b7874f06d0536b281bed42712d4b0504bf493bc6d84ef07c66c320bac7bfdd596b
7
- data.tar.gz: 530f08ad6469237b3339002d89c06ce51abaa3bcdf8cba3dfda843701fb750863f02dae731fc220fda9ed6ca6189bcd96777f2f3043640c5c61ea80119e42e5d
6
+ metadata.gz: f08da4dcbe158f53a4f399ac0c3b13f2ffbac95200c9eea6e55eb015144d9d23579897f32fe8a452f9b5009c8820612f7392511a092117a326fbee1b9c6dc5ff
7
+ data.tar.gz: bf3d4cec1df39fda455f728d673e01bec841b5bd83fd4c81005879f78ccbf95b83119c5bd1dd1108d172e84dc08e8c359b9e10d481da31b41d5ecd7189f7c213
@@ -0,0 +1,8 @@
1
+ # -*- encoding : utf-8 -*-
2
+ Y(/^cargo los datos para pago debito braspag$/) do
3
+ @page.cargar_datos_braspag
4
+ end
5
+
6
+ Entonces(/^verifico que redirija a la pagina de visa braspag$/) do
7
+ Watir::Wait.until(timeout=120){@page.url == "https://www.pagador.com.br/post/pagador/passthru.asp"}
8
+ end
@@ -5,11 +5,7 @@ Entonces(/^vuelvo a la pagina de resultados original$/) do
5
5
  end
6
6
 
7
7
  Cuando(/^(?:verifico|valido) que se muestre el popup de compra duplicada$/) do
8
- if @nuevo_checkout
9
- @page = Checkout::NewCheckoutPage.new($browser)
10
- else
11
- @page = Checkout::OldCheckoutPage.new($browser)
12
- end
8
+ @page = Checkout::NewCheckoutPage.new($browser)
13
9
  @page.popup_compra_duplicada_element.when_visible(timeout=60)
14
10
  @page.popup_compra_duplicada_element.should visible("popup de compras duplicadas")
15
11
  @page.opcion_si_compra_duplicada_element.should visible("boton yes")
@@ -1,6 +1,6 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  Entonces(/^(?:verifico|valido) las nacionalidades de los pasajeros$/) do
3
- @page.browser.execute_script("javascript:void($('.other-passenger-inputs').css('display','block'));")
3
+ @page.execute_script("javascript:void($('.other-passenger-inputs').css('display','block'));")
4
4
  if AllPages.site=~/AR|VE/
5
5
  @page.nombre_elements[0].focus
6
6
  @page.nacionalidad_elements[0].select_value(AllPages.site)
@@ -114,7 +114,7 @@ end
114
114
  Entonces(/^(?:verifico|valido) que sean visibles los campos obligatorios$/) do
115
115
  index = 0
116
116
  index_menores = 0
117
- @page.browser.execute_script("javascript:void($('.other-passenger-inputs').css('display','block'));")
117
+ @page.execute_script("javascript:void($('.other-passenger-inputs').css('display','block'));")
118
118
  @page.manage_data.adt.times do |adulto|
119
119
  @page.nombre_elements[index].should be_true
120
120
  @page.apellido_elements[index].should be_true
@@ -19,7 +19,7 @@ end
19
19
 
20
20
  Entonces(/^(?:verifico|valido) que se muestren las tarjetas guardadas$/) do
21
21
  @page.tarjetas_guardadas_element.should visible("store de tarjetas guardadas")
22
- @page.browser.execute_script("javascript:void($('#stored-cards .display-cards').click())") if @page.mostrar_cartas_guardadas_element.text.no_accents.downcase.match("mas|mais|more")
22
+ @page.execute_script("javascript:void($('#stored-cards .display-cards').click())") if @page.mostrar_cartas_guardadas_element.text.no_accents.downcase.match("mas|mais|more")
23
23
  sleep(1)
24
24
  index = 0
25
25
  @page.container_tarjetas_elements.each do |ul|
@@ -1,11 +1,6 @@
1
1
  # encoding: utf-8
2
- Cuando(/^ingreso a la pagina de checkout de agencia para una busqueda '(.*?)' del tipo '(.*?)'$/) do |tipo, cabotaje|
3
- @nuevo_checkout = AllPages.site=="BR" ? false : true
4
- if @nuevo_checkout
5
- @page = Checkout::NewCheckoutPage.new($browser)
6
- else
7
- @page = Checkout::OldCheckoutPage.new($browser)
8
- end
2
+ Cuando(/^ingreso a la pagina de checkout de agencia para una busqueda '(.*?)' del tipo '(.*?)'$/) do |tipo, cabotaje|
3
+ @page = Checkout::NewCheckoutPage.new($browser)
9
4
  @page.cargar_url(tipo,$ENV,cabotaje)
10
5
  begin
11
6
  @page.url_busqueda
@@ -16,12 +11,7 @@ Cuando(/^ingreso a la pagina de checkout de agencia para una busqueda '(.*?)' de
16
11
  end
17
12
 
18
13
  Cuando(/^ingreso a un checkout directo para una busqueda '(.*?)' del tipo '(.*?)'$/) do |tipo, cabotaje|
19
- @nuevo_checkout = AllPages.site=="BR" ? false : true
20
- if @nuevo_checkout
21
- @page = Checkout::NewCheckoutPage.new($browser)
22
- else
23
- @page = Checkout::OldCheckoutPage.new($browser)
24
- end
14
+ @page = Checkout::NewCheckoutPage.new($browser)
25
15
  @page.cargar_url(tipo,$ENV,cabotaje)
26
16
  begin
27
17
  @page.url_busqueda
@@ -32,12 +22,7 @@ Cuando(/^ingreso a un checkout directo para una busqueda '(.*?)' del tipo '(.*?)
32
22
  end
33
23
 
34
24
  Cuando(/^espero que termine de cargar la pagina de checkout$/) do
35
- @nuevo_checkout = AllPages.site=="BR" ? false : true
36
- if @nuevo_checkout
37
- @page = Checkout::NewCheckoutPage.new($browser)
38
- else
39
- @page = Checkout::OldCheckoutPage.new($browser)
40
- end
25
+ @page = Checkout::NewCheckoutPage.new($browser)
41
26
  @page.popup_transicion_inicial_element.when_not_visible(timeout=120)
42
27
  @page.pasajeros_element.when_visible(timeout=120)
43
28
  puts "URL: #{@page.browser.url}"
@@ -106,7 +91,6 @@ Cuando(/^seteo el checkout a ingresar$/) do
106
91
  step "espero que termine de cargar la pagina de resultados"
107
92
  step "elijo un itinerario y paso a checkout"
108
93
  step "verifico que la pagina no rompa"
109
- @nuevo_checkout = ($HENRY_PARAMS['checkout'].to_i > 49) ? false : true
110
94
  step "espero que termine de cargar la pagina de checkout"
111
95
  step "verifico que ingrese al checkout"
112
96
  end
@@ -26,9 +26,9 @@ end
26
26
 
27
27
  Entonces(/^(?:verifico|valido) que el precio del seguro se muestre correctamente en el desglose$/) do
28
28
  @page.precio_seguro_desglose_element.should visible
29
- price_detail=@page.precio_seguro_desglose_element.span(:class,'amount').text
30
- price_assistance=@page.precio_seguro_element.text.gsub(/\./,'').match(/(.+)(\D)(\d+) (por persona)/)[3]
31
- price_detail.gsub(/\./,'').to_i.should be_within(4).of(price_assistance.to_i*(@page.manage_data.adt+@page.manage_data.cnn+@page.manage_data.inf)) unless AllPages.site == "AR"
29
+ price_detail=@page.precio_seguro_desglose_element.span(:class,'amount').text.gsub(/\./,'')
30
+ price_assistance=@page.precio_seguro_element.text.gsub(/\./,'')
31
+ price_detail.to_i.should be_within(5).of(price_assistance.to_i*(@page.manage_data.adt+@page.manage_data.cnn+@page.manage_data.inf)) unless AllPages.site == "AR"
32
32
  end
33
33
 
34
34
  Cuando(/^muestro el popup de la cobertura completa$/) do
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  Entonces(/^(?:verifico|valido) los valores del desglose del checkout$/) do
3
3
  @itinerario_checkout = @page.datos_itinerario
4
- @itinerario_checkout.validarSumaDesgloce.should be_within(4).of(@itinerario_checkout.tarifas['total'].value)
4
+ @itinerario_checkout.validar_suma_desgloce.should be_within(4).of(@itinerario_checkout.tarifas['total'].value)
5
5
  unless @itinerario_checkout.tarifas['adt'].valor.zero?
6
6
  @itinerario_checkout.tarifas['adt'].valor.should be_within(4).of(@itinerario_checkout.tarifas['tarifa_adulto'].valor * @page.manage_data.adt)
7
7
  end
@@ -48,7 +48,7 @@ Cuando(/^(?:verifico|valido) que los precios de las formas de pago nueva se mues
48
48
  end
49
49
 
50
50
  Y(/^(?:verifico|valido) que no se muestre la opcion de reserva CAC en BR$/) do
51
- @page.browser.execute_script("javascript:void(function(){ShowButtonCAC();})();")
51
+ @page.execute_script("javascript:void(function(){ShowButtonCAC();})();")
52
52
  begin
53
53
  Watir::Wait.until(timeout=10){@page.browser.alert.exists?}
54
54
  rescue Watir::Wait::TimeoutError
@@ -1,7 +1,7 @@
1
1
  # encoding: utf-8
2
2
  Cuando(/^mostrar devtools$/) do
3
3
  unless @page.tab_devtools_element.present?
4
- @page.browser.execute_script("javascript:(function(){mcReqJs.load({'projectId': 'flights','modules': ['core-flights/devtools'],'callback':function(devtools){devtools.init();}});})();")
4
+ @page.execute_script("javascript:(function(){mcReqJs.load({'projectId': 'flights','modules': ['core-flights/devtools'],'callback':function(devtools){devtools.init();}});})();")
5
5
  else
6
6
  sleep(0.5)
7
7
  @page.tab_devtools_element.click
@@ -26,7 +26,7 @@ end
26
26
 
27
27
  Cuando(/^hago click en el boton de enviar$/) do
28
28
  sleep(1)
29
- @page.browser.execute_script("javascript:void($('#popup-email .flights-send-button').click());")
29
+ @page.execute_script("javascript:void($('#popup-email .flights-send-button').click());")
30
30
  sleep(2)
31
31
  end
32
32
 
@@ -56,7 +56,7 @@ Y(/^(?:verifico|valido) el popup de alertas$/) do
56
56
  @page.boton_alertas_element.click
57
57
  @page.popup_alertas_element.when_visible(timeout=20)
58
58
  @page.popup_alertas_element.should visible
59
- @page.browser.execute_script("javascript:void($('#nibbler-subscriptions .nibbler-common-overlay-close').click());")
59
+ @page.execute_script("javascript:void($('#nibbler-subscriptions .nibbler-common-overlay-close').click());")
60
60
  sleep(1)
61
61
  end
62
62
  end
@@ -38,20 +38,20 @@ 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.browser.execute_script("javascript:void($(\"input#signin-email\").val('#{arg1}'))\;")
42
- @page.browser.execute_script("javascript:void($(\".nibbler-selfservice-label-pass input\").val('#{arg2}'))\;")
41
+ @page.execute_script("javascript:void($(\"input#signin-email\").val('#{arg1}'))\;")
42
+ @page.execute_script("javascript:void($(\".nibbler-selfservice-label-pass input\").val('#{arg2}'))\;")
43
43
  @page.boton_usuario_nibbler_element.click
44
44
  sleep(1)
45
45
  end
46
46
 
47
47
  Cuando(/^limpio la lista de deseos$/) do
48
48
  sleep(1)
49
- @page.browser.execute_script("javascript:void($('.nibbler-common-last-searches-footer-clear-all').click());")
49
+ @page.execute_script("javascript:void($('.nibbler-common-last-searches-footer-clear-all').click());")
50
50
  sleep(2)
51
51
  end
52
52
 
53
53
  Cuando(/^cierro la lista de deseos$/) do
54
- @page.browser.execute_script("javascript:void($('.nibbler-common-overlay-close').click())")
54
+ @page.execute_script("javascript:void($('.nibbler-common-overlay-close').click())")
55
55
  sleep(1)
56
56
  end
57
57
 
@@ -84,7 +84,7 @@ end
84
84
 
85
85
  Cuando(/^elijo el itinerario de la lista de deseos$/) do
86
86
  @url = @page.url
87
- @page.browser.execute_script("javascript:void($('.nibbler-common-header-favorites-popup .nibbler-common-last-searches-body-content-title').click())")
87
+ @page.execute_script("javascript:void($('.nibbler-common-header-favorites-popup .nibbler-common-last-searches-body-content-title').click())")
88
88
  end
89
89
 
90
90
  Entonces(/^verifico que dirija correctamente a la pagina de resultados$/) do
@@ -103,9 +103,9 @@ end
103
103
 
104
104
  Cuando(/^elimino el itinerario de la lista de deseos$/) do
105
105
  sleep(1)
106
- @page.browser.execute_script("javascript:void($('.nibbler-common-last-searches-footer-clear-all').click());")
106
+ @page.execute_script("javascript:void($('.nibbler-common-last-searches-footer-clear-all').click());")
107
107
  sleep(2)
108
- @page.browser.execute_script("javascript:void($('.nibbler-common-last-searches-footer-clear-all').click());")
108
+ @page.execute_script("javascript:void($('.nibbler-common-last-searches-footer-clear-all').click());")
109
109
  sleep(2)
110
110
  end
111
111
 
@@ -13,7 +13,7 @@ Entonces(/^(?:verifico|valido) el link de mi despegar$/) do
13
13
  end
14
14
 
15
15
  Y(/^(?:verifico|valido) los valores del desglose en gracias contra los del checkout/) do
16
- @itinerario_gracias.validarSumaDesgloce.should be_within(4).of(@itinerario_gracias.tarifas['total'].value)
16
+ @itinerario_gracias.validar_suma_desgloce.should be_within(4).of(@itinerario_gracias.tarifas['total'].value)
17
17
  unless @itinerario_gracias.tarifas['adt'].valor.zero? or @itinerario_gracias.tarifas['tarifa_adulto'].nil?
18
18
  @itinerario_gracias.tarifas['adt'].valor.should equal(@itinerario_gracias.tarifas['tarifa_adulto'].valor * @page.manage_data.adt)
19
19
  end
@@ -67,7 +67,7 @@ module NewCheckout
67
67
  @tarifas['tasas'] = (html/"li.taxes").first ? Price.new((html/"li.taxes span.price-currency").first.inner_text.strip) : Price.new("$ 0",true)
68
68
  @tarifas['cargos'] = (html/"li.charges").first ? Price.new((html/"li.charges span.price-currency").first.inner_text.strip) : Price.new("$ 0",true)
69
69
  @tarifas['afip'] = (html/"li.tax_afip").first ? Price.new((html/"li.tax_afip span.price-currency").first.inner_text.strip) : Price.new("$ 0",true)
70
- @tarifas['encargos'] = (html/"li.taxes_services").first ? Price.new((html/"li.taxes_services span.price-currency").first.inner_text.strip) : Price.new("$ 0",true)
70
+ @tarifas['encargos'] = (html/"li.service_taxes").first ? Price.new((html/"li.service_taxes span.price-currency").first.inner_text.strip) : Price.new("$ 0",true)
71
71
  @tarifas['total'] = (html/"li.total span.price-currency").first ? Price.new((html/"li.total span.price-currency").first.inner_text.strip) : Price.new("$ 0",true)
72
72
  end
73
73
 
@@ -81,8 +81,6 @@ module NewCheckout
81
81
  return sumaTarifas.to_i
82
82
  end
83
83
 
84
- alias :validarSumaDesgloce :validar_suma_desgloce
85
-
86
84
  def escala_to_i(escala)
87
85
  return 0 if escala.to_s =~ /(solo vuelo directo)|(Sin escalas)|(Sem escalas)|(Soamente v.o directo)|(Vuelo Directo)/i
88
86
  return escala.to_s.gsub(/\D/,'').to_i
@@ -98,7 +98,7 @@ module OldCheckout
98
98
  @tarifas['total'] = (p_html/"li.#{campo} span.currency").empty? ? Price.new("$ 0",true) : Price.new((p_html/"li.#{campo} span.currency").first.inner_text.strip + " " + (p_html/"li.#{campo} span.amount").first.inner_text.strip)
99
99
  end
100
100
 
101
- def validarSumaDesgloce(linea = "total|tarifa_adulto|tarifa_adulto_dolar")
101
+ def validar_suma_desgloce(linea = "total|tarifa_adulto|tarifa_adulto_dolar")
102
102
 
103
103
  sumaTarifas = 0
104
104
  @tarifas.each_pair do |key,tarifa|
@@ -83,15 +83,11 @@ module Results
83
83
 
84
84
  end
85
85
 
86
- def validarEcuacionTarifasPorCantidadDePasajeros(cant)
86
+ def validar_ecuacion_tarifas_por_cantidad_de_pasajeros(cant)
87
87
  unless @tarifas['adt'].valor.zero?
88
88
  (@tarifas['adt'].valor == @tarifas['tarifa_adulto'].valor * cant).should be_true
89
89
  end
90
90
  end
91
-
92
- def validarResolucionAFIP
93
- (@tarifas['total'] * 20 / 100).truncate + 1 == @tarifas['afip']
94
- end
95
91
 
96
92
  def total_escalas()
97
93
  vueltas = @vueltas ? @vueltas.collect{|vuelta| vuelta.escalas} : []
@@ -108,8 +104,6 @@ module Results
108
104
  return sumaTarifas.to_i
109
105
  end
110
106
 
111
- alias :validarSumaDesgloce :validar_suma_desgloce
112
-
113
107
  def escala_to_i(escala)
114
108
  return 0 if escala.to_s =~ /(solo vuelo directo)|(Sin escalas)|(Sem escalas)|(Soamente v.o directo)|(Vuelo Directo)|(Directo)/i
115
109
  return escala.to_s.gsub(/\D/,'').to_i
@@ -110,7 +110,7 @@ module Results
110
110
  @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)
111
111
  end
112
112
 
113
- def validarSumaDesgloce(linea = "total|tarifa_adulto")
113
+ def validar_suma_desgloce(linea = "total|tarifa_adulto")
114
114
 
115
115
  sumaTarifas = 0
116
116
  @tarifas.each_pair do |key,tarifa|
@@ -127,14 +127,13 @@ module Results
127
127
  end
128
128
 
129
129
  end
130
- def validarEcuacionTarifasPorCantidadDePasajeros(cant)
130
+
131
+ def validar_ecuacion_tarifas_por_cantidad_de_pasajeros(cant)
131
132
  unless @tarifas['adt'].valor.zero?
132
133
  (@tarifas['adt'].valor == @tarifas['tarifa_adulto'].valor * cant).should be_true
133
134
  end
134
135
  end
135
- def validarResolucionAFIP
136
- (@tarifas['total'] * 20 / 100).truncate + 1 == @tarifas['afip']
137
- end
136
+
138
137
  def total_escalas()
139
138
  vueltas = @vueltas ? @vueltas.collect{|vuelta| vuelta.escalas} : []
140
139
  (vueltas + @idas.collect{|vuelta| vuelta.escalas}).sort
@@ -13,7 +13,6 @@ require 'uri'
13
13
  require 'henry/config'
14
14
  require 'mock_search'
15
15
  require 'byebug'
16
- require 'headless'
17
16
 
18
17
  $VERBOSE = nil
19
18
 
@@ -4,7 +4,7 @@ module NewCheckout
4
4
  include PageObject
5
5
 
6
6
  div(:popup_transicion_inicial,:id=>"popup-initial-transition")
7
- div(:popup_transicion_compra,:id=>"popup-checkout-transition-template")
7
+ div(:popup_transicion_compra,:id=>"popup-checkout-transition")
8
8
  div(:popup_nuevo_precio,:id=>"popup-price-difference-template")
9
9
  div(:popup_nuevo_vuelo,:id=>"popup-new-flight")
10
10
  div(:popup_confirmacion_pago,:id=>"confirm-payment-popup")
@@ -11,6 +11,8 @@ module NewCheckout
11
11
  select_list(:sexo_titular_tarjeta,:id=>"owner-gender")
12
12
  select_list(:estado_entrega_tarjeta,:id=>"billing-address-state")
13
13
  select_list(:sexo_offline,:id=>"offline-owner-gender")
14
+ select_list(:opciones_debito,:id=>"external-debit-card")
15
+ select_list(:opciones_bancos_debito,:id=>"external-debit-bank")
14
16
 
15
17
  text_field(:cp_entrega_tarjeta,:id=>"billing-address-postal-code")
16
18
  text_field(:piso_entrega_tarjeta,:id=>"billing-address-floor")
@@ -21,7 +23,9 @@ module NewCheckout
21
23
  text_field(:numero_tarjeta,:id=>"card-number")
22
24
  text_field(:codigo_seguridad_tarjeta,:id=>"security-code")
23
25
  text_field(:nombre_titular_tarjeta,:id=>"owner-name")
26
+ text_field(:nombre_titular_tarjeta_debito,:css=>"#externalDebitDefinition #owner-name")
24
27
  text_field(:documento_titular_tarjeta,:id=>"owner-document-number")
28
+ text_field(:documento_titular_tarjeta_debito,:css=>"#externalDebitDefinition #owner-document-number")
25
29
  text_field(:banco_emisor,:id=>"other-bank-name")
26
30
  text_field(:documento_offline,:id=>"offline-owner-document-number")
27
31
  text_field(:nombre_completo_contacto,:id=>"contact-contact-full-name")
@@ -43,7 +47,7 @@ module NewCheckout
43
47
  radio_button(:pago_online_pe,:css=>"#multiple-card-homebanking-installment .main-radio")
44
48
  radio_button(:opcion_cac,:css=>"#cac-installment .main-radio")
45
49
  radio_button(:pago_con_intereses,:class=>"radio main-radio radio-with-interest")
46
-
50
+ radio_button(:opcion_braspag,:css=>"#extdebit-installment .main-radio")
47
51
 
48
52
  elements(:tipos_de_pago,:radio,:css=>"#paymentDefinition input.radio")
49
53
 
@@ -279,5 +283,13 @@ module NewCheckout
279
283
  eval "pago_online_#{AllPages.site.downcase}_element"
280
284
  end
281
285
 
286
+ def cargar_datos_braspag
287
+ opcion_braspag_element.click
288
+ opciones_debito_element.select("Visa Electron")
289
+ opciones_bancos_debito_element.select("Banco Santander S.A.")
290
+ nombre_titular_tarjeta_debito_element.set("Martin qa diez")
291
+ documento_titular_tarjeta_debito_element.set("22233366638")
292
+ end
293
+
282
294
  end
283
295
  end
@@ -44,7 +44,7 @@ module Checkout
44
44
  span(:elegir_otro_vuelo,:class=>"choose-another")
45
45
  span(:error_datos,:class=>"error-message")
46
46
  span(:carga,:css=>".loading .img")
47
- span(:precio_seguro,:css=>"#upselling .col7 .details-title")
47
+ span(:precio_seguro,:css=>"#upselling .col7 .details-title .amount")
48
48
 
49
49
  text_field(:cupon_email,:id=>"voucher-email")
50
50
  text_field(:cupon_voucher,:id=>"voucher-code-0")
@@ -0,0 +1,3 @@
1
+ module FlightsGui
2
+ VERSION = "1.0.8"
3
+ end
@@ -0,0 +1,30 @@
1
+ #language: es
2
+ @checkout
3
+ Característica: checkout.braspag
4
+ Se realiza una compra con opcion debito en decolar, se verifica que redirija al sitio externo de visa.
5
+
6
+ @braspag
7
+ Esquema del escenario: Se verifica que se pueda realizar un redirect correcto a la pagina de visa debito cuando se elije opcion braspag
8
+ Dado como un usuario de '<pais>'
9
+ * ingreso una busqueda '<tipo>' del tipo '<cabotage>'
10
+ Cuando realizo la busqueda
11
+ Entonces verifico que la pagina no rompa
12
+ Cuando espero que termine de cargar la pagina de resultados
13
+ Entonces verifico que traiga resultados
14
+ Cuando elijo un itinerario y paso a checkout
15
+ Cuando espero que termine de cargar la pagina de checkout
16
+ Entonces verifico que ingrese al checkout
17
+ Y verifico que la pagina no rompa
18
+ Cuando ingreso al checkout con cookie "showDebitCardPayment" al "25"
19
+ Entonces cargo los pasajeros
20
+ Y cargo los datos para pago debito braspag
21
+ Y cargo los datos de facturacion
22
+ Y cargo los datos de contacto
23
+ Cuando acepto y compro
24
+ Entonces verifico que redirija a la pagina de visa braspag
25
+
26
+ @br
27
+ Ejemplos:
28
+ |pais|tipo|cabotage|
29
+ |BR |roundtrip|true|
30
+ |BR |oneway|true|
@@ -19,7 +19,6 @@ Característica: checkout.providers
19
19
  Entonces verifico que la pagina no rompa
20
20
  Y espero que termine de cargar la pagina de checkout
21
21
  Y verifico que ingrese al checkout
22
- Cuando si el site es "BR", ingreso al checkout con cookie "showNewPaymentType" al "85"
23
22
  Y valido los valores del desglose del checkout
24
23
  Y verifico el pixel de Efrontier
25
24
  Y verifico el pixel de trackeame en checkout
@@ -1,9 +1,11 @@
1
- # multi_test_flight.gemspec
1
+ # flights_gui_tests.gemspec
2
2
  # -*- encoding: utf-8 -*-
3
+ require_relative 'features/support/version'
4
+
3
5
  Gem::Specification.new do |gem|
4
6
  gem.authors = ["lgonzalez"]
5
7
  gem.email = ["lgonzalez@despegar.com"]
6
- gem.description = %q{test automatizado para el proyecto flights gui}
8
+ gem.description = %q{test automatizado para los productos del equipo flights gui}
7
9
  gem.summary = %q{test para results, checkout y landing}
8
10
 
9
11
  gem.files = Dir[".henry/**/*.*"] + Dir["flights_gui_tests.gemspec"] + Dir["Gemfile"] + Dir['features/**/*.rb'] + Dir['features/data/*.*'] + Dir['features/**/*.feature'] + Dir['henry-context.yml']
@@ -14,7 +16,7 @@ Gem::Specification.new do |gem|
14
16
 
15
17
  gem.require_paths = ["lib"] # Usualmente es solo lib -> ["lib"]
16
18
 
17
- gem.version = '1.0.6' # La version se debe incrementar cada vez que se desea publicar una nueva version del test.
19
+ gem.version = FlightsGui::VERSION # La version se debe incrementar cada vez que se desea publicar una nueva version del test.
18
20
 
19
21
  gem.add_dependency('henry-container', '>= 0.1.39')
20
22
  gem.add_dependency('page-object')
@@ -28,7 +30,6 @@ Gem::Specification.new do |gem|
28
30
  gem.add_dependency('mock_search', '>= 1.0.0')
29
31
  gem.add_dependency('byebug')
30
32
  gem.add_dependency('dater')
31
- gem.add_dependency('headless')
32
33
 
33
- gem.add_development_dependency('geminabox')
34
+ gem.add_development_dependency('geminabox', '~> 0')
34
35
  end
@@ -10367,6 +10367,35 @@ tasks:
10367
10367
  recipients:
10368
10368
  - estebanldh@gmail.com
10369
10369
  - nsimean@despegar.com
10370
+ - name: checkout.braspag
10371
+ class_name: Henry::Task::CucumberTask
10372
+ options:
10373
+ tags:
10374
+ - checkout
10375
+ - braspag
10376
+ expand: true
10377
+ no-source: true
10378
+ reports:
10379
+ - format: html
10380
+ name: ${DATE}_${TASK_NAME}.html
10381
+ recipients:
10382
+ - estebanldh@gmail.com
10383
+ - nsimean@despegar.com
10384
+ - name: checkout.braspag.br
10385
+ class_name: Henry::Task::CucumberTask
10386
+ options:
10387
+ tags:
10388
+ - checkout
10389
+ - braspag
10390
+ - br
10391
+ expand: true
10392
+ no-source: true
10393
+ reports:
10394
+ - format: html
10395
+ name: ${DATE}_${TASK_NAME}.html
10396
+ recipients:
10397
+ - estebanldh@gmail.com
10398
+ - nsimean@despegar.com
10370
10399
  - name: checkout.cac
10371
10400
  class_name: Henry::Task::CucumberTask
10372
10401
  options:
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: 1.0.6
4
+ version: 1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - lgonzalez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-23 00:00:00.000000000 Z
11
+ date: 2015-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: henry-container
@@ -178,35 +178,21 @@ dependencies:
178
178
  - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: headless
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: '0'
188
- type: :runtime
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '0'
195
181
  - !ruby/object:Gem::Dependency
196
182
  name: geminabox
197
183
  requirement: !ruby/object:Gem::Requirement
198
184
  requirements:
199
- - - ">="
185
+ - - "~>"
200
186
  - !ruby/object:Gem::Version
201
187
  version: '0'
202
188
  type: :development
203
189
  prerelease: false
204
190
  version_requirements: !ruby/object:Gem::Requirement
205
191
  requirements:
206
- - - ">="
192
+ - - "~>"
207
193
  - !ruby/object:Gem::Version
208
194
  version: '0'
209
- description: test automatizado para el proyecto flights gui
195
+ description: test automatizado para los productos del equipo flights gui
210
196
  email:
211
197
  - lgonzalez@despegar.com
212
198
  executables: []
@@ -219,6 +205,7 @@ files:
219
205
  - features/data/promos.csv
220
206
  - features/data/sites.yml
221
207
  - features/data/tag_microsoft.yml
208
+ - features/step_definitions/checkout/braspag_steps.rb
222
209
  - features/step_definitions/checkout/cash_payment_steps.rb
223
210
  - features/step_definitions/checkout/checkout_steps.rb
224
211
  - features/step_definitions/checkout/compra_duplicada_steps.rb
@@ -327,8 +314,10 @@ files:
327
314
  - features/support/pages/results/desambiguation_city_page.rb
328
315
  - features/support/pages/results/search_page.rb
329
316
  - features/support/pages/thanks/thanks_page.rb
317
+ - features/support/version.rb
330
318
  - features/tests/checkout/agency.feature
331
319
  - features/tests/checkout/book_ok.feature
320
+ - features/tests/checkout/braspag.feature
332
321
  - features/tests/checkout/cac.feature
333
322
  - features/tests/checkout/cash_payment.feature
334
323
  - features/tests/checkout/compatibility.feature