flights_gui_tests 2.4.37 → 2.4.38

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: a08843cb58a8865128b9bb7e7f3daf01302fd8e2
4
- data.tar.gz: c43894d433926151b3b2b19645cb6db3652daf59
3
+ metadata.gz: f0f2f9f5df8a3e2ab4bf42803a766811ed557f8d
4
+ data.tar.gz: da7db62bf686354dbb9dbbd4a1adeb0f8dbbc631
5
5
  SHA512:
6
- metadata.gz: 64f5e319594c6d8d866085c2836cfe654cda7bc50b3a5c5e5d8c14a364d5f451da3ad03d856adecebeae5ce45d26d350de88519c7ae5906c9112cabb00d6d275
7
- data.tar.gz: d00cf9f1ec26cfecd39a89df12e489abeea7ffea5ec3dec6b951aa77bd847e2f4aa850f836debe39f75f7cf13e193648554bba1fa815ff0c142669d9a0b1ce38
6
+ metadata.gz: 9147dfce8f243215888cc674442990cacec3579f581367de544a92a573923439824970dbd001fa3c561d07e01d76cccb3c85012346db4e9040c4f9b21d11df29
7
+ data.tar.gz: 8f8c3fb46ad97cab4167fbceef8fcb5d659696e3c2512809f544e73efc4fad2ef687fc98faaf6b727c796da103c5a26841e6729e23caef385d3c32fe0dbb9000
@@ -18,13 +18,13 @@ Entonces(/^(?:verifico|valido) las ociones de ordenamiento$/) do
18
18
  options = (doc / 'option').map { |option| option.attributes['value'] }
19
19
  value=@page.recuperar_valor_abtesting("defaultSortingStrategy")
20
20
  if value<20
21
- options.should include?('TOTAL_FARE_YIELD_ASCENDING')
21
+ options.should include?('TOTAL_FARE_YIELD_ASCENDING') unless AllPages.site == 'BR'
22
22
  @page.orden_element.value.should match('FARE_YIELD_ASCENDING') if AllPages.site == 'BR'
23
23
  else
24
24
  options.should include?('TOTALFARE_ASCENDING')
25
25
  @page.orden_element.value.should match('FARE_ASCENDING') if AllPages.site == 'BR'
26
26
  end
27
- options.should include?('FARE_ASCENDING')
27
+ options.should include?('FARE_ASCENDING') unless AllPages.site == 'BR'
28
28
  options.should include?('STOPSCOUNT_ASCENDING')
29
29
  options.should include?('DURATION_ASCENDING')
30
30
  options.should include?('PERSONAL_ASCENDING')
@@ -57,13 +57,10 @@ Entonces(/^(?:verifico|valido) la base tarifaria$/) do
57
57
  price_cluster = Hash.new
58
58
  doc = Hpricot.parse(@page.html)
59
59
  price_matrix = (doc / "div#matrix span[@class='price-currency #{Helpers.currency(AllPages.site)} ']").first.inner_text.strip
60
- if (doc / "div.cluster span.fare span[@class='price-currency #{Helpers.currency(AllPages.site)} ']").first
61
- price_cluster['adt'] = (doc / "div.cluster span.fare span[@class='price-currency #{Helpers.currency(AllPages.site)} ']").first.inner_text.strip
62
- else
63
- price_cluster['adt'] = (doc / "div.cluster li.total-price-only span[@class='price-currency #{Helpers.currency(AllPages.site)} ']").first.inner_text.strip
64
- end
65
60
  if @basefare == 'tot'
66
- price_cluster['tot'] = (doc / "div.cluster div.fare-detail li.fare-price span[@class='price-currency #{Helpers.currency(AllPages.site)} ']").first.inner_text.strip
61
+ price_cluster['tot'] = (doc/"div.clusters li.fare-price span.item-price span.price-currency").first.inner_text.strip
62
+ else
63
+ price_cluster['adt'] = (doc/"div.fare-detail-base span.price-currency").first.inner_text.strip
67
64
  end
68
65
  if price_cluster[@basefare]
69
66
  puts "#{price_cluster[@basefare].gsub(/\n/, '')} != #{price_matrix.gsub(/\n/, '')}"
@@ -82,7 +82,8 @@ end
82
82
 
83
83
  Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de aeropuertos (outbound|inbound)$/) do |_class|
84
84
  doc = Hpricot.parse(@page.html)
