flights_gui_tests 2.3.40 → 2.3.41

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6870badd078c0fd195210d9832d2417459adaba2
4
- data.tar.gz: eedde4b0dbfc0e65e05467a67630277286daddc5
3
+ metadata.gz: 47633e1d9da9f08e3425d0f7116f96f8df62250b
4
+ data.tar.gz: f2635c0bb1cab5641f35849662e6bafa0958724c
5
5
  SHA512:
6
- metadata.gz: 5648bc1e2c351c3965f8e8dcb11cabbf8232a4754ff98053eadb970f630e33fa218047adec386ec6c855225de87b11f35161f3f027f3d62789d4bc7dee3aad5e
7
- data.tar.gz: d10ffe1b203a691523bd3c4d297b8896e0acef1408f03fbb0fc42c5ed96ff8cd84efd9d928f97e0d713cbc4c5f56722ea4c303717ef7e8bf5b6c3e97ed84f77a
6
+ metadata.gz: 14b9adbd16f1084d7af0932ac05955520dad84343e92f7023390c04c76642055e450e2b1a0a6f8ba171a24a66b3ca3f42a05da9b03b53284e0750027c90b13e3
7
+ data.tar.gz: ab51ca6dc3e6fb4fbab7461eb2a1bd533ff03ce01316e9fd20a9c96b6e912411ad3e531aefbe823824c194852eef7e8231830fca84ca117fcf6079eba2360999
@@ -1,38 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
- Dado(/^un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE roundtrip de cabotaje en '(.*)'$/) do |pais|
3
- step "como un usuario de '#{pais}'"
4
- step "ingreso una busqueda 'roundtrip' del tipo 'true'"
5
- step "realizo la busqueda"
6
- step "verifico que la pagina no rompa"
7
- step "espero que termine de cargar la pagina de resultados"
8
- step "verifico que traiga resultados"
9
- step "cierro popups"
10
- end
11
- Dado(/^un usuario que ingresa a realizar una busqueda de un vuelo LASTMINUTE roundtrip de cabotaje en '(.*)'$/) do |pais|
12
- step "como un usuario de '#{pais}'"
13
- step "ingreso una busqueda 'roundtrip' del tipo 'true'"
14
- step "con fecha 'hoy' y estadia '1 semana'"
15
- step "realizo la busqueda"
16
- step "verifico que la pagina no rompa"
17
- step "espero que termine de cargar la pagina de resultados"
18
- step "verifico que traiga resultados"
19
- step "cierro popups"
20
- end
21
- Cuando(/selecciono la opcion por tramos/) do
22
-
23
- end
24
- Y(/selecciono un vuelo de ida por una aerolinea/) do
25
-
26
- end
27
- Y(/un vuelo de vuelta por una aerolinea distinta a la elegida en la ida/) do
28
-
29
- end
30
- Y(/^un vuelo de vuelta por una misma aerolinea a la elegida en la ida$/) do
31
-
32
- end
33
- Y(/hago click en comprar/) do
34
-
35
- end
36
2
  Y(/completo la compra con TC/) do
37
3
  step "cargo los pasajeros"
38
4
  step "cargo los datos de la tarjeta en el nuevo formulario"
@@ -58,13 +24,16 @@ Entonces(/^totem realiza la emision de forma online$/) do
58
24
 
59
25
  end
60
26
  Cuando(/^totem emite de forma offline$/) do
61
-
27
+ step "verifico el popup de asistencia al viajero"
28
+ step "verifico los datos del vuelo comprado"
29
+ step "verifico los valores del desglose en gracias contra los del checkout"
62
30
  end
63
31
  Entonces(/^no se visualiza para descargar ningun PDF$/) do
64
32
 
65
33
  end
66
34
  Entonces(/^se indica que se enviaran las reservas por mail$/) do
67
-
35
+ @page.mensaje_envio_mail_element.should visible("envio mail")
36
+ @page.mensaje_multipleoneway_element.should visible("mensaje multipleoneway")
68
37
  end
69
38
  Entonces(/^se envia mail al usuario con un PDF con las (\d+) reservas dentro$/) do |arg1|
70
39
 
