flights_gui_tests 0.0.34 → 0.0.35

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 045efc7e3a491d3c544c94e5bda50b2cadce5325
4
- data.tar.gz: 8e7ba17231e0d09e1ab52a3009817db5d6c2f982
3
+ metadata.gz: 411abf6e08f7dbbe0cceaeebfaa575724e062c5d
4
+ data.tar.gz: 6d33b027ec83c25d81f6afccc23bdc4d85ab339d
5
5
  SHA512:
6
- metadata.gz: c7feb5fc9da59ae7c8f31b40c088c0581941b6465736e4868005a44171b3552fe426016c9de3001c409567215ba929e135bb2d9614f1c82910272d8d1930cdbc
7
- data.tar.gz: bd1eb10fec3c9070e5d94818aac79a4ad55c06912e83e68f447d6f7a57f82393970cf34f1ef7a8271c3037b0a114da4234456954365be1fb166ea4666f6a13e6
6
+ metadata.gz: 712a50b3da6e30ffb9466518dad3b96388fbfbcb609f953af5957483dd1bdf10b706972605287414d4e6290bfc3bb0d97d7faadea07ac5f76b287bcf15228620
7
+ data.tar.gz: 49df5f0afd487b7b2103e0d6668ae30224fd1dbfabe3571b142ab4a274c21533c2fb620acd61aaed460dc7fa18fc393ba6344b03a785fbcf1a9d2674dbd5ff4d
@@ -5,6 +5,9 @@ end
5
5
  Y(/^cargo los datos de la tarjeta$/) do
6
6
  @page.cargar_datos_tarjeta
7
7
  end
8
+ Y(/^cargo los datos de la tarjeta en el nuevo formulario$/) do
9
+ @page.cargar_datos_tarjeta_nuevo_formulario
10
+ end
8
11
  Y(/^cargo los datos de facturacion$/) do
9
12
  if AllPages.site.upcase.match("AR")
10
13
  @page.formulario_facturacion_element.should visible("formulario de factura")
@@ -17,6 +17,7 @@ Cuando(/^espero que termine de cargar la pagina de checkout$/) do
17
17
  @page = Checkout::CheckoutPage.new($browser)
18
18
  @page.popup_transicion_inicial_element.when_not_visible(timeout=120)
19
19
  @page.pasajeros_element.when_visible(timeout=120)
20
+ puts "URL: #{@page.browser.url}"
20
21
  end
21
22
 
22
23
  Entonces(/^verifico que ingrese al checkout$/) do
@@ -35,6 +35,10 @@ Cuando(/^verifico que los precios de las cuotas se muestran correctamente$/) do
35
35
  @page.verificar_tipos_de_pago
36
36
  end
37
37
 
38
+ Cuando(/^verifico que los precios de las formas de pago nueva se muestren correctamente$/) do
39
+ @page.verificar_nuevos_tipos_de_pago
40
+ end
41
+
38
42
  Y(/^verifico que no se muestre la opcion de reserva CAC en BR$/) do
39
43
  @page.browser.execute_script("javascript:void(function(){ShowButtonCAC();})();")
40
44
  begin
@@ -12,7 +12,7 @@ Y(/^verifico que la ciudad destino sea la que se eligio$/) do
12
12
  doc = Hpricot.parse(@page.html)
13
13
  ciudades = (doc/"div.mainTitle/h1").inner_text.strip.no_accents
14
14
  ciudad_destino = ciudades.match(/ (para|a|to) ([^,]+)/)[2].strip
15
- @page.ciudad_elegida.should equal(ciudad_destino) unless @page.ciudad_elegida.match(/Guarullos/)
15
+ @page.ciudad_elegida.should equal(ciudad_destino) unless @page.ciudad_elegida.match(/Guarullos|Panama|Santiago|Mexico/)
16
16
  end
17
17
 
18
18
  Entonces(/^valido el sorting de landing$/) do
@@ -30,14 +30,17 @@ Y(/^verifico que traiga resultados de landing$/) do
30
30
  end
31
31
 
32
32
  Y(/^verifico la pagina donde ingresa$/) do
33
- @page_results = Results::SearchPage.new($browser)
33
+ @page_results = Results::SearchPage.new($browser)
34
34
  @page_checkout = Checkout::CheckoutPage.new($browser)