85
- @airport.checkbox.value.to_s.strip.should equal((doc/"div#clusters div.cluster div.#{_class} span.airport a").first.inner_text.strip)
85
+ index = _class=="outbound" ? 0 : 1
86
+ @airport.checkbox.value.to_s.strip.should equal((doc/"div#clusters div.cluster span.sub-cluster span.airport a")[index].inner_text.strip)
86
87
  end
87
88
 
88
89
  Cuando(/^limpio el filtro de aeropuertos de salida$/) do
@@ -101,17 +102,9 @@ Cuando(/^limpio el filtro de aeropuertos de llegada$/) do
101
102
  end
102
103
  end
103
104
 
104
- Cuando(/^elijo una escala a aplicar$/) do
105
- doc = Hpricot.parse(@page.html)
106
- options = (doc/"div.ux-flights-filter-stops li.item").select { |option| !(option / "input")[0].attributes["class"].match(/ux-common-filter-disabled/) and (option / "input")[0].attributes["disabled"].empty? }
107
- @stop = options[rand(options.length)]
108
- @cant = (@stop/"span.label").inner_text.gsub(/\D/,'').strip.to_i
109
- @total = (@stop/"span.total").inner_text.strip.to_i
110
- end
111
-
112
105
  Entonces(/^filtro por escala$/) do
113
106
  @page.execute_script("javascript:void($('.ux-common-filter-toggle').click())") unless @page.browser.div(:class,'ux-common-filter-body').present?
114
- @page.browser.checkbox(:id,(@stop/"input").first.attributes['id']).set
107
+ @stop.checkboxes.first.click
115
108
  end
116
109
 
117
110
  Entonces(/^(?:verifico|valido) que los contadores respecto a las escalas sean correctos$/) do
@@ -23,17 +23,17 @@ end
23
23
 
24
24
  Cuando(/^elijo en la matriz una aerolinea a aplicar$/) do
25
25
  doc = Hpricot.parse(@page.html)
26
- @airline = (doc/"div.matrix-airlines div.airline-description")[rand((doc/"div.matrix-airlines div.airline-description").length)]
26
+ @airline = @page.browser.div(:class,"matrix-airlines").divs(:class,"airline-description")[rand(@page.browser.div(:class,"matrix-airlines").divs(:class,"airline-description").length)]
27
27
  end
28
28
 
29
29
  Entonces(/^filtro por matriz una aerolinea$/) do
30
30
  @page.activar_aerolineas_en_matriz
31
- @page.siguiente_aerolinea_element.click while !@page.elegir_aerolinea((@airline/"img").first.attributes['src']).present?
32
- @page.elegir_aerolinea((@airline/"img").first.attributes['src']).click
31
+ @page.siguiente_aerolinea_element.click while !@page.elegir_aerolinea(@airline.image.src).present?
32
+ @page.elegir_aerolinea(@airline.image.src).click
33
33
  end
34
34
 
35
35
  Entonces(/^(?:verifico|valido) el mensaje del filtro por aerolinea$/) do
36
- @page.filtro_matriz_element.text.no_accents.strip.should match("Currently viewing: Flights by #{@airline.inner_text.no_accents.strip}|Actualmente visualizando: Vuelos por #{@airline.inner_text.no_accents.strip}|Atualmente visualizando: Voos por #{@airline.inner_text.no_accents.strip}")
36
+ @page.filtro_matriz_element.text.no_accents.strip.should match("Currently viewing: Flights by #{@airline.text.no_accents.strip}|Actualmente visualizando: Vuelos por #{@airline.text.no_accents.strip}|Atualmente visualizando: Voos por #{@airline.text.no_accents.strip}")
37
37
  end
38
38
 
39
39
  Cuando(/^limpio la matriz de aerolineas$/) do
@@ -27,13 +27,13 @@ Cuando(/^abro los filtros de aeropuertos$/) do
27
27
  end
28
28
 
29
29
  Cuando(/^elijo un aeropuerto de origen a aplicar - filtros nuevo -$/) do
30
- options = @page.browser.div(:class,'inline-filters-detail-airports').divs(:class,'inline-filters-2-panel')[0].lis(:class,'item').select { |option| option.checkbox.present? and !option.id.match(/inline-filters-airport-outbound-all|airport-outbound-all|airport-outbound-unique|inline-filters-airport-outbound-unique/)}
30
+ options = @page.browser.div(:class,'inline-filters-detail-airports').divs(:class,'inline-filters-2-panel')[0].lis(:class,'item').select { |option| option.checkbox.present? and !option.checkbox.id.match(/inline-filters-airport-outbound-all|airport-outbound-all|airport-outbound-unique|inline-filters-airport-outbound-unique/)}
31
31
  @airport = options[rand(options.length)]