@@ -89,8 +89,13 @@ Y(/^(?:verifico|valido) que los datos cargados sean mostrados correctamente al l
89
89
  index += 1
90
90
  end
91
91
  if @page.tipo_de_busqueda!="multipledestinations"
92
- Date.parse_new_result((doc/"div.ticket-right div.dates li.outbound-route span.date").inner_text).should equal(@itinerario_checkout.ida.fecha)
93
- Date.parse_new_result((doc/"div.ticket-right div.dates li.inbound-route span.date").inner_text).should equal(@itinerario_checkout.vuelta.fecha) if @page.tipo_de_busqueda=="roundtrip"
92
+ if (doc/"div.ticket-right div.dates li.outbound-route span.date").length > 1
93
+ Date.parse_new_result((doc/"div.ticket-right div.dates li.outbound-route span.date").first.inner_text).should equal(@itinerario_checkout.ida.fecha)
94
+ Date.parse_new_result((doc/"div.ticket-right div.dates li.outbound-route span.date").last.inner_text).should equal(@itinerario_checkout.vuelta.fecha) if @page.tipo_de_busqueda=="roundtrip"
95
+ else
96
+ Date.parse_new_result((doc/"div.ticket-right div.dates li.outbound-route span.date").inner_text).should equal(@itinerario_checkout.ida.fecha)
97
+ Date.parse_new_result((doc/"div.ticket-right div.dates li.inbound-route span.date").inner_text).should equal(@itinerario_checkout.vuelta.fecha) if @page.tipo_de_busqueda=="roundtrip"
98
+ end
94
99
  else
95
100
  begin
96
101
  fechas=@itinerario_checkout.fechas
@@ -1,30 +1,99 @@
1
1
  # -*- encoding : utf-8 -*-
2
+ Dado(/^un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE multipleoneway de cabotaje en '(.*)'$/) do |pais|
3
+ step "como un usuario de '#{pais}'"
4
+ step "ingreso una busqueda 'multipleoneway' del tipo 'true'"
5
+ step "realizo la busqueda"
6
+ step "verifico que la pagina no rompa"
7
+ step "espero que termine de cargar la pagina de resultados"
8
+ end
9
+ Dado(/^un usuario que ingresa a realizar una busqueda de un vuelo LASTMINUTE multipleoneway de cabotaje en '(.*)'$/) do |pais|
10
+ step "como un usuario de '#{pais}'"
11
+ step "ingreso una busqueda 'multipleoneway' del tipo 'true'"
12
+ step "con fecha 'hoy' y estadia '1 semana'"
13
+ step "realizo la busqueda"
14
+ step "verifico que la pagina no rompa"
15
+ step "espero que termine de cargar la pagina de resultados"
16
+ end
17
+ Cuando(/selecciono la opcion por tramos/) do
18
+ step "ingreso a resultados con cookie \"showMultipleoneway\" al \"1\""
19
+ step "espero que termine de cargar la pagina ida y vuelta separada"
20
+ step "verifico que traiga resultados"
21
+ step "cierro popups"
22
+ end
23
+ Y(/selecciono un vuelo de ida por una aerolinea/) do
24
+ step "cargo los itinerarios de ida"
25
+ step "elijo la opcion '0' de los itinerarios de ida"
26
+ step "valido que se muestre en la caja de ida"
27
+ end
28
+ Y(/^es posible seleccionar un vuelo de vuelta por una aerolinea distinta a la elegida en la ida$/) do
29
+ @page.caja_ida_seleccionada_element.should visible("caja ida elegida")
30
+ @page.caja_vuelta_no_seleccionada_element.should visible("caja vuelta vacia")
31
+ end
32
+ Y(/^un vuelo de vuelta por una aerolinea distinta a la elegida en la ida$/) do
33
+ step "cargo los itinerarios de vuelta"
34
+ index = 0
35
+ @itinerarios_ida.each_with_index do |itinerario,i|
36
+ index = i
37
+ break if !itinerario.tramo.aerolinea.include?(@itinerario_ida.tramo.aerolinea.first)
38
+ end
39
+ sleep(1)
40
+ step "cierro popups"
41
+ step "elijo la opcion '#{index}' de los itinerarios de vuelta"
42
+ step "valido que se muestre en la caja de vuelta"
43
+ end
44
+ Y(/^un vuelo de vuelta por una misma aerolinea a la elegida en la ida$/) do
45
+ step "cargo los itinerarios de vuelta"
46
+ index = 0
47
+ @itinerarios_ida.each_with_index do |itinerario,i|
48
+ index = i
49
+ break if itinerario.tramo.aerolinea.include?(@itinerario_ida.tramo.aerolinea.first)
50
+ end
51
+ sleep(1)
52
+ step "cierro popups"
53
+ step "elijo la opcion '#{index}' de los itinerarios de vuelta"
54
+ step "valido que se muestre en la caja de vuelta"
55
+ end
56
+ Y(/hago click en comprar/) do
57
+ step "paso al checkout"
58
+ end
59
+
2
60
  Entonces(/^se visualiza la opcion de comprar$/) do
3
-
61
+ @page.boton_comprar_element.should visible("botno de compra en multipleoneway")
4
62
  end
5
63
 
6
64
  Entonces(/^el precio es la suma de ambos tramos elegidos sin taxes$/) do
7
-
65
+ total = @itinerario_ida.tarifas["total"] + @itinerario_vuelta.tarifas["total"]
66
+ total_caja = Price.new(@page.total_caja_precio_element.text)
67
+ total.should equal(total_caja)
8
68
  end
9
69
 
10
70
  Entonces(/^se visualiza el precio final siendo la suma de ambas reservas con los taxes incluidos$/) do
11
-
71
+ total = @itinerario_checkout.tarifas["ida"]["total"] + @itinerario_checkout.tarifas["vuelta"]["total"]
72
+ total.should equal(@itinerario_checkout.tarifas["total"])
12
73
  end
13
74
 
14
75
  Entonces(/^se visualizan los dos itinerarios internamente enlazados$/) do
15
-
76
+ sleep(1)
77
+ @itinerario_checkout = @page.datos_itinerario
16
78
  end
17
79
 
18
80
  Entonces(/^no se visualiza la posibilidad de ingresar cupones de descuentos$/) do
19
-
81
+ @page.cupones_element.should_not visible("cupones")
20
82
  end
21
83
 
22
84
  Entonces(/^en el resultado de busqueda no se visualiza la opcion "([^"]*)"$/) do |arg1|