35
35
  puts " URL: #{@page.url}"
36
- Watir::Wait.until(timeout = 300){@page_results.carga_element.present? or @page_checkout.pasajeros_element.present? or @page_checkout.notificacion_warning_element.present?}
36
+ byebug
37
+ Watir::Wait.until(timeout = 300){@page_results.carga_element.present? or @page_results.itinerario_element.present? or @page_checkout.pasajeros_element.present? or @page_checkout.notificacion_warning_element.present?}
37
38
  if @page_checkout.pasajeros_element.present? or @page_checkout.notificacion_warning_element.present?
38
39
  @page_in = "checkout"
40
+ @page = @page_checkout
39
41
  else
40
42
  @page_in = "results"
43
+ @page = @page_results
41
44
  end
42
45
  sleep(1)
43
46
  end
@@ -4,6 +4,7 @@ module Checkout
4
4
  include PageObject
5
5
 
6
6
  select_list(:tarjeta,:id=>"card-brand")
7
+ select_list(:cuotas,:id=>"card-installment-select")
7
8
  select_list(:mes_vencimiento_tarjeta,:id=>"card-expiration-month")
8
9
  select_list(:ano_vencimiento_tarjeta,:id=>"card-expiration-year")
9
10
  select_list(:tipo_titular_tarjeta,:id=>"owner-type")
@@ -43,6 +44,8 @@ module Checkout
43
44
  span(:desc_fecha_deposito,:css=>"#cash-installment .installment-description-info")
44
45
  span(:desc_pasos_deposito,:css=>"#cash-installment .installment-detail-text")
45
46
  span(:precio_final,:id=>"total-price")
47
+ span(:precio_final_combo,:css=>"#installments-price .total")
48
+ span(:desglose_de_cuotas,:css=>"#installments-price .installments-detail")
46
49
 
47
50
  li(:medio_de_pago_seleccionado,:css=>"#paymentDefinition .selected")
48
51
  li(:medio_de_subpago_seleccionado,:css=>".list .sub-selected")
@@ -94,6 +97,30 @@ module Checkout
94
97
  self.cargar_datos_extras_de_tarjeta
95
98
  end
96
99
 
100
+ def cargar_datos_tarjeta_nuevo_formulario
101
+ data = self.manage_data.get_results_search_service
102
+ provider = data["result"]["data"]["items"][0]["provider"]
103
+ select_un_pago
104
+ cuotas_element.select_value("1_CREDIT_VI_null")
105
+ numero_tarjeta_element.set "4242424242424242"
106
+ mes_vencimiento_tarjeta_element.select 5
107
+ ano_vencimiento_tarjeta_element.select(Date.today.year+1)
108
+ codigo_seguridad_tarjeta_element.set "123"
109
+ banco_emisor_element.set "galicia" if banco_emisor_element.present?
110
+ tipo_titular_tarjeta_value = "PERSON" if tipo_titular_tarjeta_element.present?
111
+ nombre_titular_tarjeta_element.set "Martin qa diez"
112
+ if documento_titular_tarjeta_element.present?
113
+ number = case AllPages.site
114
+ when "CL" then "7028168-6"
115
+ when "BR" then "22233366638"
116
+ else "32456324"
117
+ end
118
+ documento_titular_tarjeta_element.set number
119
+ end
120
+ sexo_titular_tarjeta_element.select_value "MALE" if sexo_titular_tarjeta_element.present?
121
+ self.cargar_datos_extras_de_tarjeta
122
+ end
123
+
97
124
  def cargar_datos_tarjeta_guardada
98
125
  @browser.execute_script("javascript:void($('#stored-cards .display-cards').click())") if mostrar_cartas_guardadas_element.text.no_accents.downcase.match("mas|mais|more")
99
126
  if AllPages.site=="BR"
@@ -201,5 +228,27 @@ module Checkout
201
228
  end
202
229
  end
203
230
 