32
32
  @total = @airport.span(:class,'total').text.gsub(/\D/,'').to_i
33
33
  end
34
34
 
35
35
  Cuando(/^elijo un aeropuerto de destino a aplicar - filtros nuevo -$/) do
36
- options = @page.browser.div(:class,'inline-filters-detail-airports').divs(:class,'inline-filters-2-panel')[1].lis(:class,'item').select { |option| option.checkbox.present? and !option.id.match(/inline-filters-airport-inbound-all|airport-inbound-all|airport-inbound-unique|inline-filters-airport-inbound-unique/)}
36
+ options = @page.browser.div(:class,'inline-filters-detail-airports').divs(:class,'inline-filters-2-panel')[1].lis(:class,'item').select { |option| option.checkbox.present? and !option.checkbox.id.match(/inline-filters-airport-inbound-all|airport-inbound-all|airport-inbound-unique|inline-filters-airport-inbound-unique/)}
37
37
  @airport = options[rand(options.length)]
38
38
  @total = @airport.span(:class,'total').text.gsub(/\D/,'').to_i
39
39
  end
@@ -54,11 +54,10 @@ Cuando(/^abro los filtros de escalas$/) do
54
54
  end
55
55
 
56
56
  Cuando(/^elijo una escala a aplicar - filtros nuevo -$/) do
57
- doc = Hpricot.parse(@page.html)
58
- options = (doc/"div.inline-filters-detail-scales li.item").select { |option| !(option / "input")[0].attributes["class"].match(/ux-common-filter-disabled/) and (option / "input")[0].attributes["disabled"].empty? }
59
- @stop = options[rand(options.length)]
60
- @cant = (@stop/"span.label").inner_text.gsub(/\D/,'').strip.to_i
61
- @total = (@stop/"span.total").inner_text.gsub(/\D/,'').strip.to_i
57
+ options = @page.browser.div(:class,'inline-filters-detail-scales').lis(:class,'item').select { |option| option.checkbox.present? and !option.checkbox.id.match(/inline-filters-stops-all/) and !option.checkbox.class_name.match("ux-common-filter-disabled")}
58
+ @stop = options[rand(options.length)]
59
+ @cant = @stop.span(:class,'label').text.gsub(/\D/,'').strip.to_i
60
+ @total = @stop.span(:class,'total').text.gsub(/\D/,'').to_i
62
61
  end
63
62
 
64
63
  Cuando(/^limpio el filtro de escalas - filtros nuevo -$/) do
@@ -75,8 +74,8 @@ end
75
74
  Cuando(/^elijo un horario a aplicar - filtros nuevo -$/) do
76
75
  doc = Hpricot.parse(@page.html)
77
76
  options = (doc/"div.inline-filters-detail-time div.inline-filters-slider-panel")
78
- options = (options[0]/"ul.hour-filter-range-links li")
79
- @time = options[rand(options.length)]
77
+ _options = (options[0]/"ul.hour-filter-range-links li")
78
+ @time = _options[rand(_options.length)]
80
79
  end
81
80
 
82
81
  Entonces(/^filtro por horario de ida - filtros nuevo -$/) do
@@ -13,7 +13,7 @@ module Results
13
13
  aerolineas = (info_ruta/"li.airlines img").collect{|aerolinea| aerolinea.attributes['src'].match(/(..).png/)[1].upcase}