23
-
85
+ if arg1=="por tramos"
86
+ @page.opcion_ida_separada_element.should_not visible("opcion #{arg1}")
87
+ end
24
88
  end
25
89
 
26
90
  Entonces(/^es posible ordenar el listado por aerolinea, horario y escalas$/) do
27
-
91
+ @page.ordenamiento_aerolinea_element.should visible("ordenamiento aerolinea")
92
+ @page.ordenamiento_ida_element.should visible("ordenamiento ida")
93
+ @page.ordenamiento_vuelta_element.should visible("ordenamiento vuelta")
94
+ @page.ordenamiento_duracion_element.should visible("ordenamiento duracion")
95
+ @page.ordenamiento_escalas_element.should visible("ordenamiento escalas")
96
+ @page.ordenamiento_precio_element.should visible("ordenamiento precio")
28
97
  end
29
98
 
30
99
  Entonces(/^elijo la opcion ida y vuelta separada$/) do
@@ -63,21 +132,23 @@ Entonces(/^valido los itinerarios de vuelta$/) do
63
132
  end
64
133
  end
65
134
 
66
- Cuando(/^elijo una opcion de ida$/) do
67
- @page.elegir(0)
135
+ Cuando(/^elijo la opcion '(.*)' de los itinerarios de ida$/) do |index|
136
+ @page.elegir(index)
137
+ @itinerario_ida = @itinerarios_ida[index.to_i]
68
138
  end
69
139
 
70
- Cuando(/^elijo una opcion de vuelta$/) do
71
- @page.elegir(0)
140
+ Cuando(/^elijo la opcion '(.*)' de los itinerarios de vuelta$/) do |index|
141
+ @page.elegir(index)
142
+ @itinerario_vuelta = @itinerarios_vuelta[index.to_i]
72
143
  end
73
144
 
74
145
  Entonces(/^valido que se muestre en la caja de ida$/) do
75
- @page.caja_ida_seleccionada_element.when_visible(timeout=5)
146
+ @page.caja_ida_seleccionada_element.when_visible(timeout=10)
76
147
  @page.carga_fecha_ida_separada_element.when_not_visible(timeout=30)
77
148
  end
78
149
 
79
150
  Entonces(/^valido que se muestre en la caja de vuelta$/) do
80
- @page.caja_vuelta_seleccionada_element.when_visible(timeout=5)
151
+ @page.caja_vuelta_seleccionada_element.when_visible(timeout=10)
81
152
  @page.carga_fecha_ida_separada_element.when_not_visible(timeout=30)
82
153
  end
83
154
 
@@ -23,6 +23,7 @@ module NewCheckout
23
23
  tarifa_tramo['encargos'] = (html/"li.service_taxes").first ? Price.new((html/"li.service_taxes span.price-currency").first.inner_text.strip.gsub(',','.')) : Price.new("$ 0",true)
24
24
  tarifa_tramo['seguros'] = (html/"li.destination_service_insurance").first ? Price.new((html/"li.destination_service_insurance span.price-currency").first.inner_text.strip.gsub(',','.')) : Price.new("$ 0",true)
