flights_gui_tests 0.0.21 → 0.0.23

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: 3c76a7ae4ac8ee8674c5d617004bb4cb6d206f00
4
- data.tar.gz: 2c4001660aa8e993a60fe16b3d86cb9bb44d2423
3
+ metadata.gz: 68739b581bef6b6f640825b7defe727235cd905a
4
+ data.tar.gz: 3449d13c2535bd4a1aeb1793a9371e34318b25c3
5
5
  SHA512:
6
- metadata.gz: ff49d4e4e5f34577a28308745d35868078445a23e6f93cf0631866dfc2f7dcbd554f45396abf75d1df51baabee1d388a618c3c0fd95245b3e2401693f9165d2f
7
- data.tar.gz: 28f569665bee217d5f99a5962f54a940c0138447af842c903bc1c42d6db68a62deefcb7566c0d4b2196cd833f3e691e0232c689d5eccf6988c5ace936844c64a
6
+ metadata.gz: 17e9a5196a7a4a1fc9294e00554096cb08575bf26518ce8706d8c976c1da61cdb7afae70aa6d546d9c15b92701e1b24171ac24e6b9f57457d18b1ba2a2e3239f
7
+ data.tar.gz: 1afaf370a32d8219ff8eb84f356a775d0336db69da76c20b9daa632488c5ea0826a490f2aeaa4f9c0ab6748a43c099042bd58766d6e6b1f7965ca4b0534c251d
@@ -262,14 +262,14 @@ end
262
262
  Entonces(/^filtro por precio mayor$/) do
263
263
  @page.execute_script("javascript:void($('.price-max').val(''))")
264
264
  @page.filtro_precio_mayor_element.set(@price_up+3)
265
- @page.aplicar_filtro_precio_element.click
266
- step "espero que termine de cargar la pagina de resultados"
267
265
  price=@page.filtro_precio_mayor_element.value.to_i
268
266
  while(price>@price_up)
269
267
  @page.slider_precio_mayor_element.send_keys :left
270
268
  price=@page.filtro_precio_mayor_element.value.to_i
271
269
  end
272
270
  @price_up=price
271
+ @page.aplicar_filtro_precio_element.click
272
+ step "espero que termine de cargar la pagina de resultados"
273
273
  end
274
274
 
275
275
  Entonces(/^verifico que la primer pagina muestre correctamente los filtros de precio$/) do
