flights_gui_henry_tests 2.1.3 → 2.1.4

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YjA5ODc1ZmVmODM1MzhjYTFkMzJlYWQzYzFiNjc4NDczNDg3MDQ2Nw==
4
+ MWJjYTFmZWU3OTE4ZDExNjI0NzkyNWFiNTBmNTZhZjU2MjEzYjI4ZQ==
5
5
  data.tar.gz: !binary |-
6
- MTFkMzIzMTA3ZDE1ODI2MjA0MDJhNmEwZDBlNDdmODhhMjgyNGVlNw==
6
+ MDFlNjgxYzZkNThjMmVjNDU1MzAwN2YxZWJkM2EwNWE0OGUzYTk3Ng==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MzE0YzIwOTAxNTRhYzE1NjEzYmJiNmEwN2M2Y2E0ZDhiZDgyY2I5ZWU2YWFi
10
- OWJmNTg5ZmNhZWI2NWYzNGI3YjkyNWQ3NWU1YzM2Mjc2MWZhMjM1M2NhYTBk
11
- NzU0MzJmOTlmYTFjYjhhMWVhOTU1MTY2NTZhZGNkMzYzYmZhNGY=
9
+ YjNkMjdiOGJhYzYzMWJhZmNlNmYwNWRjODJiMTBkMzllMzA2YmFmNmZmZDM4
10
+ NGQ1MWNiMjQzMTBjNmU2MzdhNzdkMTI1NDBlMTgyNWQwNDQ5ZDczNjNmZjMw
11
+ YjAxODc3ZDZkMTI3NjBjZmI4YTVhYzg3NmJiZmI2ZDMwNjIyMzM=
12
12
  data.tar.gz: !binary |-
13
- MTQ4MzhmNmE2NzJiMGZhMGVhNzAyMDc2ZDQxMjk1ODc3YzBlNmFiYjhiNGY3
14
- OGQ2ZDZmYzFkNDIzNDRmZGZlYmQ3YmRhMDMyOTU1NjUxMWZmNTU4NzhiOTk5
15
- MWZkZmMxMDdmMzMxMDljMmJjZTI5Y2VlMDg0YTJlZWZkMzI5MTg=
13
+ NTNkMDUyY2NhZGRmOTVlMDEwYzM0ZmRhOTY5ODJiOWYzYTgyY2U5YWU4N2Y1
14
+ N2UwZWUxZjM0ZmIwYWNiNDMwNDkyYzAzMGRhMzhlZWZlYWJmYTc1ZmVlYmY5
15
+ OGNjN2IwZDc1NjUzMGU5Y2I3MmJkYTEyMTFhZmY1OTU0MTU5NDk=
@@ -40,18 +40,18 @@ And /^Verifico que se muestren la caja de clientes felices$/ do
40
40
  if $SITE=="US"
41
41
  BROWSER.div(:id,'happy-clients').should_not visible("Se muestra la caja de comentarios en usa")
42
42
  end
43
- if BROWSER.div(:id,'happy-clients').present? and BROWSER.div(:id,'happy-clients').div(:class,'review').present?
44
- happy_clients = BROWSER.div(:id,'happy-clients').div(:class,'review')
43
+ if BROWSER.div(:id,'happy-clients').present?
44
+ happy_clients = BROWSER.div(:id,'happy-clients')
45
45
  happy_clients.should visible