25
25
  tarifa_tramo['descuento'] = (html/"li.payment_discount").first ? Price.new((html/"li.payment_discount span.price-currency span.currency").first.inner_text.strip.gsub(',','.')+" "+((html/"li.payment_discount span.price-currency span.amount").first.inner_text.strip.gsub(/\D/,'').to_i*-1).to_s) : Price.new("$ 0",true)
26
+ tarifa_tramo['total'] = Price.new((html/"li.subtotal span.price-currency").first.inner_text.strip.gsub(',','.'))
26
27
  return tarifa_tramo
27
28
  end
28
29
 
@@ -6,16 +6,26 @@ module NewCheckout
6
6
  def initialize(itinerario,html,page = 0)
7
7
  @fechas = []
8
8
  self.cargar_precios((html/"div.prices"))
9
+ multipleoneway(html)
9
10
  eval "#{itinerario.downcase}(html)"
10
11
  end
11
12
 
12
13
  def multipleoneway(html)
13
- tramos = cargar_tramos((html/"div.outbound-route div.segment"))
14
- @ida = DataCluster.new(tramos.first['salida']['nombre'], tramos.last['llegada']['nombre'], tramos.first['salida']['fecha'], tramos.collect{|tramo| tramo['aerolinea']}, escala_to_i((html/"div.outbound-route span.stops").first.inner_text.strip), tramos.first['salida']['iata'], tramos.last['llegada']['iata'], tramos.first['salida']['horario'], tramos.last['llegada']['horario'])
15
- @idas = tramos
16
- tramos = cargar_tramos((html/"div.inbound-route div.segment"))
17
- @vuelta = DataCluster.new(tramos.first['salida']['nombre'], tramos.last['llegada']['nombre'], tramos.first['salida']['fecha'], tramos.collect{|tramo| tramo['aerolinea']}, escala_to_i((html/"div.outbound-route span.stops").first.inner_text.strip), tramos.first['salida']['iata'], tramos.last['llegada']['iata'], tramos.first['salida']['horario'], tramos.last['llegada']['horario'])
18
- @vueltas = tramos
14
+ if (html/"div.outbound-route div.segment").length==2
15
+ tramos = cargar_tramos([(html/"div.outbound-route div.segment").first])
16
+ @ida = DataCluster.new(tramos.first['salida']['nombre'], tramos.last['llegada']['nombre'], tramos.first['salida']['fecha'], tramos.collect{|tramo| tramo['aerolinea']}, escala_to_i((html/"div.outbound-route span.stops").first.inner_text.strip), tramos.first['salida']['iata'], tramos.last['llegada']['iata'], tramos.first['salida']['horario'], tramos.last['llegada']['horario'])
17
+ @idas = tramos
18
+ tramos = cargar_tramos([(html/"div.outbound-route div.segment").last])
19
+ @vuelta = DataCluster.new(tramos.first['salida']['nombre'], tramos.last['llegada']['nombre'], tramos.first['salida']['fecha'], tramos.collect{|tramo| tramo['aerolinea']}, escala_to_i((html/"div.outbound-route span.stops").first.inner_text.strip), tramos.first['salida']['iata'], tramos.last['llegada']['iata'], tramos.first['salida']['horario'], tramos.last['llegada']['horario'])
20
+ @vueltas = tramos
21
+ else
22
+ tramos = cargar_tramos((html/"div.outbound-route div.segment"))
23
+ @ida = DataCluster.new(tramos.first['salida']['nombre'], tramos.last['llegada']['nombre'], tramos.first['salida']['fecha'], tramos.collect{|tramo| tramo['aerolinea']}, escala_to_i((html/"div.outbound-route span.stops").first.inner_text.strip), tramos.first['salida']['iata'], tramos.last['llegada']['iata'], tramos.first['salida']['horario'], tramos.last['llegada']['horario'])
24
+ @idas = tramos
25
+ tramos = cargar_tramos((html/"div.inbound-route div.segment"))
26
+ @vuelta = DataCluster.new(tramos.first['salida']['nombre'], tramos.last['llegada']['nombre'], tramos.first['salida']['fecha'], tramos.collect{|tramo| tramo['aerolinea']}, escala_to_i((html/"div.outbound-route span.stops").first.inner_text.strip), tramos.first['salida']['iata'], tramos.last['llegada']['iata'], tramos.first['salida']['horario'], tramos.last['llegada']['horario'])
27
+ @vueltas = tramos
28
+ end
19
29
  end
20
30
 
21
31
  def roundtrip(html)
@@ -45,14 +45,14 @@ class Price
45
45
  end
46
46
 
47
47
  def +(other)
