flights_gui_tests 1.0.6 → 1.0.8

Sign up to get free protection for your applications and to get access to all the features.
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