46
- happy_clients.div(:class,'comment').should visible
47
- happy_clients.div(:class,'comment').text.should match('[A-Z]|[a-z]')
48
- happy_clients.ul(:class,'details').should visible
49
- happy_clients.ul(:class,'details').li(:class,'name').should visible
50
- happy_clients.ul(:class,'details').li(:class,'name').text.no_accents.should match('[A-Z]|[a-z]')
51
- happy_clients.ul(:class,'details').li(:class,'date').should visible
52
- happy_clients.ul(:class,'details').li(:class,'date').text.no_accents.should match('[A-Z]|[a-z]')
53
- happy_clients.ul(:class,'details').li(:class,'product').should visible
54
- happy_clients.ul(:class,'details').li(:class,'product').text.no_accents.should match('[A-Z]|[a-z]')
46
+ happy_clients.div(:class,'ux-common-comment').should visible
47
+ happy_clients.div(:class,'ux-common-comment').text.should match('[A-Z]|[a-z]')
48
+ happy_clients.div(:class,'ux-common-comment-description').should visible
49
+ happy_clients.div(:class,'ux-common-comment-description').span(:class,'flights-comment-description').should visible
50
+ happy_clients.div(:class,'ux-common-comment-description').span(:class,'flights-comment-description').text.no_accents.should match('[A-Z]|[a-z]')
51
+ happy_clients.div(:class,'ux-common-comment-profile').span(:class,'ux-common-comment-name').should visible
52
+ happy_clients.div(:class,'ux-common-comment-profile').span(:class,'ux-common-comment-name').text.no_accents.should match('[A-Z]|[a-z]')
53
+ happy_clients.span(:class,'description').should visible
54
+ happy_clients.span(:class,'description').text.no_accents.should match('Por que \d+ millones de viajeros nos eligen|Why \d+ million travelers choose us|Por que \d+ milhoes de viajantes nos escolhem')
55
55
  end
56
56
  end
57
57
 
@@ -167,31 +167,38 @@ And /^Levanto los datos del vuelo$/ do
167
167
  end
168
168
  begin
169
169
  BROWSER.div(:id,'popup-booking-details').span(:class,'popup-close-button popup-close').click
170
- rescue Selenium::WebDriver::Error::UnknownError
171
- puts "No se pudo cerrar el popup"
172
- end
173
- @popup_detalle_vuelo = CheckoutCluster.new(@search.description,popup_detalle_vuelo)
174
- unless @pop_up
175
- puts @popup_detalle_vuelo.tarifas
176
- @popup_detalle_vuelo.validarSumaDesgloce.should be_within(4).of(@popup_detalle_vuelo.tarifas['total'].value)
177
- unless @popup_detalle_vuelo.tarifas['adt'].valor.zero?
178
- @popup_detalle_vuelo.tarifas['adt'].valor.should equal(@popup_detalle_vuelo.tarifas['tarifa_adulto'].valor * @search.adt)
179
- end
180
- @itinerario_checkout.tarifas.each_pair do |key,value|
181
- if @popup_detalle_vuelo.tarifas[key] and !value.zero? and value.currency == @popup_detalle_vuelo.tarifas[key].currency
182
- value.should equal(@popup_detalle_vuelo.tarifas[key])
183
- end
170
+ @popup_detalle_vuelo = CheckoutCluster.new(@search.description,popup_detalle_vuelo)
171
+ unless @pop_up
172
+ puts @popup_detalle_vuelo.tarifas
173
+ @popup_detalle_vuelo.validarSumaDesgloce.should be_within(4).of(@popup_detalle_vuelo.tarifas['total'].value)
174
+ unless @popup_detalle_vuelo.tarifas['adt'].valor.zero?
175
+ @popup_detalle_vuelo.tarifas['adt'].valor.should equal(@popup_detalle_vuelo.tarifas['tarifa_adulto'].valor * @search.adt)
176
+ end
177
+ @itinerario_checkout.tarifas.each_pair do |key,value|
178
+ if @popup_detalle_vuelo.tarifas[key] and !value.zero? and value.currency == @popup_detalle_vuelo.tarifas[key].currency
179
+ value.should equal(@popup_detalle_vuelo.tarifas[key])
180
+ end
181
+ end
184
182
  end
185
- end
183
+ rescue Selenium::WebDriver::Error::UnknownError,Selenium::WebDriver::Error::ElementNotVisibleError
184
+ puts "No se pudo cerrar el popup"
185
+ end
186
186
  end
187
187
 
188
188
  When /^Verifico que se muestre el banner de cancelacion$/ do
189
189
  value = get_abtesting "showFreeCancelMessage"
190
+ data = @search.get_results_search_service
191
+ provider = data["result"]["data"]["items"][0]["provider"]
192
+ puts provider
190
193
  if $SITE=="EC" and value < 0