48
- ( self.same_moneda?(other) )? ( Precio.new("#{self.currency} #{self.value + other.value}",true) ) : ( Precio.new("U$S #{self.to_dolar.value + other.to_dolar.value}",true) )
48
+ self.same_moneda?(other) ? Price.new("#{self.currency} #{self.value + other.value}",true) : Price.new("U$S #{self.to_dolar.value + other.to_dolar.value}",true)
49
49
  end
50
50
  def -(other)
51
- ( self.same_moneda?(other) )? ( Precio.new("#{self.currency} #{self.value - other.value}","change") ) : ( Precio.new("U$S #{self.to_dolar.value - other.to_dolar.value}","change") )
51
+ self.same_moneda?(other) ? Price.new("#{self.currency} #{self.value - other.value}","change") : Price.new("U$S #{self.to_dolar.value - other.to_dolar.value}","change")
52
52
  end
53
53
 
54
54
  def same_moneda?(other)
55
- self.currency == other.currency or ver_moneda_en_base(other.currency) or (MainData.site =~ /ECUADOR/)
55
+ self.currency == other.currency
56
56
  end
57
57
 
58
58
  def zero?
@@ -10,7 +10,7 @@ require 'httparty'
10
10
  require 'henry/environment'
11
11
  require 'sanitize'
12
12
  require 'uri'
13
- require 'byebug'
13
+ #require 'byebug'
14
14
  require 'henry/config'
15
15
  require 'mock_search'
16
16
  require 'auto_uy_utils'
@@ -29,7 +29,10 @@ module Results
29
29
  li(:caja_vuelta,:css=>".arrival-item")
30
30
  li(:caja_ida_seleccionada,:class=>"multipleoneway-selector-item departure-item selected")
31
31
  li(:caja_vuelta_seleccionada,:class=>"multipleoneway-selector-item arrival-item selected")
32
+ li(:caja_ida_no_seleccionada,:class=>"multipleoneway-selector-item departure-item current")
33
+ li(:caja_vuelta_no_seleccionada,:class=>"multipleoneway-selector-item arrival-item current")
32
34
  li(:caja_precio,:class=>"multipleoneway-selector-item price-item visible")
35
+ element(:total_caja_precio,:span,:css=>".price-item .price-currency")
33
36
 
34
37
  div(:clusters,:id=>"clusters")
35
38
 
@@ -55,7 +58,7 @@ module Results
55
58
  end
56
59
 
57
60
  def elegir(index)
58
- boton_comprar = itinerarios_elements[index].links(:class,/buy/).select{|boton| boton.present?}
61
+ boton_comprar = itinerarios_elements[index.to_i].links(:class,/buy/).select{|boton| boton.present?}
59
62
  boton_comprar.first.click
60
63
  end
61
64
 
@@ -17,6 +17,8 @@ module Thanks
17
17
  div(:link_mi_despegar,:id=>"self-service")
18
18
  div(:mensaje_alerta,:class=>"ux-common-message ux-common-message-warning ")
19
19
  div(:datos_deposito,:class=>"thanks-reservation-info")
20
+ div(:mensaje_envio_mail,:id=>"booking-details")
21
+ div(:mensaje_multipleoneway,:id=>"multipleoneway-warning")
20
22
  p(:mensaje_alerta_cash,:class=>"delay")
21
23
 
22
24
  elements(:pasos_pago_online,:div,:class=>"thanks-reservation-homebanking-step")
@@ -1,3 +1,3 @@
1
1
  module FlightsGui
2
- VERSION = "2.3.40"
2
+ VERSION = "2.3.41"
3
3
  end
@@ -3,16 +3,19 @@
3
3
  Característica: checkout.booking_2_ow
4
4
  El test verifica que la compra con la funcionalidad de dos oneway para realizar un roundtrip funcione correctamente y realize las reservas correspondientes.
5
5
 
6
- @booking_2_ow
6
+ #@booking_2_ow
7
7
  Esquema del escenario: al realizar una busqueda de un vuelo de cabotaje NO LASTMINUTE del tramo de IDA y del tramo del VUELTA y su correspondiente compra y pago, se realiza la emision de las dos reservas (se espera emision online).
8
- Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE roundtrip de cabotaje en '<pais>'
8
+ Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE multipleoneway de cabotaje en '<pais>'
9
9
  Cuando selecciono la opcion por tramos
10
10
  Y selecciono un vuelo de ida por una aerolinea
11
11
  Y un vuelo de vuelta por una aerolinea distinta a la elegida en la ida
12
12
  Y hago click en comprar
