flights_gui_tests 2.4.37 → 2.4.38

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