@@ -277,11 +277,11 @@ Entonces(/^verifico que la primer pagina muestre correctamente los filtros de pr
277
277
  @page.cargar_itinerarios
278
278
  @page.datos_de_itinerarios.each do |itinerario|
279
279
  if AllPages.site.match("MX|UY|PE|BR|CR|PA")
280
- (itinerario.tarifas['tarifa_adulto'].value >= @price_down).should be_true
281
- (itinerario.tarifas['tarifa_adulto'].value <= @price_up+1).should be_true
280
+ itinerario.tarifas['tarifa_adulto'].value.should es_mayor_igual_que(@price_down)
281
+ itinerario.tarifas['tarifa_adulto'].value.should es_menor_igual_que(@price_up)
282
282
  else
283
- (itinerario.tarifas['total'].value >= @price_down).should be_true
284
- (itinerario.tarifas['total'].value <= @price_up+1).should be_true
283
+ itinerario.tarifas['total'].value.should es_mayor_igual_que(@price_down)
284
+ itinerario.tarifas['total'].value.should es_menor_igual_que(@price_up)
285
285
  end
286
286
  end
287
287
  end
@@ -289,14 +289,14 @@ end
289
289
  Entonces(/^filtro por precio menor$/) do
290
290
  @page.execute_script("javascript:void($('.price-min').val(''))")
291
291
  @page.filtro_precio_menor_element.set(@price_down-2)
292
- @page.aplicar_filtro_precio_element.click
293
- step "espero que termine de cargar la pagina de resultados"
294
292
  price=@page.filtro_precio_menor_element.value.to_i
295
293
  while(price<@price_down)
296
294
  @page.slider_precio_menor_element.send_keys :right
297
295
  price=@page.filtro_precio_menor_element.value.to_i
298
296
  end
299
297
  @price_down=price
298
+ @page.aplicar_filtro_precio_element.click
299
+ step "espero que termine de cargar la pagina de resultados"
300
300
  end
301
301
 
302
302
  Cuando(/^limpio el filtro de precio$/) do
@@ -1,29 +1,85 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  class LandingCluster < ResultsCluster
3
3
 
4
- def load_prices(p_html)
5
-
6
- @tarifas = Hash.new
7
- @tarifas['tarifa_adulto'] = Price.new((p_html/"span.price-currency span.currency").first.inner_text.strip + " " + (p_html/"span.price-currency span.amount").first.inner_text.strip)
8
- @tarifas['tarifa_adulto_dolar'] = Price.new((p_html/"span.price-currency span.currency").last.inner_text.strip + " " + (p_html/"span.price-currency span.amount").last.inner_text.strip)
9
- @tarifas['adt'] = (p_html/"ul.fare-detail//li").empty? ? Price.new("$ 0",true) : Price.new(((p_html/"ul.fare-detail//li").select{|li| li.inner_text.no_accents.downcase =~ /adulto/}.first/"span[@class='price-currency ARS']").inner_text.strip)
10
-
11
- adt = (p_html/"li").select{|li| li.inner_text.no_accents.downcase =~ /adulto/}.first
12
- @tarifas['adt'] = adt ? Price.new((adt/"span.currency").first.inner_text.strip + " " + (adt/"span.amount").first.inner_text.strip) : Price.new("$ 0",true)
13
-
14
- tasas = (p_html/"li.taxes-price").empty? ? (p_html/"li[@class='taxDetail.OTHER-price']").first : (p_html/"li.taxes-price").first
15
- @tarifas['tasas'] = tasas ? Price.new((tasas/"span.currency").first.inner_text.strip + " " + (tasas/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
16
-
17
- cargos = (p_html/"li.charges-price").first
18
- @tarifas['cargos'] = cargos ? Price.new((cargos/"span.currency").first.inner_text.strip + " " + (cargos/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
19
-
20
- afip = (p_html/"li[@class='taxDetail.ZK-price']").first
21
- @tarifas['afip'] = afip ? Price.new((afip/"span.currency").first.inner_text.strip + " " + (afip/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
22
-
23
- @tarifas['encargos'] = Price.new("$ 0",true)
24
-
25
- campo = (p_html/"li").empty? ? "total" : "fare"
26
- @tarifas['total'] = (p_html/"li.#{campo}-price span.currency").empty? ? Price.new("$ 0",true) : Price.new((p_html/"li.#{campo}-price span.currency").first.inner_text.strip + " " + (p_html/"li.#{campo}-price span.amount").first.inner_text.strip)
27
- end
4
+
5
+ def load_data_from(div_datos)
6
+ @idas = Array.new
7
+ (div_datos/"li.itinerary").each do |div_datos_ida|
8
+ duracion = (div_datos_ida/"li.time").inner_text.strip
9
+ origen = (div_datos/"span.city-departure").first.inner_text.gsub(/,/,'').strip.no_accents
10
+ destino= (div_datos/"span.city-arrival").first.inner_text.gsub(/,/,'').strip.no_accents
11
+ origen_iata = (div_datos/"a")[0].inner_text.strip
12
+ destino_iata = (div_datos/"a")[1].inner_text.strip
13
+ fecha = (div_datos_ida/"li.date").first.inner_text.strip.no_accents
14
+ escala = (div_datos_ida/"li.stops/a").inner_text.strip.empty? ? "Sin escalas" : (div_datos_ida/"li.stops/a").inner_text.to_i
15
+ aerolinea = Array.new
16
+ i = 0
17
+ (div_datos_ida/"li.airlinesShort//img").each do |aer|
18
+ aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
19
+ i = i + 1
20
+ end
21
+ (div_datos_ida/"li.airlines//img").each do |aer|
22
+ aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
23
+ i = i + 1
24
+ end
25
+ hou_sal_ida = Time.parse((div_datos_ida/"li.leave span.hour").inner_text.strip)
26
+ hou_lle_ida = Time.parse((div_datos_ida/"li.arrive span.hour").inner_text.strip)
27
+ @idas << DataCluster.new(origen,destino,fecha, aerolinea, escala_to_i(escala),origen_iata,destino_iata,hou_sal_ida,hou_lle_ida,duracion)
28
+ end
29
+ @nro_vuelo_ida = 0
30
+ @ida = @idas[@nro_vuelo_ida]
31
+ end
32
+ def load_data_to(div_datos)
33
+ @vueltas = Array.new
34
+ (div_datos/"li.itinerary").each do |div_datos_vuelta|
35
+ duracion = (div_datos_vuelta/"li.time").inner_text.strip
36
+ origen = (div_datos/"span.city-departure").first.inner_text.gsub(/,/,'').strip.no_accents
37
+ destino= (div_datos/"span.city-arrival").first.inner_text.gsub(/,/,'').strip.no_accents
38
+ origen_iata = (div_datos/"a")[0].inner_text.strip
39
+ destino_iata = (div_datos/"a")[1].inner_text.strip
40
+ fecha = (div_datos_vuelta/"li.date").last.inner_text.strip.no_accents
41
+ escala = (div_datos_vuelta/"li.stops/a").inner_text.strip.empty? ? "Sin escalas" : (div_datos_vuelta/"li.stops/a").inner_text.to_i
42
+ aerolinea = Array.new
43
+ i = 0
44
+ (div_datos_vuelta/"li.airlinesShort//img").each do |aer|
45
+ aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
46
+ i = i + 1
47
+ end
48
+ (div_datos_vuelta/"li.airlines//img").each do |aer|
49
+ aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
50
+ i = i + 1
51
+ end
52
+ hou_sal_ida = Time.parse((div_datos_vuelta/"li.leave span.hour").inner_text.strip)
53
+ hou_lle_ida = Time.parse((div_datos_vuelta/"li.arrive span.hour").inner_text.strip)
54
+ @vueltas << DataCluster.new(origen,destino,fecha, aerolinea, escala_to_i(escala),origen_iata,destino_iata,hou_sal_ida,hou_lle_ida,duracion)
55
+ end
56
+ @nro_vuelo_vuelta = 0
57
+ @vuelta = @vueltas[@nro_vuelo_vuelta]
58
+ end
59
+
60
+ def load_prices(p_html)
61
+
62
+ @tarifas = Hash.new
63
+ @tarifas['tarifa_adulto'] = Price.new((p_html/"span.price-currency span.currency").first.inner_text.strip + " " + (p_html/"span.price-currency span.amount").first.inner_text.strip)
64
+ @tarifas['tarifa_adulto_dolar'] = Price.new((p_html/"span.price-currency span.currency").last.inner_text.strip + " " + (p_html/"span.price-currency span.amount").last.inner_text.strip)
65
+ @tarifas['adt'] = (p_html/"ul.fare-detail//li").empty? ? Price.new("$ 0",true) : Price.new(((p_html/"ul.fare-detail//li").select{|li| li.inner_text.no_accents.downcase =~ /adulto/}.first/"span[@class='price-currency ARS']").inner_text.strip)
66
+
67
+ adt = (p_html/"li").select{|li| li.inner_text.no_accents.downcase =~ /adulto/}.first
68
+ @tarifas['adt'] = adt ? Price.new((adt/"span.currency").first.inner_text.strip + " " + (adt/"span.amount").first.inner_text.strip) : Price.new("$ 0",true)
69
+
70
+ tasas = (p_html/"li.taxes-price").empty? ? (p_html/"li[@class='taxDetail.OTHER-price']").first : (p_html/"li.taxes-price").first
71
+ @tarifas['tasas'] = tasas ? Price.new((tasas/"span.currency").first.inner_text.strip + " " + (tasas/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
72
+
73
+ cargos = (p_html/"li.charges-price").first
74
+ @tarifas['cargos'] = cargos ? Price.new((cargos/"span.currency").first.inner_text.strip + " " + (cargos/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
75
+
76
+ afip = (p_html/"li[@class='taxDetail.ZK-price']").first
77
+ @tarifas['afip'] = afip ? Price.new((afip/"span.currency").first.inner_text.strip + " " + (afip/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
78
+
79
+ @tarifas['encargos'] = Price.new("$ 0",true)
80
+
81
+ campo = (p_html/"li").empty? ? "total" : "fare"
82
+ @tarifas['total'] = (p_html/"li.#{campo}-price span.currency").empty? ? Price.new("$ 0",true) : Price.new((p_html/"li.#{campo}-price span.currency").first.inner_text.strip + " " + (p_html/"li.#{campo}-price span.amount").first.inner_text.strip)
83
+ end
28
84
 
29
85
  end
@@ -105,4 +105,28 @@ RSpec::Matchers.define :es_mayor_que do |min|
105
105
  failure_message_for_should_not do |actual|
106
106
  "se esperaba que el valor #{actual} no sea mayor a #{min}"
107
107
  end
108
+ end
109
+
110
+ RSpec::Matchers.define :es_mayor_igual_que do |min|
111
+ match do |actual|
112
+ actual.to_i >= min
113
+ end
114
+ failure_message_for_should do |actual|
115
+ "se esperaba que el valor #{actual} sea mayor igual a #{min}"
116
+ end
117
+ failure_message_for_should_not do |actual|
118
+ "se esperaba que el valor #{actual} no sea mayor igual a #{min}"
119
+ end
120
+ end
121
+
122
+ RSpec::Matchers.define :es_menor_igual_que do |min|
123
+ match do |actual|
124
+ actual.to_i <= min
125
+ end
126
+ failure_message_for_should do |actual|
127
+ "se esperaba que el valor #{actual} sea menor igual a #{min}"
128
+ end
129
+ failure_message_for_should_not do |actual|
130
+ "se esperaba que el valor #{actual} no sea menor igual a #{min}"
131
+ end
108
132
  end
@@ -5,7 +5,7 @@ module Results
5
5
 
6
6
  include PageObject
7
7
 
8
- span(:icono_mail,:class=>"main-sprite icon-mail icon")
8
+ span(:icono_mail,:css=>".icon-mail")
9
9
 
10
10
  radio(:primera_opcion_ida,:id=>"0-outbound-0")
11
11
  radio(:primera_opcion_vuelta,:id=>"0-inbound-0")
@@ -14,7 +14,6 @@ Característica: landing.tags
14
14
  Entonces verifico que traiga resultados de landing
15
15
  Y verifico que la url sea la correcta
16
16
  Y verifico el tag de remarketing de facebook
17
- Y verifico el tag de facebook
18
17
  Y verifico el pixel de e-planning
19
18
  Y verifico el primer tag de google en resultado
20
19
  Y verifico el segundo tag de google en resultado de landing
@@ -15,7 +15,7 @@
15
15
 
16
16
  gem.require_paths = ["lib"] #Usualmente es solo lib -> ["lib"]
17
17
 
18
- gem.version = '0.0.21' #La version se debe incrementar cada vez que se desea publicar una nueva version del test.
18
+ gem.version = '0.0.23' #La version se debe incrementar cada vez que se desea publicar una nueva version del test.
19
19
 
20
20
  gem.add_dependency('henry-container', '>= 0.1.39')
21
21
  gem.add_dependency('page-object')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flights_gui_tests
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.21
4
+ version: 0.0.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - lgonzalez,lsimean