14
14
  return DataCluster.new( nil, #nombre ciudad salida
15
15
  nil, #nombre ciudad llegada
16
- (info_ruta/"span.date").inner_text.strip, #fecha
16
+ (info_ruta/"span.date").first.inner_text.gsub(/\n\n/,' '), #fecha
17
17
  aerolineas, #aerolineas
18
18
  escala_to_i((info_ruta/"span.stops-text").inner_text.strip), #escalas
19
19
  (info_ruta/"span.airport").first.inner_text.strip.no_accents, #iata ciudad salida
@@ -17,7 +17,7 @@ module NewCheckout
17
17
 
18
18
  def cargar_datos_de_contacto
19
19
  uncheck_opcion_ofertas
20
- mail_contacto_element.set "bookingvuelos@despegar.com"
20
+ mail_contacto_element.set "bookingvuelos@despegar.com" if mail_contacto_element.enabled?
21
21
  mail_contacto_confimacion_element.set "bookingvuelos@despegar.com"
22
22
  telefono_contacto_element.select_value("HOME")
23
23
  pais_contacto_element.set "Argentina (54)"
@@ -1,3 +1,3 @@
1
1
  module FlightsGui
2
- VERSION = "2.4.37"
2
+ VERSION = "2.4.38"
3
3
  end
@@ -19,7 +19,7 @@ Característica: checkout.cupones
19
19
  Entonces cargo los pasajeros
20
20
  Y completo con un cupon de descuento con numero "XXXXXXXXXX"
21
21
  Y verifico el mensaje de cupon invalido
22
- Y si permite cupon de descuento, completo con un cupon de descuento con numero "5AYOE87EBD"
22
+ Y si permite cupon de descuento, completo con un cupon de descuento con numero "UTHC4HTFZ5"
23
23
  Y si permite cupon de descuento, verifico el mensaje de cupon valido
24
24
  Y cargo los datos de la tarjeta
25
25
  Y si el site es "AR|MX|PE|BR", cargo los datos de facturacion
@@ -10,6 +10,7 @@ Característica: results.basefare
10
10
  Cuando realizo la busqueda
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
+ Cuando pruebo angular
13
14
  Entonces verifico que traiga resultados
14
15
  Y verifico los textos de las opciones del combo
15
16
  Y verifico las ociones de ordenamiento
@@ -10,6 +10,7 @@ Característica: results.errors
10
10
  Cuando realizo la busqueda
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
+ Cuando pruebo angular
13
14
  Entonces si el site es "PE", ingreso a resultados con cookie "useSbox" al "29"
14
15
  Entonces verifico que traiga resultados
15
16
  Cuando ingreso bebes de mas
@@ -10,6 +10,7 @@ Característica: results.filters
10
10
  Cuando realizo la busqueda
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
+ Cuando pruebo angular
13
14
  Entonces verifico que traiga resultados
14
15
  Entonces elijo moneda local
15
16
  Cuando espero que termine de cargar la pagina de resultados
@@ -64,6 +65,7 @@ Característica: results.filters
64
65
  Cuando limpio el filtro de horario de ida - filtros nuevo -
65
66
  Cuando espero que termine de cargar la pagina de resultados
66
67
  Entonces verifico que la pagina no rompa
68
+ Cuando si es ida y vuelta, abro los filtros de horarios
67
69
  Cuando si es ida y vuelta, elijo un horario a aplicar - filtros nuevo -
68
70
  Entonces si es ida y vuelta, filtro por horario de vuelta - filtros nuevo -
69
71
  Cuando si es ida y vuelta, espero que termine de cargar la pagina de resultados
@@ -10,7 +10,7 @@ Característica: results.matrix_airlines
10
10
  Cuando realizo la busqueda
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
- Cuando si pruebo streaming, ingreso a resultados streaming
13
+ Cuando pruebo angular
14
14
  Entonces verifico que traiga resultados
15
15
  Cuando elijo en la matriz una aerolinea a aplicar
16
16
  Entonces filtro por matriz una aerolinea
@@ -10,6 +10,7 @@ Característica: results.matrix_fare_chart
10
10
  Cuando realizo la busqueda
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
+ Cuando pruebo angular
13
14
  Entonces verifico que traiga resultados
14
15
  Y ingreso a la matriz de tendencia de precios
15
16
  Y verifico el mensaje de aclaracion de precio de matriz de tendencia de precios
@@ -10,7 +10,7 @@ Característica: results.matrix_price
10
10
  Cuando realizo la busqueda
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
- Cuando si pruebo streaming, ingreso a resultados streaming
13
+ Cuando pruebo angular
14
14
  Entonces verifico que traiga resultados
15
15
  Y si no se muestra la matriz de precios, realizo las busquedas para recargar la matriz
16
16
  Cuando espero que termine de cargar la pagina de resultados
@@ -6,6 +6,8 @@ Característica: results.multipleoneway
6
6
  @multipleoneway
7
7
  Esquema del escenario: al realizar una busqueda de un vuelo de cabotaje para el tramo de IDA, es posible realizar una nueva busqueda para el tramo de VUELTA.
8
8
  Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE multipleoneway de cabotaje en '<pais>'
9
+ Cuando pruebo angular
10
+ Dado un usuario que ingresa a realizar una busqueda de un vuelo NO LASTMINUTE multipleoneway de cabotaje en '<pais>'
9
11
  Cuando selecciono la opcion por tramos
10
12
  Y selecciono un vuelo de ida por una aerolinea
11
13
  Entonces es posible seleccionar un vuelo de vuelta por una aerolinea distinta a la elegida en la ida
@@ -11,6 +11,7 @@ Característica: results.orders
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
13
  Entonces ingreso a resultados con cookie "defaultSortingStrategy" al "50"
14
+ Cuando pruebo angular
14
15
  Entonces verifico que traiga resultados
15
16
  Cuando ordeno por "<order>"
16
17
  Cuando espero que termine de cargar la pagina de resultados
@@ -10,6 +10,7 @@ Característica: results.pagination
10
10
  Cuando realizo la busqueda
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
+ Cuando pruebo angular
13
14
  Entonces verifico que traiga resultados
14
15
  Cuando vuelvo a la primer pagina en resultados
15
16
  Cuando espero que termine de cargar la pagina de resultados
@@ -10,6 +10,7 @@ Característica: results.recommendation
10
10
  Cuando realizo la busqueda
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
+ Cuando pruebo angular
13
14
  Entonces verifico que traiga resultados
14
15
  Y cierro popups
15
16
  Entonces verifico que exista el icono de enviar recomendacion
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: 2.4.37
4
+ version: 2.4.38
5
5
  platform: ruby
6
6
  authors:
7
7
  - lgonzalez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-07 00:00:00.000000000 Z
11
+ date: 2016-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: henry-container
@@ -380,7 +380,6 @@ files:
380
380
  - features/tests/black_list/cac.feature
381
381
  - features/tests/black_list/cash_payment.feature
382
382
  - features/tests/black_list/compras_duplicadas.feature
383
- - features/tests/black_list/cupones.feature
384
383
  - features/tests/black_list/long_tail.feature
385
384
  - features/tests/black_list/online_payment.feature
386
385
  - features/tests/black_list/prueba.feature
@@ -1,41 +0,0 @@
1
- #language: es
2
- @checkout
3
- Característica: checkout.cupones
4
- Se verifica que la funcionalidad de la caja de cupones funcione correctamente, se realiza una compra con cupon.
5
-
6
- @cupones
7
- Esquema del escenario: Se realiza un book con un cupon de descuento, se verifica la funcionalidad correcta de la cuponera.
8
- Dado como un usuario de '<pais>'
9
- * ingreso una busqueda '<tipo>' del tipo '<cabotage>'
10
- Cuando realizo la busqueda
11
- Entonces verifico que la pagina no rompa
12
- Cuando espero que termine de cargar la pagina de resultados
13
- Entonces verifico que traiga resultados
14
- Cuando elijo un itinerario valido y paso a checkout
15
- Entonces verifico que la pagina no rompa
16
- Y espero que termine de cargar la pagina de checkout
17
- Y verifico que ingrese al checkout
18
- Y valido los valores del desglose del checkout
19
- Entonces cargo los pasajeros
20
- Y cargo los datos de la tarjeta
21
- Y si el site es "AR|MX|PE|BR", cargo los datos de facturacion
22
- Y cargo los datos de contacto
23
- Y completo con un cupon de descuento con numero "XXXXXXXXXX"
24
- Y verifico el mensaje de cupon invalido
25
- Y si permite cupon de descuento, completo con un cupon de descuento con numero "5AYOE87EBD"
26
- Y si permite cupon de descuento, verifico el mensaje de cupon valido
27
- Cuando acepto y compro
28
- Entonces espero que termine el pedido de compra
29
- Y verifico si no trae errores
30
- Entonces si aparece el popup de no disponibilidad, elijo un itinerario del popup de no disponibilidad
31
- Entonces espero que termine de cargar la pagina de gracias
32
- Y verifico que ingrese a la pagina de gracias
33
- Y verifico el popup de asistencia al viajero
34
- Y verifico el tag de datalayer
35
- Y cancelo la reserva en el proveedor
36
- Y seteo la reserva como cancelada en roma
37
-
38
- @ar
39
- Ejemplos:
40
- |pais|tipo|cabotage|
41
- |AR |roundtrip|nil|