13
+ Entonces verifico que la pagina no rompa
14
+ Y espero que termine de cargar la pagina de checkout
15
+ Y verifico que ingrese al checkout
13
16
  Y completo la compra con TC
14
- Y logro que totem emita la emision online
15
17
  Entonces se visualiza la pagina de gracias
18
+ Y logro que totem emita la emision online
16
19
  Y se visualiza para descargar 1 pdf con las 2 reservas dentro
17
20
 
18
21
  @br
@@ -20,16 +23,19 @@ Característica: checkout.booking_2_ow
20
23
  |pais|
21
24
  |BR|
22
25
 
23
- @booking_2_ow
26
+ #@booking_2_ow
24
27
  Esquema del escenario: al realizar una busqueda de un vuelo de cabotaje LASTMINUTE del tramo de IDA y de un vuelo NOLASTMINUTE del tramo del VUELTA y su correspondiente compra y pago, se realiza la emision de las dos reservas (se espera emision online).
25
- Dado un usuario que ingresa a realizar una busqueda de un vuelo LASTMINUTE roundtrip de cabotaje en '<pais>'
28
+ Dado un usuario que ingresa a realizar una busqueda de un vuelo LASTMINUTE multipleoneway de cabotaje en '<pais>'
26
29
  Cuando selecciono la opcion por tramos
27
30
  Y selecciono un vuelo de ida por una aerolinea
28
31
  Y un vuelo de vuelta por una aerolinea distinta a la elegida en la ida
29
32
  Y hago click en comprar
33
+ Entonces verifico que la pagina no rompa
34
+ Y espero que termine de cargar la pagina de checkout
35
+ Y verifico que ingrese al checkout
30
36
  Y completo la compra con TC
31
- Entonces totem realiza la emision de forma online
32
- Y se visualiza la pagina de gracias
37
+ Entonces se visualiza la pagina de gracias
38
+ Y logro que totem emita la emision online
33
39
  Y se visualiza para descargar 1 pdf con las 2 reservas dentro
34
40
 
35
41
  @br
@@ -39,14 +45,17 @@ Característica: checkout.booking_2_ow
39
45
 
40
46
  @booking_2_ow
41
47
  Esquema del escenario: al realizar una busqueda de un vuelo de cabotaje del tramo de IDA y del tramo del VUELTA y su correspondiente compra y pago, se realiza la emision de las dos reservas (se espera emision offline).
42
- Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE roundtrip de cabotaje en '<pais>'
48
+ Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE multipleoneway de cabotaje en '<pais>'
43
49
  Cuando selecciono la opcion por tramos
44
50
  Y selecciono un vuelo de ida por una aerolinea
45
51
  Y un vuelo de vuelta por una aerolinea distinta a la elegida en la ida
46
52
  Y hago click en comprar
53
+ Entonces verifico que la pagina no rompa
54
+ Y espero que termine de cargar la pagina de checkout
55
+ Y verifico que ingrese al checkout
47
56
  Y completo la compra con TC
48
- Y totem emite de forma offline
49
57
  Entonces se visualiza la pagina de gracias
58
+ Y totem emite de forma offline
50
59
  Y no se visualiza para descargar ningun PDF
51
60
  Y se indica que se enviaran las reservas por mail
52
61
  Y se envia mail al usuario con un PDF con las 2 reservas dentro
@@ -57,17 +66,20 @@ Característica: checkout.booking_2_ow
57
66
  |BR|
58
67
 
59
68
 
60
- @booking_2_ow
69
+ #@booking_2_ow
61
70
  Esquema del escenario: al realizar una busqueda de un vuelo de cabotaje NO LASTMINUTE del tramo de IDA y de un vuelo NO LASTMINUTE del tramo del VUELTA y su correspondiente compra y pago, si totem emite una reserva online y la otra reserva offline, toda la compra utiliza el flujo offline.
62
- Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE roundtrip de cabotaje en '<pais>'
71
+ Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE multipleoneway de cabotaje en '<pais>'
63
72
  Cuando selecciono la opcion por tramos
64
73
  Y selecciono un vuelo de ida por una aerolinea
65
74
  Y un vuelo de vuelta por una aerolinea distinta a la elegida en la ida
66
75
  Y hago click en comprar
76
+ Entonces verifico que la pagina no rompa
77
+ Y espero que termine de cargar la pagina de checkout
78
+ Y verifico que ingrese al checkout
67
79
  Y completo la compra con TC
80
+ Entonces se visualiza la pagina de gracias
68
81
  Y logro que totem emita la primer reserva de forma online
69
82
  Y totem emite la segunda reserva de forma offline
70
- Entonces se visualiza la pagina de gracias
71
83
  Y no se visualiza para descargar ningun PDF