191
194
  BROWSER.div(:id,'cancellation-advice').should visible("banner de cancelacion")
192
195
  BROWSER.div(:id,'cancellation-advice').div(:class,'ux-common-message-content').p(:index,0).text.strip.should equal("¡Compre tranquilo!")
193
196
  BROWSER.div(:id,'cancellation-advice').div(:class,'ux-common-message-content').p(:index,1).text.no_accents.strip.should equal("Si necesita cancelar su compra puede hacerlo gratis desde Mi Despegar hasta las 22 hs. del dia de hoy.")
194
- else
197
+ elsif $SITE=="BR" and value < 50 and provider=="GDS"
198
+ BROWSER.div(:id,'cancellation-advice').should visible("banner de cancelacion")
199
+ BROWSER.div(:id,'cancellation-advice').div(:class,'ux-common-message-content').p(:index,0).text.strip.should equal("Compre tranquilo! Cancele no mesmo dia sem custo*!")
200
+ BROWSER.div(:id,'cancellation-advice').div(:class,'ux-common-message-content').p(:index,1).text.no_accents.strip.should equal("* Caso necessite cancelar sua compra, voce podera cancelar sem nenhum custo desde MeuDecolar ate as 20 hrs do mesmo dia da compra.")
201
+ else
195
202
  BROWSER.div(:id,'cancellation-advice').should_not visible("banner de cancelacion")
196
203
  end
197
204
  end
@@ -219,4 +226,47 @@ end
219
226
 
220
227
  When /^Verifico que dirija a la home$/ do
221
228
  Watir::Wait.until(timeout=60){BROWSER.url == "#{@search.host}/"}
222
- end
229
+ end
230
+
231
+ When /^pide factura fiscal$/ do
232
+ (BROWSER.checkbox(:id,'invoice-check').present? or BROWSER.fieldset(:id,'invoice').present?).should be_true
233
+ end
234
+
235
+ And /^Completo los campos de factura fiscal$/ do
236
+ container = BROWSER.fieldset(:id,'invoice')
237
+ if $SITE.upcase.match("AR")
238
+ option = ["FINAL","INSCR","EXENT","MONOTRIBUTO"][rand(3)]
239
+ BROWSER.fieldset(:id,'invoice').should visible("formulario de factura")
240
+ container.select_list(:id,'invoice-fiscal-status').select_value(option)
241
+ if option=="FINAL"
242
+ container.text_field(:id,'invoice-fiscal-id').value.should equal("20-32456734-9") unless BROWSER.li(:id,'cac-installment').present?
243
+ else
244
+ #lleno los campos requeridos
245
+ container.text_field(:id,'invoice-card-holder-name').set("diego qa romero")
246
+ container.select_list(:id,'invoice-state').select_value("B")
247
+ container.text_field(:id,'invoice-city-custom').set("buenos aires")
248
+ sleep(1)
249
+ BROWSER.send_keys :enter
250
+ container.text_field(:id,'invoice-street').set("corrientes")
251
+ container.text_field(:id,'invoice-postal-code').set("7111")
252
+ container.text_field(:id,'invoice-address-number').set("123")
253
+ container.text_field(:id,'invoice-address-floor').set("1")
254
+ container.text_field(:id,'invoice-address-deparment').set("1")
255
+ end
256
+ container.text_field(:id,'invoice-fiscal-id').set("20324567349")
257
+ else
258
+ container.checkbox(:id,'invoice-check').set(true)
259
+ container.text_field(:id,'invoice-fiscal-id').set("3334445556")
260
+ container.text_field(:id,'invoice-card-holder-name').set("diego qa romero")
261
+ container.select_list(:id,'invoice-state').options[2].select
262
+ container.text_field(:id,'invoice-city').set("Rosario")
263
+ container.text_field(:id,'invoice-street').set("corrientes")
264
+ if $SITE.upcase.match("MX")
265
+ container.text_field(:id,'invoice-other-state').set("Chiapas") if container.text_field(:id,'invoice-other-state').present?
266
+ container.text_field(:id,'invoice-postal-code').set("7111")
267
+ container.text_field(:id,'invoice-address-number').set("123")
268
+ container.text_field(:id,'invoice-address-floor').set("1")
269
+ container.text_field(:id,'invoice-address-deparment').set("1")
270
+ end
271
+ end
272
+ end
@@ -4,7 +4,8 @@ When /^Verifico que sean visibles los campos obligatorios$/ do
4
4
  index = 0
