flights_gui_tests 0.6.6 → 0.6.7

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: 084558cf58ef01b42f257a5828b3afd3ed4f9a74
4
- data.tar.gz: aed615c8d44a26e0244e91ca9cbcd10384b9872a
3
+ metadata.gz: 26a12fd7833d6259432f125d207ef08430064f28
4
+ data.tar.gz: 3858160948321e9c48a0d9d99dc71f28b71887db
5
5
  SHA512:
6
- metadata.gz: 1624cead814ad01415044c091bcd7b104953d133b888c336190e96a21f0674a4cb2ba0f63e63f78667f246b0345830b6ec08e85aac4910269d3c847d19c539d1
7
- data.tar.gz: e3eebc48556d4c1db72b056a04c501b3bc7ec89f5e560d51ac59c00a191f30e68e13e45a7527302def80de5e2ddc1573208024a8b25b3ca282e77b9c0c6383b6
6
+ metadata.gz: 7f664c555009b7e6fe19df1564b2dc1ebf349ad071a9288bb3ce048795b114e2aaf5ff16d3d76b882380e307717c2850384ac41ebb414df758cc817de4f94653
7
+ data.tar.gz: 801baba3cb858bacc42071827039072b6fad6df31206af68a7eeef8e2f9c7f61d4385c12f0e9ced2655b5059dd5d7d9b85816608a039bd15a28fbc7bfcf95cc4
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
1
  source :gemcutter
2
2
 
3
3
  gemspec
4
+
5
+ gem 'kaya'
@@ -0,0 +1,30 @@
1
+ sao;ssa;2015-01-01;60
2
+ sao;lon;2015-01-01;60
3
+ sao;lis;2015-01-01;60
4
+ sao;mad;2015-01-01;60
5
+ sao;bcn;2015-01-01;60
6
+ sao;mil;2015-01-01;60
7
+ sao;ams;2015-01-01;60
8
+ sao;orl;2015-01-01;60
9
+ sao;bue;2015-01-01;60
10
+ sao;bkk;2015-01-01;60
11
+ sao;mia;2015-01-01;60
12
+ bhz;mia;2015-01-01;60
13
+ bsb;lon;2015-01-01;60
14
+ bsb;lis;2015-01-01;60
15
+ bsb;mad;2015-01-01;60
16
+ bsb;bcn;2015-01-01;60
17
+ bsb;mil;2015-01-01;60
18
+ bsb;ams;2015-01-01;60
19
+ rec;ssa;2015-01-01;60
20
+ for;rec;2015-01-01;60
21
+ ssa;rio;2015-01-01;60
22
+ rio;bsb;2015-01-01;60
23
+ rio;rec;2015-01-01;60
24
+ rio;ams;2015-01-01;60
25
+ rio;mil;2015-01-01;60
26
+ rio;lon;2015-01-01;60
27
+ rio;mad;2015-01-01;60
28
+ rio;bcn;2015-01-01;60
29
+ rio;lis;2015-01-01;60
30
+ rio;mia;2015-01-01;60
@@ -5,7 +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
- @page = Checkout::CheckoutPage.new($browser)
8
+ @page = Checkout::OldCheckoutPage.new($browser)
9
9
  @page.popup_compra_duplicada_element.when_visible(timeout=60)
10
10
  @page.popup_compra_duplicada_element.should visible("popup de compras duplicadas")
11
11
  @page.opcion_si_compra_duplicada_element.should visible("boton yes")
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  Cuando(/^ingreso a la pagina de checkout de agencia para una busqueda '(.*?)' del tipo '(.*?)'$/) do |tipo, cabotaje|
3
- @page = Checkout::CheckoutPage.new($browser)
3
+ @page = Checkout::OldCheckoutPage.new($browser)
4
4
  @page.cargar_url(tipo,$ENV,cabotaje)
5
5
  begin
6
6
  @page.url_busqueda