72
84
  Y se indica que se enviaran las reservas por mail
73
85
  Y se envia mail al usuario con un PDF con las 2 reservas dentro
@@ -79,13 +91,18 @@ Característica: checkout.booking_2_ow
79
91
 
80
92
  @booking_2_ow
81
93
  Esquema del escenario: al realizar una busqueda de un vuelo de cabotaje LASTMINUTE del tramo de IDA y de un vuelo NOLASTMINUTE del tramo del VUELTA y su correspondiente compra y pago, si la reserva LASTMINUTE no se pudo procesar y la NOLASTMINUTE si, se deberan cancelar ambas.
82
- Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE roundtrip de cabotaje en '<pais>'
94
+ Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE multipleoneway de cabotaje en '<pais>'
83
95
  Cuando selecciono la opcion por tramos
84
96
  Y selecciono un vuelo de ida por una aerolinea
85
97
  Y un vuelo de vuelta por una aerolinea distinta a la elegida en la ida
86
98
  Y hago click en comprar
99
+ Entonces verifico que la pagina no rompa
100
+ Y espero que termine de cargar la pagina de checkout
101
+ Y verifico que ingrese al checkout
87
102
  Y completo la compra con TC
88
- Entonces verifico que cancele la reserva
103
+ Entonces se visualiza la pagina de gracias
104
+ Y totem emite de forma offline
105
+ Entonces cancelo la reserva en el proveedor
89
106
 
90
107
 
91
108
  @br
@@ -93,17 +110,20 @@ Característica: checkout.booking_2_ow
93
110
  |pais|
94
111
  |BR|
95
112
 
96
- @booking_2_ow
113
+ #@booking_2_ow
97
114
  Esquema del escenario: al realizar una busqueda de un vuelo de cabotaje NO LASTMINUTE del tramo de IDA y de un vuelo NO LASTMINUTE del tramo del VUELTA de la misma aerolinea que no sea roundtrip y su correspondiente compra y pago, si totem emite una reserva online y la otra reserva offline, toda la compra utiliza el flujo offline.
98
- Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE roundtrip de cabotaje en '<pais>'
115
+ Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE multipleoneway de cabotaje en '<pais>'
99
116
  Cuando selecciono la opcion por tramos
100
117
  Y selecciono un vuelo de ida por una aerolinea
101
118
  Y un vuelo de vuelta por una misma aerolinea a la elegida en la ida
102
119
  Y hago click en comprar
103
- Y completo la compra con TC
104
- Y logro que totem emita la primer reserva de forma online
105
- Y totem emite la segunda reserva de forma offline
120
+ Entonces verifico que la pagina no rompa
121
+ Y espero que termine de cargar la pagina de checkout
122
+ Y verifico que ingrese al checkout
123
+ Y completo la compra con TC
106
124
  Entonces se visualiza la pagina de gracias
125
+ Y logro que totem emita la primer reserva de forma online
126
+ Y totem emite la segunda reserva de forma offline
107
127
  Y no se visualiza para descargar ningun PDF
108
128
  Y se indica que se enviaran las reservas por mail
109
129
  Y se envia mail al usuario con un PDF con las 2 reservas dentro
@@ -113,13 +133,16 @@ Característica: checkout.booking_2_ow
113
133
  |pais|
114
134
  |BR|
115
135
 
116
- @booking_2_ow
136
+ #@booking_2_ow
117
137
  Esquema del escenario: al realizar una busqueda de un vuelo de cabotaje del tramo de IDA y del tramo del VUELTA y su correspondiente compra, si el pago con TC de la primer reserva da reject, no se avanza al pago de la segunda sino que se vuelve a pedir otra TC para la primer reserva.
118
- Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE roundtrip de cabotaje en '<pais>'
138
+ Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE multipleoneway de cabotaje en '<pais>'
119
139
  Cuando selecciono la opcion por tramos
120
140
  Y selecciono un vuelo de ida por una aerolinea
121
141
  Y un vuelo de vuelta por una aerolinea distinta a la elegida en la ida
122
142
  Y hago click en comprar
143
+ Entonces verifico que la pagina no rompa
144
+ Y espero que termine de cargar la pagina de checkout
145
+ Y verifico que ingrese al checkout
123
146
  Y realizo el pago de la primer reserva con TC con resultado reject
124
147
  Y no se puede realizar merchant
125
148
  Entonces se pide el ingreso de una nueva TC para la primer reserva
@@ -130,13 +153,16 @@ Característica: checkout.booking_2_ow
130
153
  |pais|
131
154
  |BR|
132
155
 