5
5
  @search.adt.times do |adulto|
6
6
  container.text_field(:id,"passenger-first-name-#{index}").should visible
7
- container.text_field(:id,"passenger-last-name-#{index}").should visible
7
+ container.text_field(:id,"passenger-last-name-#{index}").should visible
8
+ container.select_list(:id,"nationality-#{index}").select_value($SITE) if container.select_list(:id,"nationality-#{index}").present?
8
9
  index += 1
9
10
  end
10
11
  @search.cnn.times do |adulto|
@@ -13,6 +14,7 @@ When /^Verifico que sean visibles los campos obligatorios$/ do
13
14
  container.select_list(:id,"passenger-birthday-day-#{index}").should visible
14
15
  container.select_list(:id,"passenger-birthday-month-#{index}").should visible
15
16
  container.select_list(:id,"passenger-birthday-year-#{index}").should visible
17
+ container.select_list(:id,"nationality-#{index}").select_value($SITE) if container.select_list(:id,"nationality-#{index}").present?
16
18
  index += 1
17
19
  end
18
20
  @search.inf.times do |adulto|
@@ -21,6 +23,7 @@ When /^Verifico que sean visibles los campos obligatorios$/ do
21
23
  container.select_list(:id,"passenger-birthday-day-#{index}").should visible
22
24
  container.select_list(:id,"passenger-birthday-month-#{index}").should visible
23
25
  container.select_list(:id,"passenger-birthday-year-#{index}").should visible
26
+ container.select_list(:id,"nationality-#{index}").select_value($SITE) if container.select_list(:id,"nationality-#{index}").present?
24
27
  index += 1
25
28
  end
26
29
  container = BROWSER.fieldset(:id,'payment')
@@ -187,30 +190,49 @@ end
187
190
 
188
191
  When /^Verifico que se muestren los campos de factura$/ do
189
192
  container = BROWSER.fieldset(:id,'invoice')
