flights_gui_tests 2.3.40 → 2.3.41

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: 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|