@@ -11,7 +11,7 @@ Cuando(/^ingreso a la pagina de checkout de agencia para una busqueda '(.*?)' de
11
11
  end
12
12
 
13
13
  Cuando(/^ingreso a un checkout directo para una busqueda '(.*?)' del tipo '(.*?)'$/) do |tipo, cabotaje|
14
- @page = Checkout::CheckoutPage.new($browser)
14
+ @page = Checkout::OldCheckoutPage.new($browser)
15
15
  @page.cargar_url(tipo,$ENV,cabotaje)
16
16
  begin
17
17
  @page.url_busqueda
@@ -25,7 +25,7 @@ Cuando(/^espero que termine de cargar la pagina de checkout$/) do
25
25
  if @nuevo_checkout
26
26
  @page = Checkout::NewCheckoutPage.new($browser)
27
27
  else
28
- @page = Checkout::CheckoutPage.new($browser)
28
+ @page = Checkout::OldCheckoutPage.new($browser)
29
29
  end
30
30
  @page.popup_transicion_inicial_element.when_not_visible(timeout=120)
31
31
  @page.pasajeros_element.when_visible(timeout=120)
@@ -4,17 +4,14 @@ Entonces(/^existe la opcion de cobertura$/) do
4
4
  end
5
5
 
6
6
  Y(/^elijo "(.*)" si quiero cobertura$/) do |option|
7
- @page.opcion_seguros_element.set((option=="chequear") ? true : false)
7
+ @page.opcion_seguros((option=="chequear") ? true : false)
8
8
  @page.carga_element.when_not_visible(timeout=60)
9
9
  sleep(1)
10
10
  end
11
11
 
12
12
  Entonces(/^(?:verifico|valido) que se muestre correctamente la caja de seguro sin chequear$/) do
13
- @page.cobertura_element.should visible("caja de seguros")
14
- @page.opcion_seguros_element.should visible("checkbox en la caja de seguro")
15
- @page.cobertura_element.should visible("link de cobertura en la caja de seguro")
16
13
  @page.desprotegido_element.should visible("texto de no estoy protegido en la caja de seguro")
17
- @page.desprotegido_element.text.should match("No estoy protegido")
14
+ @page.desprotegido_element.text.should match("No estoy protegido|Viaja sin asistencia")
18
15
  end
19
16
 
20
17
  Entonces(/^(?:verifico|valido) que el precio del seguro no se muestre en el desglose$/) do
@@ -22,11 +19,9 @@ Entonces(/^(?:verifico|valido) que el precio del seguro no se muestre en el desg
22
19
  end
23
20
 
24
21
  Entonces(/^(?:verifico|valido) que se muestre correctamente la caja de seguro chequeada$/) do
25
- @page.cobertura_element.should visible("caja de seguros")
26
- @page.opcion_seguros_element.should visible("checkbox en la caja de seguro")
27
22
  @page.cobertura_element.should visible("link de cobertura en la caja de seguro")
28
23
  @page.protegido_element.should visible("texto de estoy protegido en la caja de seguro")
29
- @page.protegido_element.text.should match("Estoy protegido")
24
+ @page.protegido_element.text.should match("Estoy protegido|Viaja asegurado")
30
25
  end
31
26
 
32
27
  Entonces(/^(?:verifico|valido) que el precio del seguro se muestre correctamente en el desglose$/) do
@@ -32,7 +32,7 @@ end
32
32
 
33
33
  Y(/^(?:verifico|valido) la pagina donde ingresa$/) do
34
34
  @page_results = Results::SearchPage.new($browser)
35
- @page_checkout = Checkout::CheckoutPage.new($browser)
35
+ @page_checkout = Checkout::OldCheckoutPage.new($browser)
36
36
  puts " URL: #{@page.url}"
37
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?}
38
38
  if @page_checkout.pasajeros_element.present? or @page_checkout.notificacion_warning_element.present?
@@ -19,4 +19,35 @@ end
19
19
 
20
20
  Entonces(/^es ida y vuelta$/) do
21
21
  @page.manage_data.description.should equal("roundtrip")
22
- end
22
+ end
23
+
24
+ Cuando(/^realizo las busquedas para promos$/) do
25
+ dia = Date.today
26
+ puts dia.strftime("%d%m%y")
27
+ file=File.open("features/data/promos.csv")
28
+ file.each_line do |line|
29
+ data=line.split(';')
30
+ puts data
31
+ data[3].to_i.times do |i|
32
+ aux = Date.parse(data[2])
33
+ date = aux + i
34
+ url_rt = "http://www.decolar.com/shop/flights/results/roundtrip/#{data[0]}/#{data[1]}/#{date}/#{date+8}/1/0/0"
35
+ url_ow = "http://www.decolar.com/shop/flights/results/oneway/#{data[0]}/#{data[1]}/#{date}/1/0/0"
36
+ rt = "http://www.decolar.com/shop/flights/data/search/roundtrip/#{data[0]}/#{data[1]}/#{date}/#{date+8}/1/0/0/TOTALFARE/ASCENDING/NA/NA/NA/NA/NA?hashForData=#{Digest::MD5.hexdigest(url_rt+'despegar')}"
37
+ ow = "http://www.decolar.com/shop/flights/data/search/oneway/#{data[0]}/#{data[1]}/#{date}/1/0/0/TOTALFARE/ASCENDING/NA/NA/NA/NA?hashForData=#{Digest::MD5.hexdigest(url_ow+'despegar')}"
38
+ begin
39
+ get_rt = HTTParty.get(rt,:headers => {"X-UOW" => "ROBOT_ALERTA_PRCIO","referer"=>url_rt})
40
+ puts rt
41
+ rescue Errno::ECONNRESET,Timeout::Error
42
+ puts "fail: #{rt}"
43
+ end
44
+ begin
45
+ get_ow = HTTParty.get(ow,:headers => {"X-UOW" => "ROBOT_ALERTA_PRCIO","referer"=>url_ow})
46
+ puts ow
47
+ rescue Errno::ECONNRESET,Timeout::Error
48
+ puts "fail: #{ow}"
49
+ end
50
+ sleep(3)
51
+ end
52
+ end
53
+ end
@@ -55,7 +55,8 @@ require_relative 'pages/results/desambiguation_airports_page'
55
55
  require_relative 'pages/results/desambiguation_city_page'
56
56
  require_relative 'pages/results/search_page'
57
57
  require_relative 'pages/checkout/checkout_page'
58
- require_relative 'pages/checkout/new_checkout_page'
58
+ require_relative 'pages/checkout/checkout_page/old_checkout_page'
59
+ require_relative 'pages/checkout/checkout_page/new_checkout_page'
59
60
  require_relative 'pages/checkout/popup_results_page'
60
61
  require_relative 'pages/thanks/thanks_page'
61
62
  require_relative 'pages/landing/search_page'
@@ -66,7 +67,11 @@ require_relative 'matchers'
66
67
  require_relative 'hooks'
67
68
 
68
69
  # carga de parametros globales
69
- $HENRY_PARAMS = Henry::Environment.params
70
+ if Henry::Environment.params.empty?
71
+ $HENRY_PARAMS = ENV
72
+ else
73
+ $HENRY_PARAMS = Henry::Environment.params
74
+ end
70
75
  $ENV = $HENRY_PARAMS['env']
71
76
 
72
77
  $date = Dater::Resolver.new("%Y-%m-%d","es")
@@ -85,7 +85,7 @@ class AllPages
85
85
  when 'RESULTS' then "results-f-gui=beta"
86
86
  when 'CHECKOUT' then "chkf-app=beta"
87
87
  when 'LANDING' then "landing-f-gui=beta"
88
- when 'FSM' then "fsm-cheapest=beta|fsm-search=beta"
88
+ when 'FSM' then "fsm-search=beta|fsm-retrieve=beta|fsm-cheapest=beta"
89
89
  when 'CHAS' then "chas-flight=beta"
90
90
  when 'DEBASE' then "flights-dbs-new=flights-dbs-new-b"
91
91
  when 'PRISM' then "prism=beta"
@@ -0,0 +1,59 @@
1
+ # encoding: utf-8
2
+ module Checkout
3
+ class NewCheckoutPage < CheckoutPage
4
+
5
+ div(:seccion_preguntas_riesgo,:css=>"#form .radio-group")
6
+ div(:opcion_no_deposito,:css=>"#confirm-payment-popup .flights-button-no")
7
+ div(:opcion_si_deposito,:css=>"#confirm-payment-popup .flights-button-yes")
8
+ div(:notificacion_error,:class=>"notification-box error-box")
9
+ div(:notificacion_warning,:class=>"notification-box warn-box")
10
+ div(:notificacion_warning_ux,:class=>"ux-common-message ux-common-message-warning ")
11
+ div(:mensaje_error_ux,:class=>"ux-common-message ux-common-message-error ")
12
+ div(:notificacion_error_ux,:class=>"ux-common-error")
13
+ div(:boton_si_cambio_precio,:class=>"button-yes")
14
+ div(:agencia_afiliada,:id=>"agency")
15
+ div(:cobertura,:id=>'upselling')
16
+ div(:cobertura_deshabilitada,:class=>"upselling upselling-disabled")
17
+ div(:itinerario,:id=>"detail")
18
+ div(:cupon_error,:id=>"coupon-error")
19
+ div(:cupon_exito,:id=>"voucher-success")
20
+ div(:clientes_felices,:id=>"happy-clients")
21
+ div(:link_price_jump,:css=>"#popup-price-difference .popup-link")
22
+ div(:mensaje_cancelacion,:id=>"cancellation-advice")
23
+ div(:mensaje_cancelacion_en_el_dia,:id=>"last-minute-advice")
24
+ div(:mensaje_error_emision_last_minute,:class=>"ux-common-message ux-common-message-error ")
25
+ div(:protegido,:css=>"#upselling-success")
26
+ div(:desprotegido,:css=>"#upselling-warning")
27
+
28
+ radio_button(:opcion_no_seguro, :id=>"upselling-radios-1")
29
+ radio_button(:opcion_si_seguro, :id=>"upselling-radios-0")
30
+
31
+ checkbox(:condiciones_de_compra,:id=>"read-agreement")
32
+ checkbox(:cupones,:id=>"vouchers")
33
+
34
+ span(:elegir_otro_vuelo,:class=>"choose-another")
35
+ span(:error_datos,:class=>"error-message")
36
+ span(:carga,:css=>".loading .img")
37
+ span(:precio_seguro,:css=>"#upselling .col7 .details-title")
38
+
39
+ text_field(:cupon_email,:id=>"voucher-email")
40
+ text_field(:cupon_voucher,:id=>"voucher-code-0")
41
+
42
+ li(:precio_seguro_desglose,:class=>"item destination_service_insurance")
43
+
44
+ p(:id_reserva_compra_duplicada,:css=>"#popup-duplicated-transaction .paragraph")
45
+
46
+ def datos_itinerario()
47
+ return NewCheckout::Cluster.new(tipo_de_busqueda,Hpricot.parse(itinerario_element.html))
48
+ end
49
+
50
+ def opcion_seguros(opcion)
51
+ if opcion
52
+ opcion_si_seguro_element.set
53
+ else
54
+ opcion_no_seguro_element.set
55
+ end
56
+ end
57
+
58
+ end
59
+ end
@@ -0,0 +1,53 @@
1
+ # encoding: utf-8
2
+ module Checkout
3
+ class OldCheckoutPage < CheckoutPage
4
+
5
+ div(:seccion_preguntas_riesgo,:css=>"#form .radio-group")
6
+ div(:opcion_no_deposito,:css=>"#confirm-payment-popup .flights-button-no")
7
+ div(:opcion_si_deposito,:css=>"#confirm-payment-popup .flights-button-yes")
8
+ div(:notificacion_error,:class=>"notification-box error-box")
9
+ div(:notificacion_warning,:class=>"notification-box warn-box")
10
+ div(:notificacion_warning_ux,:class=>"ux-common-message ux-common-message-warning ")
11
+ div(:mensaje_error_ux,:class=>"ux-common-message ux-common-message-error ")
12
+ div(:notificacion_error_ux,:class=>"ux-common-error")
13
+ div(:boton_si_cambio_precio,:class=>"button-yes")
14
+ div(:agencia_afiliada,:id=>"agency")
15
+ div(:cobertura,:id=>'upselling')
16
+ div(:cobertura_deshabilitada,:class=>"upselling upselling-disabled")
17
+ div(:itinerario,:id=>"detail")
18
+ div(:cupon_error,:id=>"coupon-error")
19
+ div(:cupon_exito,:id=>"voucher-success")
20
+ div(:clientes_felices,:id=>"happy-clients")
21
+ div(:link_price_jump,:css=>"#popup-price-difference .popup-link")
22
+ div(:mensaje_cancelacion,:id=>"cancellation-advice")
23
+ div(:mensaje_cancelacion_en_el_dia,:id=>"last-minute-advice")
24
+ div(:mensaje_error_emision_last_minute,:class=>"ux-common-message ux-common-message-error ")
25
+ link(:link_mensaje_error_emision_last_minute,:css=>".ux-common-message-error a")
26
+
27
+ checkbox(:opcion_seguros,:id=>"upselling-checkbox")
28
+ checkbox(:condiciones_de_compra,:id=>"read-agreement")
29
+ checkbox(:cupones,:id=>"vouchers")
30
+
31
+ span(:elegir_otro_vuelo,:class=>"choose-another")
32
+ span(:error_datos,:class=>"error-message")
33
+ span(:carga,:css=>".loading .img")
34
+ span(:protegido,:css=>".protected")
35
+ span(:desprotegido,:css=>".unprotected")
36
+ span(:precio_seguro,:css=>"#upselling .description .bold")
37
+
38
+ text_field(:cupon_email,:id=>"voucher-email")
39
+ text_field(:cupon_voucher,:id=>"voucher-code-0")
40
+
41
+ li(:precio_seguro_desglose,:class=>"item destination_service_insurance")
42
+
43
+ p(:id_reserva_compra_duplicada,:css=>"#popup-duplicated-transaction .paragraph")
44
+
45
+ def datos_itinerario()
46
+ return Checkout::Cluster.new(tipo_de_busqueda,Hpricot.parse(itinerario_element.html))
47
+ end
48
+
49
+ def opcion_seguros(opcion)
50
+ opcion_seguros_element.set(opcion)
51
+ end
52
+ end
53
+ end
@@ -24,46 +24,6 @@ module Checkout
24
24
 
25
25
  divs(:secciones_preguntas_riesgo,:class=>"item section radio-group group")
26
26
 
27
- div(:seccion_preguntas_riesgo,:css=>"#form .radio-group")
28
- div(:opcion_no_deposito,:css=>"#confirm-payment-popup .flights-button-no")
29
- div(:opcion_si_deposito,:css=>"#confirm-payment-popup .flights-button-yes")
30
- div(:notificacion_error,:class=>"notification-box error-box")
31
- div(:notificacion_warning,:class=>"notification-box warn-box")
32
- div(:notificacion_warning_ux,:class=>"ux-common-message ux-common-message-warning ")
33
- div(:mensaje_error_ux,:class=>"ux-common-message ux-common-message-error ")
34
- div(:notificacion_error_ux,:class=>"ux-common-error")
35
- div(:boton_si_cambio_precio,:class=>"button-yes")
36
- div(:agencia_afiliada,:id=>"agency")
37
- div(:cobertura,:id=>'upselling')
38
- div(:cobertura_deshabilitada,:class=>"upselling upselling-disabled")
39
- div(:itinerario,:id=>"detail")
40
- div(:cupon_error,:id=>"coupon-error")
41
- div(:cupon_exito,:id=>"voucher-success")
42
- div(:clientes_felices,:id=>"happy-clients")
43
- div(:link_price_jump,:css=>"#popup-price-difference .popup-link")
44
- div(:mensaje_cancelacion,:id=>"cancellation-advice")
45
- div(:mensaje_cancelacion_en_el_dia,:id=>"last-minute-advice")
46
- div(:mensaje_error_emision_last_minute,:class=>"ux-common-message ux-common-message-error ")
47
- link(:link_mensaje_error_emision_last_minute,:css=>".ux-common-message-error a")
48
-
49
- checkbox(:opcion_seguros,:id=>"upselling-checkbox")
50
- checkbox(:condiciones_de_compra,:id=>"read-agreement")
51
- checkbox(:cupones,:id=>"vouchers")
52
-
53
- span(:elegir_otro_vuelo,:class=>"choose-another")
54
- span(:error_datos,:class=>"error-message")
55
- span(:carga,:css=>".loading .img")
56
- span(:protegido,:css=>".protected")
57
- span(:desprotegido,:css=>".unprotected")
58
- span(:precio_seguro,:css=>"#upselling .description .bold")
59
-
60
- text_field(:cupon_email,:id=>"voucher-email")
61
- text_field(:cupon_voucher,:id=>"voucher-code-0")
62
-
63
- li(:precio_seguro_desglose,:class=>"item destination_service_insurance")
64
-
65
- p(:id_reserva_compra_duplicada,:css=>"#popup-duplicated-transaction .paragraph")
66
-
67
27
  def cargar_url(tipo,ambiente,cabotaje="nil",params={})
68
28
  super(tipo,ambiente,cabotaje,params)
69
29
  end
@@ -73,8 +33,8 @@ module Checkout
73
33
  end
74
34
 
75
35
  def logo_aerolinea_en_matriz(index)
76
- self.logos_aerolineas_elements[index].attribute("src").strip.downcase
77
- end
36
+ self.logos_aerolineas_elements[index].attribute("src").strip.downcase
37
+ end
78
38
 
79
39
  def url_busqueda()
80
40
  "#{self.manage_data.generate_url_checkout}#{@parametro_agencia}"
@@ -113,10 +73,6 @@ module Checkout
113
73
  end
114
74
  end
115
75
 
116
- def datos_itinerario()
117
- return Checkout::Cluster.new(tipo_de_busqueda,Hpricot.parse(itinerario_element.html))
118
- end
119
-
120
76
  def last_minute?
121
77
  return (manage_data.date_from_1 - Date.today).to_i < 2
122
78
  end
@@ -11,6 +11,7 @@ Característica: checkout.price_jump
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
13
  Entonces verifico que traiga resultados
14
+ Y cierro popups
14
15
  Cuando elijo un itinerario y paso a checkout
15
16
  Entonces verifico que la pagina no rompa
16
17
  Y espero que termine de cargar la pagina de checkout
@@ -15,7 +15,7 @@ Característica: checkout.seguros
15
15
  Entonces verifico que la pagina no rompa
16
16
  Y espero que termine de cargar la pagina de checkout
17
17
  Y verifico que ingrese al checkout
18
- Cuando ingreso al checkout con cookie "showNewCheckout" al "45"
18
+ Entonces si el site es "AR", seteo el checkout a ingresar
19
19
  Cuando existe la opcion de cobertura
20
20
  Entonces elijo "no_chequear" si quiero cobertura
21
21
  Entonces verifico que se muestre correctamente la caja de seguro sin chequear
File without changes
@@ -14,7 +14,7 @@ Gem::Specification.new do |gem|
14
14
 
15
15
  gem.require_paths = ["lib"] # Usualmente es solo lib -> ["lib"]
16
16
 
17
- gem.version = '0.6.6' # La version se debe incrementar cada vez que se desea publicar una nueva version del test.
17
+ gem.version = '0.6.7' # La version se debe incrementar cada vez que se desea publicar una nueva version del test.
18
18
 
19
19
  gem.add_dependency('henry-container', '>= 0.1.39')
20
20
  gem.add_dependency('page-object')
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.6.6
4
+ version: 0.6.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - lgonzalez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-18 00:00:00.000000000 Z
11
+ date: 2014-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: henry-container
@@ -202,6 +202,7 @@ files:
202
202
  - Gemfile
203
203
  - features/data/host.yml
204
204
  - features/data/miles.yml
205
+ - features/data/promos.csv
205
206
  - features/data/sites.yml
206
207
  - features/data/tag_microsoft.yml
207
208
  - features/step_definitions/checkout/cash_payment_steps.rb
@@ -303,7 +304,8 @@ files:
303
304
  - features/support/modules/results/wish_list.rb
304
305
  - features/support/pages/all_pages.rb
305
306
  - features/support/pages/checkout/checkout_page.rb
306
- - features/support/pages/checkout/new_checkout_page.rb
307
+ - features/support/pages/checkout/checkout_page/new_checkout_page.rb
308
+ - features/support/pages/checkout/checkout_page/old_checkout_page.rb
307
309
  - features/support/pages/checkout/popup_results_page.rb
308
310
  - features/support/pages/flights_tracker/search_page.rb
309
311
  - features/support/pages/landing/new_landing_page.rb
@@ -1,124 +0,0 @@
1
- # encoding: utf-8
2
- module Checkout
3
- class NewCheckoutPage < AllPages
4
-
5
- include Pages::Tags
6
- include Pages::Cookies
7
- include Checkout::Pasajeros
8
- include Checkout::PopUp
9
- include Checkout::Tarjeta
10
- include Checkout::Reviews
11
- include Checkout::Errores
12
- include Checkout::FastCheckout
13
- include Checkout::DatosDeFacturacion
14
- include Checkout::InformacionDeContacto
15
-
16
- element(:pasajeros,:fieldset,:id=>"passengers")
17
- element(:checkout_id,:em,:class=>"checkout-id")
18
- element(:checkout_id_cash,:span,:class=>"checkout-id")
19
-
20
- link(:comprar,:id=>"submit")
21
- link(:cupon_validar,:id=>"validate-voucher")
22
- link(:link_cobertura,:class=>"coverage")
23
- link(:enviar_preguntas_riesgo,:id=>"submit")
24
-
25
- divs(:secciones_preguntas_riesgo,:class=>"item section radio-group group")
26
-
27
- div(:seccion_preguntas_riesgo,:css=>"#form .radio-group")
28
- div(:opcion_no_deposito,:css=>"#confirm-payment-popup .flights-button-no")
29
- div(:opcion_si_deposito,:css=>"#confirm-payment-popup .flights-button-yes")
30
- div(:notificacion_error,:class=>"notification-box error-box")
31
- div(:notificacion_warning,:class=>"notification-box warn-box")
32
- div(:notificacion_warning_ux,:class=>"ux-common-message ux-common-message-warning ")
33
- div(:mensaje_error_ux,:class=>"ux-common-message ux-common-message-error ")
34
- div(:notificacion_error_ux,:class=>"ux-common-error")
35
- div(:boton_si_cambio_precio,:class=>"button-yes")
36
- div(:agencia_afiliada,:id=>"agency")
37
- div(:cobertura,:id=>'upselling')
38
- div(:cobertura_deshabilitada,:class=>"upselling upselling-disabled")
39
- div(:itinerario,:id=>"detail")
40
- div(:cupon_error,:id=>"coupon-error")
41
- div(:cupon_exito,:id=>"voucher-success")
42
- div(:clientes_felices,:id=>"happy-clients")
43
- div(:link_price_jump,:css=>"#popup-price-difference .popup-link")
44
- div(:mensaje_cancelacion,:id=>"cancellation-advice")
45
- div(:mensaje_cancelacion_en_el_dia,:id=>"last-minute-advice")
46
- div(:mensaje_error_emision_last_minute,:class=>"ux-common-message ux-common-message-error ")
47
-
48
- checkbox(:opcion_seguros,:id=>"upselling-checkbox")
49
- checkbox(:condiciones_de_compra,:id=>"read-agreement")
50
- checkbox(:cupones,:id=>"vouchers")
51
-
52
- span(:elegir_otro_vuelo,:class=>"choose-another")
53
- span(:error_datos,:class=>"error-message")
54
- span(:carga,:css=>".loading .img")
55
- span(:protegido,:css=>".protected")
56
- span(:desprotegido,:css=>".unprotected")
57
- span(:precio_seguro,:css=>"#upselling .description .bold")
58
-
59
- text_field(:cupon_email,:id=>"voucher-email")
60
- text_field(:cupon_voucher,:id=>"voucher-code-0")
61
-
62
- li(:precio_seguro_desglose,:class=>"item destination_service_insurance")
63
-
64
- p(:id_reserva_compra_duplicada,:css=>"#popup-duplicated-transaction .paragraph")
65
-
66
- def cargar_url(tipo,ambiente,cabotaje="nil",params={})
67
- super(tipo,ambiente,cabotaje,params)
68
- end
69
-
70
- def agregar_parametro_agencia(parametro_agencia)
71
- @parametro_agencia = parametro_agencia
72
- end
73
-
74
- def logo_aerolinea_en_matriz(index)
75
- self.logos_aerolineas_elements[index].attribute("src").strip.downcase
76
- end
77
-
78
- def url_busqueda()
79
- "#{self.manage_data.generate_url_checkout}#{@parametro_agencia}"
80
- end
81
-
82
- def cargar_datos_pasajeros
83
- @browser.execute_script("javascript:void($('.other-passenger-inputs').css('display','block'));")
84
- self.cargar_adultos
85
- self.cargar_ninos
86
- self.cargar_bebes
87
- end
88
-
89
- def cargar_datos_CAC
90
- @browser.execute_script("javascript:void(function(){ShowButtonCAC();})();")
91
- opcion_cac_element.set
92
- if documento_offline_element.present?
93
- number = case @@site
94
- when "CL" then "7028168-6"
95
- when "BR" then "22233366638"
96
- else "32456734"
97
- end
98
- documento_offline_element.set(number)
99
- end
100
- sexo_offline_element.select_value("MALE") if sexo_offline_element.present?
101
- nombre_completo_contacto_element.set("Diego Qa Romero") if nombre_completo_contacto_element.present?
102
- end
103
-
104
- def aceptar_y_comprar
105
- unless condiciones_de_compra_checked?
106
- @browser.execute_script("javascript:void($('#read-agreement').click());")
107
- end
108
- begin
109
- @browser.execute_script("javascript:void($('#submit').click());")
110
- rescue Selenium::WebDriver::Error::UnknownError
111
- comprar_element.click
112
- end
113
- end
114
-
115
- def datos_itinerario()
116
- return NewCheckout::Cluster.new(tipo_de_busqueda,Hpricot.parse(itinerario_element.html))
117
- end
118
-
119
- def last_minute?
120
- return (manage_data.date_from_1 - Date.today).to_i < 2
121
- end
122
-
123
- end
124
- end