190
- container.div(:id,'invoiceDefinition.selected.value').should visible
191
- container.div(:id,'invoiceDefinition.invoiceDataDefinition').should_not visible
192
- container.checkbox(:id,'invoice-check').should visible
193
- container.checkbox(:id,'invoice-check').set(true)
194
- container.text_field(:id,'invoice-fiscal-id').should visible
195
- container.text_field(:id,'invoice-card-holder-name').should visible
196
- container.select_list(:id,'invoice-country').should visible
197
- container.select_list(:id,'invoice-state').should visible
198
- container.text_field(:id,'invoice-city').should visible
199
- container.text_field(:id,'invoice-street').should visible
200
- if $SITE.match("MX")
201
- container.text_field(:id,'invoice-email').should visible
202
- container.text_field(:id,'invoice-postal-code').should visible
203
- container.text_field(:id,'invoice-address-number').should visible
204
- container.text_field(:id,'invoice-address-floor').should visible
205
- container.text_field(:id,'invoice-address-deparment').should visible
206
- container.link(:class,'search-postal-code').should visible
207
- end
193
+ if $SITE.match("AR")
194
+ option = ["FINAL","INSCR","EXENT","MONOTRIBUTO"][rand(3)]
195
+ puts option
196
+ container.select_list(:id,'invoice-fiscal-status').select_value(option)
197
+ BROWSER.fieldset(:id,'invoice').should visible("formulario de factura")
198
+ container.select_list(:id,'invoice-fiscal-status').should visible
199
+ container.text_field(:id,'invoice-fiscal-id').should visible
200
+ if option!="FINAL"
201
+ sleep(60)
202
+ container.select_list(:id,'invoice-state').should visible
203
+ container.text_field(:id,'invoice-city-custom').should visible
204
+ container.text_field(:id,'invoice-street').should visible
205
+ container.text_field(:id,'invoice-postal-code').should visible
206
+ container.text_field(:id,'invoice-address-number').should visible
207
+ container.text_field(:id,'invoice-address-floor').should visible
208
+ container.text_field(:id,'invoice-address-deparment').should visible
209
+ end
210
+ else
211
+ container.div(:id,'invoiceDefinition.selected.value').should visible
212
+ container.div(:id,'invoiceDefinition.invoiceDataDefinition').should_not visible
213
+ container.checkbox(:id,'invoice-check').should visible
214
+ container.checkbox(:id,'invoice-check').set(true)
215
+ container.text_field(:id,'invoice-fiscal-id').should visible
216
+ container.text_field(:id,'invoice-card-holder-name').should visible
217
+ container.select_list(:id,'invoice-country').should visible
218
+ container.select_list(:id,'invoice-state').should visible
219
+ container.text_field(:id,'invoice-city-custom').should visible
220
+ container.text_field(:id,'invoice-street').should visible
221
+ if $SITE.match("MX")
222
+ container.text_field(:id,'invoice-email').should_not visible
223
+ container.text_field(:id,'invoice-postal-code').should visible
224
+ container.text_field(:id,'invoice-address-number').should visible
225
+ container.text_field(:id,'invoice-address-floor').should visible
226
+ container.text_field(:id,'invoice-address-deparment').should visible
227
+ container.link(:class,'search-postal-code').should visible
228
+ end
229
+ end
208
230
  end
209
231
 
210
232
  When /^Verifico texto de error de campos de factura vacio$/ do
211
233
  container = BROWSER.fieldset(:id,'invoice')
212
234
  BROWSER.link(:id,'submit').click
213
- container.span(:id,'invoice-fiscal-id-missing_field').text.no_accents.should match("Por favor, ingrese el RFC de la razon social informada|Por favor, ingrese un numero de RUC")
235
+ container.span(:id,'invoice-fiscal-id-missing_field').text.no_accents.should match("Por favor, ingrese el RFC de la razon social informada|Por favor, ingrese un numero de RUC|Por favor, ingrese el CUI")
214
236
  if $SITE.match("MX")
215
237
  container.span(:id,'invoice-card-holder-name-missing_field').text.no_accents.should match("Por favor, ingrese el nombre o razon social")
216
238
  container.span(:id,'invoice-email-missing_field').text.no_accents.should match("Por favor, ingrese el e-mail donde desea recibir la factura fiscal")
@@ -191,7 +191,7 @@ And /^Realizo la compra$/ do
191
191
  begin
192
192
  BROWSER.execute_script("javascript:void($('#submit').click());")
193
193
  rescue Selenium::WebDriver::Error::UnknownError
194
- BROWSER.a(:id=>'submit').click
194
+ BROWSER.a(:id=>'submit').click
195
195
  rescue Watir::Wait::TimeoutError, Timeout::Error
196
196
  stop_browser(BROWSER)
197
197
  end
@@ -297,26 +297,4 @@ Then /^lleno los datos de tarjeta adicionales$/ do
297
297
  container.text_field(:id,"invoice-street").set("Calle") if container.text_field(:id,"invoice-street").present?
298
298
  container.text_field(:id,"invoice-address-number").set("470") if container.text_field(:id,"invoice-address-number").present?
299
299
  BROWSER.link(:id,'submit').click if BROWSER.link(:id,'submit').present?