133
- @booking_2_ow
156
+ #@booking_2_ow
134
157
  Esquema del escenario: al realizar una busqueda de un vuelo de cabotaje del tramo de IDA y del tramo del VUELTA y su correspondiente compra, si el booking de la primera reserva (IDA) da price jump, se solicita la confirmacion del precio o la eleccion de un nuevo vuelo solo para ese vuelo de IDA.
135
- Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE roundtrip de cabotaje en '<pais>'
158
+ Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE multipleoneway de cabotaje en '<pais>'
136
159
  Cuando selecciono la opcion por tramos
137
160
  Y selecciono un vuelo de ida por una aerolinea
138
161
  Y un vuelo de vuelta por una aerolinea distinta a la elegida en la ida
139
162
  Y hago click en comprar
163
+ Entonces verifico que la pagina no rompa
164
+ Y espero que termine de cargar la pagina de checkout
165
+ Y verifico que ingrese al checkout
140
166
  Y el vuelo de ida da price jump
141
167
  Entonces se indica que el precio de ida cambio
142
168
  Y se solicita la aceptacion del nuevo precio o el cambio del vuelo previamente seleccionado
@@ -148,13 +174,16 @@ Característica: checkout.booking_2_ow
148
174
  |pais|
149
175
  |BR|
150
176
 
151
- @booking_2_ow
177
+ #@booking_2_ow
152
178
  Esquema del escenario: al realizar una busqueda de un vuelo de cabotaje del tramo de IDA y del tramo del VUELTA y su correspondiente compra, si el booking de la segunda reserva (IDA) da change flight, se solicita la eleccion de un nuevo vuelo solo para ese vuelo de VUELTA.
153
- Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE roundtrip de cabotaje en '<pais>'
179
+ Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE multipleoneway de cabotaje en '<pais>'
154
180
  Cuando selecciono la opcion por tramos
155
181
  Y selecciono un vuelo de ida por una aerolinea
156
182
  Y un vuelo de vuelta por una aerolinea distinta a la elegida en la ida
157
183
  Y hago click en comprar
184
+ Entonces verifico que la pagina no rompa
185
+ Y espero que termine de cargar la pagina de checkout
186
+ Y verifico que ingrese al checkout
158
187
  Y el vuelo de vuelta da change flight
159
188
  Entonces se indica que el vuelo de vuelta cambio
160
189
  Y se solicita el cambio del vuelo de vuelta previamente seleccionado
@@ -164,4 +193,42 @@ Característica: checkout.booking_2_ow
164
193
  @br
165
194
  Ejemplos:
166
195
  |pais|
167
- |BR|
196
+ |BR|
197
+
198
+ @booking_2_ow
199
+ Esquema del escenario: Smoke TEST para la opcion de ida y vuelta separada
200
+ Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE multipleoneway de cabotaje en '<pais>'
201
+ Cuando selecciono la opcion por tramos
202
+ Entonces cargo los itinerarios de ida
203
+ Entonces valido los itinerarios de ida
204
+ Cuando elijo la opcion '0' de los itinerarios de ida
205
+ Entonces valido que se muestre en la caja de ida
206
+ Entonces cargo los itinerarios de vuelta
207
+ Entonces valido los itinerarios de vuelta
208
+ Y elijo la opcion '0' de los itinerarios de vuelta
209
+ Entonces valido que se muestre en la caja de vuelta
210
+ Y hago click en comprar
211
+ Entonces verifico que la pagina no rompa
212
+ Y espero que termine de cargar la pagina de checkout
213
+ Y verifico que ingrese al checkout
214
+ Entonces si existe la opcion de cobertura, elijo "no_chequear" si quiero cobertura
215
+ Y valido los valores del desglose del checkout con multipleoneway
216
+ Y verifico el pixel de Efrontier
217
+ Y verifico el pixel de trackeame en checkout
218
+ Y valido que no se muestre la leyenda de seguro gratis en el desglose
219
+ Y si el site es "AR", verifico el tag de remarketing de facebook
220
+ Entonces si el site no es "CL", verifico que los precios de las cuotas se muestran correctamente
221
+ Y verifico que se muestren la caja de clientes felices
222
+ Y verifico que se muestren las reviews de aerolineas
223
+ Y completo la compra con TC
224
+ Entonces se visualiza la pagina de gracias
225
+ Y totem emite de forma offline
226
+ Y verifico el tag de datalayer
227
+ Y verifico el pixel de Efrontier
228
+ Y verifico el pixel de trackeame en gracias
229
+ Y cancelo la reserva en el proveedor
230
+
231
+ @br
232
+ Ejemplos:
233
+ |pais|
234
+ |BR|