231
+ def verificar_nuevos_tipos_de_pago
232
+ doc = Hpricot.parse(@browser.html)
233
+ (doc/"ul.new-installments li.purchase-installment").each do |li|
234
+ @browser.radio(:id,(li/"input").first.attributes['id']).click
235
+ sleep(1)
236
+ doc = Hpricot.parse(@browser.html)
237
+ (doc/"select#card-installment-select option").each do |option|
238
+ @browser.select_list(:id,'card-installment-select').select_value(option.attributes['value'])
239
+ total_desglose = Hpricot.parse(precio_final_element.html).inner_text.gsub(/\D/,'').to_i
240
+ total_combo = Hpricot.parse(precio_final_combo_element.html).inner_text.gsub(/\D/,'').to_i
241
+ total_desglose.should be_within(2).of(total_combo)
242
+ if desglose_de_cuotas_element.present?
243
+ doc = Hpricot.parse(desglose_de_cuotas_element.html)
244
+ inicial = (doc/"span.first-price").inner_text.downstrip.gsub(/\./,'').match(/(\d+)$/)[1].to_i
245
+ valor_restantes = (doc/"span.others-price").inner_text.downstrip.gsub(/\./,'').match(/(\d+)$/)[1].to_i
246
+ cant_restantes = (doc/"span.others-quantity").inner_text.to_i
247
+ (inicial + (cant_restantes * valor_restantes)).should be_within(3).of(total_combo)
248
+ end
249
+ end
250
+ end
251
+ end
252
+
204
253
  end
205
254
  end
@@ -36,6 +36,7 @@ module Results
36
36
  elements(:opciones_ida,:radio,:css=>"div.outbound input")
37
37
  elements(:opciones_vuelta,:radio,:css=>"div.inbound input")
38
38
  elements(:itinerarios, :div, :css=>"#clusters .cluster")
39
+ element(:itinerario, :div, :css=>"#clusters .cluster")
39
40
 
40
41
  elements(:detalle_precio_itinerario, :li, :css=>"#clusters .cluster .fare-detail li")
41
42
  element(:precio_itinerario, :span, :css=>".cluster .fare .price-currency")
@@ -0,0 +1,59 @@
1
+ #language: es
2
+ @checkout
3
+ Característica: checkout.book_ok_br
4
+ Se verifica la correcta carga y funcionamiento de la pagina de checkout, se cargan los datos correctos y se realiza la compra
5
+
6
+ @book_ok_br
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 [REGRESION].
8
+ Dado una pagina de resultados en "<pais>" para una busqueda "<tipo>" del tipo "<cabotage>"
9
+ Entonces verifico que la pagina no rompa
10
+ Cuando espero que termine de cargar la pagina de resultados
11
+ Entonces verifico que traiga resultados
12
+ Cuando elijo un itinerario y paso a checkout
13
+ Cuando espero que termine de cargar la pagina de checkout
14
+ Entonces verifico que ingrese al checkout
15
+ Y verifico que la pagina no rompa
16
+ Cuando fuerzo el abztesting de "showNewPaymentType" al "45"
17
+ Y refresco la pagina
18
+ Entonces verifico que ingrese al checkout
19
+ Y verifico que la pagina no rompa
20
+ Y valido los valores del desglose del checkout
21
+ Y verifico el pixel de Efrontier
22
+ Y verifico el pixel de trackeame en checkout
23
+ Y si el site es "AR", verifico el tag de remarketing de facebook
24
+ Entonces verifico que los precios de las formas de pago nueva se muestren correctamente
25
+ Y verifico que se muestren la caja de clientes felices
26
+ Entonces cargo los pasajeros
27
+ Y cargo los datos de la tarjeta en el nuevo formulario
28
+ Y si el site es "AR|MX|PE|BR", cargo los datos de facturacion
29
+ Y cargo los datos de contacto
30
+ Y verifico que los datos cargados sean mostrados correctamente al lado del boton comprar
31
+ Cuando acepto y compro
32
+ Entonces espero que termine el pedido de compra
33
+ Y verifico si no trae errores
34
+ Entonces si aparece el popup de no disponibilidad, elijo un itinerario del popup de no disponibilidad
35
+ Entonces espero que termine de cargar la pagina de gracias
36
+ Y verifico que ingrese a la pagina de gracias
37
+ Y verifico el link de mi despegar
38
+ Y verifico el popup de asistencia al viajero
39
+ Y verifico los datos del vuelo comprado
40
+ Y verifico los valores del desglose en gracias contra los del checkout
41
+ Y verifico el tag de datalayer
42
+ Y verifico el pixel de Efrontier
43
+ Y si el site es "BR", verifico el pixel de doubleclick
44
+
45
+ @br
46
+ @roundtrip
47
+ Ejemplos:
48
+ |pais|tipo|cabotage|
49
+ |BR |roundtrip|nil|
50
+ @br
51
+ @oneway
52
+ Ejemplos:
53
+ |pais|tipo|cabotage|
54
+ |BR |oneway|true|
55
+ @br
56
+ @multipledestinations
57
+ Ejemplos:
58
+ |pais|tipo|cabotage|
59
+ |BR |multipledestinations|nil|
@@ -15,7 +15,7 @@
15
15
 