300
- end
301
-
302
- When /^pide factura fiscal$/ do
303
- BROWSER.checkbox(:id,'invoice-check').should visible
304
- end
305
-
306
- And /^Completo los campos de factura fiscal$/ do
307
- container = BROWSER.fieldset(:id,'invoice')
308
- container.checkbox(:id,'invoice-check').set(true)
309
- container.text_field(:id,'invoice-fiscal-id').set("3334445556")
310
- container.text_field(:id,'invoice-card-holder-name').set("diego qa romero")
311
- container.select_list(:id,'invoice-state').options[2].select
312
- container.text_field(:id,'invoice-city').set("Rosario")
313
- container.text_field(:id,'invoice-street').set("corrientes")
314
- if $SITE.upcase.match("MX")
315
- container.text_field(:id,'invoice-email').set("bookingvuelos@despegar.com")
316
- container.text_field(:id,'invoice-other-state').set("Chiapas") if container.text_field(:id,'invoice-other-state').present?
317
- container.text_field(:id,'invoice-postal-code').set("7111")
318
- container.text_field(:id,'invoice-address-number').set("123")
319
- container.text_field(:id,'invoice-address-floor').set("1")
320
- container.text_field(:id,'invoice-address-deparment').set("1")
321
- end
322
- end
300
+ end
@@ -10,7 +10,7 @@ class DetailsCluster
10
10
  tramo['bussines'] = nil
11
11
  tramo['clase'] = (div/"div.segment span.class").first.inner_text.strip.no_accents
12
12
  else
13
- tramo['bussines'] = ((div/"div.segment span.not-economy-segments span.not-economy-segments-description").first.inner_text.strip.no_accents == "Business")
13
+ tramo['bussines'] = true #((div/"div.segment span.not-economy-segments span.not-economy-segments-description").first.inner_text.strip.no_accents == "Business")
14
14
  tramo['clase'] = (div/"div.segment span.not-economy-segments span.not-economy-segments-description").first.inner_text.strip.no_accents
15
15
  end
16
16
  tramo['ciudad_origen'] = (div/"li.departure span.location span.data").first.inner_text.strip.no_accents
@@ -13,6 +13,7 @@ Característica: checkout.button_cac
13
13
  Entonces Completo el formulario de pasajeros
14
14
  Y Completo los datos para reservas CAC
15
15
  Y Completo los datos de contacto
16
+ Y Si pide factura fiscal, Completo los campos de factura fiscal
16
17
  Y Realizo la compra
17
18
  Entonces Verifico que dirija a la pagina de gracias
18
19
  Entonces Si el checkout me pide mas datos de tarjeta, lleno los datos de tarjeta adicionales
@@ -5,17 +5,17 @@ Característica: landing.sort
5
5
 
6
6
  @sort
7
7
  Esquema del escenario: Ingresar a resultados, filtro por un precio, verificar que se muestre correctamente y sea el fare que se debe aplicar
8
- Cuando Ingreso a la home de landing de "<pais>"
9
- Entonces Verifico que la pagina no rompa
10
- Cuando Espero que termine de cargar la home de landing
11
- Cuando Elijo un link para pasar a los resultados de landing
12
- Cuando Ingreso a resultados de landing
8
+ Cuando Genero resultados de landing en "<pais>"
13
9
  Entonces Verifico que la pagina no rompa
14
10
  Entonces Verifico que traiga resultados de landings
15
11
  Cuando Elijo el tipo de vuelo "<tipo>"
16
12
  Entonces Verifico que la pagina no rompa
17
13
  Entonces Verifico que traiga resultados de landings
18
14
  Y Valido el sorting de landing en "<pais>"
15
+ Y Filtro por un itinerario en la matriz en "<pais>"
16
+ Cuando Espero que termine de cargar
17
+ Entonces Valido la base tarifaria en "<pais>"
18
+ Y Valido el breakdown en "<pais>"
19
19
 
20
20
  @ar
21
21
  @roundtrip
@@ -15,7 +15,7 @@
15
15
 
16
16
  gem.require_paths = ["lib"] #Usualmente es solo lib -> ["lib"]
17
17
 
18
- gem.version = '2.1.3' #La version se debe incrementar cada vez que se desea publicar una nueva version del test.
18
+ gem.version = '2.1.4' #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('watir-webdriver')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flights_gui_henry_tests
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3
4
+ version: 2.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - lgonzalez,lsimean
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-06 00:00:00.000000000 Z
11
+ date: 2014-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: henry-container