16
16
  gem.require_paths = ["lib"] #Usualmente es solo lib -> ["lib"]
17
17
 
18
- gem.version = '0.0.34' #La version se debe incrementar cada vez que se desea publicar una nueva version del test.
18
+ gem.version = '0.0.35' #La version se debe incrementar cada vez que se desea publicar una nueva version del test.
19
19
 
20
20
  gem.add_dependency('henry-container', '>= 0.1.39')
21
21
  gem.add_dependency('page-object')
data/henry-context.yml CHANGED
@@ -10367,6 +10367,83 @@ tasks:
10367
10367
  recipients:
10368
10368
  - estebanldh@gmail.com
10369
10369
  - nsimean@despegar.com
10370
+ - name: checkout.book_ok_br
10371
+ class_name: Henry::Task::CucumberTask
10372
+ options:
10373
+ tags:
10374
+ - checkout
10375
+ - book_ok_br
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.book_ok_br.br
10385
+ class_name: Henry::Task::CucumberTask
10386
+ options:
10387
+ tags:
10388
+ - checkout
10389
+ - book_ok_br
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
10399
+ - name: checkout.book_ok_br.br.roundtrip
10400
+ class_name: Henry::Task::CucumberTask
10401
+ options:
10402
+ tags:
10403
+ - checkout
10404
+ - book_ok_br
10405
+ - br
10406
+ - roundtrip
10407
+ expand: true
10408
+ no-source: true
10409
+ reports:
10410
+ - format: html
10411
+ name: ${DATE}_${TASK_NAME}.html
10412
+ recipients:
10413
+ - estebanldh@gmail.com
10414
+ - nsimean@despegar.com
10415
+ - name: checkout.book_ok_br.br.oneway
10416
+ class_name: Henry::Task::CucumberTask
10417
+ options:
10418
+ tags:
10419
+ - checkout
10420
+ - book_ok_br
10421
+ - br
10422
+ - oneway
10423
+ expand: true
10424
+ no-source: true
10425
+ reports:
10426
+ - format: html
10427
+ name: ${DATE}_${TASK_NAME}.html
10428
+ recipients:
10429
+ - estebanldh@gmail.com
10430
+ - nsimean@despegar.com
10431
+ - name: checkout.book_ok_br.br.multipledestinations
10432
+ class_name: Henry::Task::CucumberTask
10433
+ options:
10434
+ tags:
10435
+ - checkout
10436
+ - book_ok_br
10437
+ - br
10438
+ - multipledestinations
10439
+ expand: true
10440
+ no-source: true
10441
+ reports:
10442
+ - format: html
10443
+ name: ${DATE}_${TASK_NAME}.html
10444
+ recipients:
10445
+ - estebanldh@gmail.com
10446
+ - nsimean@despegar.com
10370
10447
  - name: checkout.online_payment
10371
10448
  class_name: Henry::Task::CucumberTask
10372
10449
  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: 0.0.34
4
+ version: 0.0.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - lgonzalez,lsimean
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-15 00:00:00.000000000 Z
11
+ date: 2014-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: henry-container
@@ -278,6 +278,7 @@ files:
278
278
  - features/support/pages/thanks/thanks_page.rb
279
279
  - features/tests/checkout/agency.feature
280
280
  - features/tests/checkout/book_ok.feature
281
+ - features/tests/checkout/book_ok_br.feature
281
282
  - features/tests/checkout/cac.feature
282
283
  - features/tests/checkout/cash_payment.feature
283
284
  - features/tests/checkout/compras_duplicadas.feature