flights_gui_tests 0.0.30 → 0.0.31

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/features/step_definitions/checkout/checkout_steps.rb +39 -2
  3. data/features/step_definitions/checkout/verifications_steps.rb +6 -6
  4. data/features/step_definitions/page_steps.rb +1 -1
  5. data/features/step_definitions/results/filters_steps.rb +12 -17
  6. data/features/step_definitions/results/load_steps.rb +1 -1
  7. data/features/step_definitions/results/matrix_steps.rb +7 -3
  8. data/features/step_definitions/results/new_filters_steps.rb +331 -0
  9. data/features/step_definitions/thanks/thanks_steps.rb +15 -3
  10. data/features/support/classes/duracion.rb +43 -0
  11. data/features/support/env.rb +2 -0
  12. data/features/support/hooks.rb +1 -1
  13. data/features/support/modules/checkout/datos_de_facturacion.rb +18 -1
  14. data/features/support/modules/results/matrix/matrix_fare_chart.rb +1 -1
  15. data/features/support/modules/results/matrix/matrix_price.rb +1 -0
  16. data/features/support/modules/results/new_filters.rb +145 -0
  17. data/features/support/pages/all_pages.rb +4 -4
  18. data/features/support/pages/results/search_page.rb +1 -0
  19. data/features/support/pages/thanks/thanks_page.rb +3 -0
  20. data/features/tests/checkout/agency.feature +1 -0
  21. data/features/tests/checkout/book_ok.feature +2 -1
  22. data/features/tests/checkout/cac.feature +2 -1
  23. data/features/tests/checkout/cash_payment.feature +3 -2
  24. data/features/tests/checkout/compras_duplicadas.feature +2 -1
  25. data/features/tests/checkout/cupones.feature +2 -1
  26. data/features/tests/checkout/error_messages.feature +3 -3
  27. data/features/tests/checkout/fast_checkout.feature +2 -1
  28. data/features/tests/checkout/low_cost.feature +2 -1
  29. data/features/tests/checkout/online_payment.feature +3 -2
  30. data/features/tests/checkout/price_jump.feature +3 -2
  31. data/features/tests/checkout/providers.feature +2 -1
  32. data/features/tests/checkout/seguros.feature +2 -1
  33. data/features/tests/results/matrix/matrix_price.feature +2 -2
  34. data/features/tests/results/new_filters.feature +104 -0
  35. data/flights_gui_tests.gemspec +1 -1
  36. data/henry-context.yml +44 -0
  37. metadata +6 -2
@@ -32,13 +32,25 @@ Entonces(/^verifico los datos del vuelo comprado$/) do
32
32
  @monto_total=(itinerario_gracias/"span#total-price span.amount").inner_text.gsub(/\.|\,/,'').to_i
33
33
  @page.links_mas_detalles_gracias_elements.each do |a|
34
34
  a.click
35
- Watir::Wait.until(timeout=20){@page.popup_desglose_detalles_gracias_element.present?}
35
+ @page.popup_desglose_detalles_gracias_element.when_visible(timeout=20)
36
36
  doc = Hpricot.parse(@page.popup_desglose_detalles_gracias_element.html)
37
37
  detail = DetailsCluster.new(doc)
38
38
  @page.cerrar_popup_desglose_detalles_gracias_element.click
39
- Watir::Wait.until(timeout=20){!@page.popup_desglose_detalles_gracias_element.present?}
39
+ @page.popup_desglose_detalles_gracias_element.when_not_visible(visible=20)
40
40
  sleep(1)
41
41
  end
42
42
  @itinerario_gracias = @page.datos_itinerario
43
43
  @page.cerrar_popup_desglose_gracias_element.click
44
- end
44
+ end
45
+
46
+ Entonces(/^verifico el popup de asistencia al viajero$/) do
47
+ begin
48
+ @page.popup_asistencia_al_viajero_element.when_visible(timeout=3)
49
+ if @page.popup_asistencia_al_viajero_element.present?
50
+ @page.cerrar_popup_asistencia_al_viajero_element.click
51
+ @page.overlay_asistencia_al_viajero_element.when_not_visible(timeout=20)
52
+ end
53
+ rescue Watir::Wait::TimeoutError
54
+ @page.overlay_asistencia_al_viajero_element.should_not visible
55
+ end
56
+ end
@@ -0,0 +1,43 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class Duracion
3
+
4
+ attr_reader :horas,:minutos
5
+
6
+ def initialize(horas,minutos)
7
+ @horas = horas.to_i
8
+ @minutos = minutos.to_i
9
+ end
10
+
11
+ def <=>(other)
12
+ (self.horas==other.horas) ? (self.minutos <=> other.minutos) : (self.hours <=> other.hours)
13
+ end
14
+
15
+ def <(other)
16
+ (self.horas==other.horas) ? (self.minutos<other.minutos) : (self.horas<other.horas)
17
+ end
18
+
19
+ def >(other)
20
+ (self.horas==other.horas) ? (self.minutos>other.minutos) : (self.horas>other.horas)
21
+ end
22
+
23
+ def >=(other)
24
+ (self==other) or (self>other)
25
+ end
26
+
27
+ def <=(other)
28
+ (self==other) or (self<other)
29
+ end
30
+
31
+ def ==(other)
32
+ ((self.horas==other.horas)and(self.minutos==other.minutos))
33
+ end
34
+
35
+ def to_i
36
+ self
37
+ end
38
+
39
+ def minutos_totales
40
+ ((60*@horas)+(@minutos))
41
+ end
42
+
43
+ end
@@ -19,6 +19,7 @@ $VERBOSE = nil
19
19
  require_relative 'classes/date'
20
20
  require_relative 'classes/string'
21
21
  require_relative 'classes/price'
22
+ require_relative 'classes/duracion'
22
23
  require_relative 'classes/element'
23
24
  require_relative 'classes/process_manager'
24
25
 
@@ -35,6 +36,7 @@ require_relative 'pages/all_pages'
35
36
 
36
37
  require_relative 'modules/results/search_params'
37
38
  require_relative 'modules/results/filters'
39
+ require_relative 'modules/results/new_filters'
38
40
  require_relative 'modules/results/wish_list'
39
41
  require_relative 'modules/results/recommendation'
40
42
  require_relative 'modules/results/matrix/matrix_airline'
@@ -9,7 +9,7 @@ After do |scenario|
9
9
  FileUtils.mkdir_p(Henry::Environment.output_path+"/reports/html/screenshots/")
10
10
  name = "FAILED_#{scenario.name.gsub(' ','').gsub(/[^0-9A-Za-z]/, '')}.png"
11
11
  screenshot = "#{Henry::Environment.output_path}/reports/html/screenshots/#{name}"
12
- $browser.driver.save_screenshot(screenshot)
12
+ $browser.screenshot.save(screenshot)
13
13
  embed "./screenshots/#{name}", 'image/png'
14
14
  end
15
15
  end
@@ -20,6 +20,8 @@ module Checkout
20
20
  text_field(:codigo_postal_facturacion,:id=>"invoice-postal-code")
21
21
  text_field(:otro_estado_facturacion,:id=>"invoice-other-state")
22
22
  text_field(:mail_facturacion,:id=>"invoice-mail")
23
+ text_field(:barrio_facturacion,:id=>"invoice-neighbourhood")
24
+ text_field(:municipal_facturacion,:id=>"invoice-townRegistration")
23
25
 
24
26
  checkbox(:invoice_check,:id=>"invoice-check")
25
27
 
@@ -39,7 +41,22 @@ module Checkout
39
41
  numero_facturacion_element.set("123")
40
42
  piso_facturacion_element.set("1")
41
43
  departamento_facturacion_element.set("1")
42
- else
44
+ elsif AllPages.site=="BR"
45
+ # option = ["CPF","CNPJ"][rand(2)]
46
+ # situacion_fiscal_element.select_value(option)
47
+ # #lleno los campos requeridos
48
+ # option=="CPF" ? cuil_element.set("22233366638") : cuil_element.set("54651716001150")
49
+ # nombre_facturacion_element.set("diego qa romero") if nombre_facturacion_element.present?
50
+ # provincia_facturacion_element.select_value("AC")
51
+ # municipal_facturacion_element.set("municipal") if municipal_facturacion_element.present?
52
+ # set_autocomplete("ciudad_facturacion_custom","rio ")
53
+ # calle_facturacion_element.set("corrientes")
54
+ # barrio_facturacion_element.set("san jose")
55
+ # codigo_postal_facturacion_element.set("7111")
56
+ # numero_facturacion_element.set("123")
57
+ # piso_facturacion_element.set("1")
58
+ # departamento_facturacion_element.set("1")
59
+ else
43
60
  check_invoice_check if invoice_check?
44
61
  cuil_element.set("3334445556") if cuil_element.present?
45
62
  nombre_facturacion_element.set("diego qa romero") if nombre_facturacion_element.present?
@@ -5,7 +5,7 @@ module Results
5
5
 
6
6
  include PageObject
7
7
 
8
- div(:tab_matriz_tendencia_precio,:class=>'flights-tab-header flights-tab-fareChart')
8
+ div(:tab_matriz_tendencia_precio,:class=>'flights-tab-header flights-title-tooltip flights-tab-fareChart')
9
9
  div(:matriz_fare_chart,:id=>'fare-chart')
10
10
  div(:fare_chart_principal,:class=>"fare-chart-main")
11
11
  div(:fare_chart_secundario,:class=>"fare-chart-secondary")
@@ -6,6 +6,7 @@ module Results
6
6
  include PageObject
7
7
 
8
8
  div(:tab_matriz_precio,:class=>'flights-tab-header flights-tab-priceSuggestionMatrix ')
9
+ div(:tab_matriz_precio_sin_popup,:class=>'flights-tab-header flights-title-tooltip flights-tab-priceSuggestionMatrix')
9
10
  div(:matriz_precio,:id=>"price-suggestion-matrix")
10
11
  div(:alerta_matriz_precio,:id=>'ux-common-message ux-common-message-success price-suggestion-matrix-alert')
11
12
  div(:popup_matriz_precio,:class=>"ux-common-overlay ux-common-overlay-top-center ux-common-overlay-popover popup-price-suggestion-matrix-alert")
@@ -0,0 +1,145 @@
1
+ # encoding: utf-8
2
+ module Results
3
+
4
+ module NewFilters
5
+
6
+ include PageObject
7
+
8
+ div(:filtros_nuevos,:id=>"inline-filters")
9
+ div(:popup_mas_filtros,:id=>"inline-filters-item-more-tooltip")
10
+
11
+ div(:filtros_precio,:id=>"inline-filters-detail-price")
12
+ div(:filtros_escalas,:id=>"inline-filters-detail-scales")
13
+ div(:filtros_horarios,:id=>"inline-filters-detail-time")
14
+ div(:filtros_aeropuerto,:id=>"inline-filters-detail-airports")
15
+ div(:filtros_duracion,:id=>"inline-filters-detail-duration")
16
+ div(:filtros_alianzas,:id=>"inline-filters-detail-alliances")
17
+ div(:filtros_aerolineas,:id=>"inline-filters-detail-airlines")
18
+
19
+ div(:filtros_aplicados,:class=>"inline-filters-applied")
20
+
21
+ span(:filtro_precio_visible,:css=>"div#inline-filters li.inline-filters-item-price span.inline-filters-item-content")
22
+ span(:filtro_aerolineas_visible,:css=>"div#inline-filters li.inline-filters-item-airlines span.inline-filters-item-content")
23
+ span(:filtro_horarios_visible,:css=>"div#inline-filters li.inline-filters-item-time span.inline-filters-item-content")
24
+ span(:filtro_aeropuertos_visible,:css=>"div#inline-filters li.inline-filters-item-airports span.inline-filters-item-content")
25
+ span(:filtro_duracion_visible,:css=>"div#inline-filters li.inline-filters-item-duration span.inline-filters-item-content")
26
+ span(:filtro_escalas_visible,:css=>"div#inline-filters li.inline-filters-item-scales span.inline-filters-item-content")
27
+ span(:filtro_alianzas_visible,:css=>"div#inline-filters li.inline-filters-item-alliances span.inline-filters-item-content")
28
+
29
+ span(:mas_filtros,:css=>"div#inline-filters li.inline-filters-item-more span.inline-filters-item-content")
30
+
31
+ span(:ver_filtro_precio_visible,:css=>"div#inline-filters-item-more-tooltip li.inline-filters-item-price span.inline-filters-item-content")
32
+ span(:ver_filtro_escalas_visible,:css=>"div#inline-filters-item-more-tooltip li.inline-filters-item-scales span.inline-filters-item-content")
33
+ span(:ver_filtro_horarios_visible,:css=>"div#inline-filters-item-more-tooltip li.inline-filters-item-time span.inline-filters-item-content")
34
+ span(:ver_filtro_aeropuertos_visible,:css=>"div#inline-filters-item-more-tooltip li.inline-filters-item-airports span.inline-filters-item-content")
35
+ span(:ver_filtro_duracion_visible,:css=>"div#inline-filters-item-more-tooltip li.inline-filters-item-duration span.inline-filters-item-content")
36
+ span(:ver_filtro_aerolineas_visible,:css=>"div#inline-filters-item-more-tooltip li.inline-filters-item-airlines span.inline-filters-item-content")
37
+ span(:ver_filtro_alianzas_visible,:css=>"div#inline-filters-item-more-tooltip li.inline-filters-item-alliances span.inline-filters-item-content")
38
+
39
+ elements(:opciones_aeropuerto_origen,:input,:name=>"inline-filters-airport-outbound")
40
+ elements(:opciones_aeropuerto_destino,:input,:name=>"inline-filters-airport-inbound")
41
+ elements(:opciones_aerolineas,:input,:name=>"inline-filters-airlines")
42
+ elements(:opciones_escalas,:input,:name=>"inline-filters-stops")
43
+ elements(:opciones_alianzas,:input,:name=>"inline-filters-alliances")
44
+
45
+ link(:aplicar_filtros,:class=>"inline-filters-apply flights-button")
46
+
47
+ span(:remover_filtro_de_horario_de_ida,:id=>"inline-filters-time-outbound-slider-applied")
48
+ span(:remover_filtro_de_horario_de_vuelta,:id=>"inline-filters-time-inbound-slider-applied")
49
+ span(:remover_filtro_de_precio,:id=>"inline-filters-price-slider-applied")
50
+
51
+ span(:remover_filtro_de_duracion_de_ida,:id=>"inline-filters-duration-outbound-slider-applied")
52
+ span(:remover_filtro_de_duracion_de_vuelta,:id=>"inline-filters-duration-inbound-slider-applied")
53
+
54
+ text_field(:nuevo_filtro_precio_menor,:css=>"div#inline-filters-detail-price span.ux-common-filter-price-min input.price-min")
55
+ text_field(:nuevo_filtro_precio_mayor,:css=>"div#inline-filters-detail-price span.ux-common-filter-price-max input.price-max")
56
+
57
+ div(:nuevo_filtro_duracion_salida,:css=>"div#inline-filters-detail-duration div#inline-filters-duration-outbound-slider")
58
+ div(:nuevo_filtro_duracion_llegada,:css=>"div#inline-filters-detail-duration div#inline-filters-duration-inbound-slider")
59
+
60
+ link(:slider_nuevo_precio_mayor,:css=>"div#inline-filters-detail-price .ui-slider-handle-max")
61
+ link(:slider_nuevo_precio_menor,:css=>"div#inline-filters-detail-price .ui-slider-handle-min")
62
+
63
+ link(:slider_nuevo_filtro_duracion_salida,:css=>"div#inline-filters-detail-duration div#inline-filters-duration-outbound-slider .ui-slider-handle-min")
64
+ link(:slider_nuevo_filtro_duracion_llegada,:css=>"div#inline-filters-detail-duration div#inline-filters-duration-inbound-slider .ui-slider-handle-min")
65
+
66
+ def se_muestra_filtro_de_alianzas(alianza)
67
+ return browser.span(:id,"inline-filters-alliances-#{alianza}-applied")
68
+ end
69
+
70
+ def remover_filtro_de_alianzas(alianza)
71
+ return browser.span(:id,"inline-filters-alliances-#{alianza}-applied").span(:class,"inline-filters-applied-description-remove")
72
+ end
73
+
74
+ def se_muestra_filtro_de_aerolinea(aerolinea)
75
+ return browser.span(:id,"inline-filters-airlines-#{aerolinea}-applied")
76
+ end
77
+
78
+ def remover_filtro_de_aerolinea(aerolinea)
79
+ return browser.span(:id,"inline-filters-airlines-#{aerolinea}-applied").span(:class,"inline-filters-applied-description-remove")
80
+ end
81
+
82
+ def se_muestra_filtro_de_aeropuerto_origen(aeropuerto)
83
+ return browser.span(:id,"inline-filters-airport-outbound-#{aeropuerto}-applied")
84
+ end
85
+
86
+ def remover_filtro_de_aeropuerto_origen(aeropuerto)
87
+ return browser.span(:id,"inline-filters-airport-outbound-#{aeropuerto}-applied").span(:class,"inline-filters-applied-description-remove")
88
+ end
89
+
90
+ def se_muestra_filtro_de_aeropuerto_destino(aeropuerto)
91
+ return browser.span(:id,"inline-filters-airport-inbound-#{aeropuerto}-applied")
92
+ end
93
+
94
+ def remover_filtro_de_aeropuerto_destino(aeropuerto)
95
+ return browser.span(:id,"inline-filters-airport-inbound-#{aeropuerto}-applied").span(:class,"inline-filters-applied-description-remove")
96
+ end
97
+
98
+ def se_muestra_filtro_de_escalas(escalas)
99
+ return browser.span(:id,"inline-filters-stops-#{escalas}-applied")
100
+ end
101
+
102
+ def remover_filtro_de_escalas(escalas)
103
+ return browser.span(:id,"inline-filters-stops-#{escalas}-applied").span(:class,"inline-filters-applied-description-remove")
104
+ end
105
+
106
+ def ver_filtro(filtro)
107
+ mas_filtros_element.click
108
+ popup_mas_filtros_element.when_visible
109
+ filtro.click
110
+ popup_mas_filtros_element.when_not_visible
111
+ end
112
+
113
+ def cantidad_de_escalas(value)
114
+ case value
115
+ when "NONE" then 0
116
+ when "ONE" then 1
117
+ when "MORE_THAN_ONE" then 2
118
+ end
119
+ end
120
+
121
+ def valor_minimo(filtro)
122
+ return filtro.span(:class,'flights-slider-min').span(:class,'flights-slider-value')
123
+ end
124
+
125
+ def valor_maximo(filtro)
126
+ return filtro.span(:class,'flights-slider-max').span(:class,'flights-slider-value')
127
+ end
128
+
129
+ def devolver_duracion(duracion)
130
+ time = duracion.strip.split(' ')
131
+ if time.length==1
132
+ aux = time.first
133
+ if(aux.match(/h/))
134
+ _duracion=Duracion.new(aux.gsub(/\D/,'').to_i,"00")
135
+ else
136
+ _duracion=Duracion.new("00",aux.gsub(/\D/,'').to_i)
137
+ end
138
+ else
139
+ _duracion = Duracion.new(time[0].gsub(/\D/,'').to_i,time[1].gsub(/\D/,'').to_i)
140
+ end
141
+ return _duracion
142
+ end
143
+
144
+ end
145
+ end
@@ -49,14 +49,14 @@ class AllPages
49
49
 
50
50
  def elegir_idioma()
51
51
  if @@site=="US"
52
- if @browser.li(:class,'nibbler-common-header-language nibbler-user').image(:src,/es.png/).present?
53
- @browser.li(:class,'nibbler-common-header-language nibbler-user').links[0].click
54
- @browser.execute_script("javascript:void($(\".popup-languages a\").click());")
55
- end
56
52
  if @browser.li(:class,'nibbler-common-header-language').image(:src,/es.png/).present?
57
53
  @browser.li(:class,'nibbler-common-header-language').links[0].click
58
54
  @browser.execute_script("javascript:void($(\".nibbler-common-header-language-popup img\").click());")
59
55
  end
56
+ if @browser.li(:class,'nibbler-common-header-language').image(:src,/es.png/).present?
57
+ @browser.li(:class,'nibbler-common-header-language').links[0].click
58
+ @browser.execute_script("javascript:void($(\".nibbler-common-header-popup-language img\").click());")
59
+ end
60
60
  end
61
61
  end
62
62
 
@@ -14,6 +14,7 @@ module Results
14
14
  include Results::Itineraries::Data
15
15
  include Results::SearchParams
16
16
  include Results::Filters
17
+ include Results::NewFilters
17
18
  include Results::Recommendation
18
19
  include Results::WishList
19
20
 
@@ -10,6 +10,9 @@ module Thanks
10
10
  element(:checkout_id_cash,:span,:class=>"checkout-id")
11
11
 
12
12
  div(:popup_desglose_gracias,:id=>"popup-booking-details")
13
+ div(:popup_asistencia_al_viajero,:id=>"insurance-recommendation-popup")
14
+ div(:overlay_asistencia_al_viajero,:id=>"insurance-recommendation-popup-overlay")
15
+ div(:cerrar_popup_asistencia_al_viajero,:css=>"#insurance-recommendation-popup .flights-message-close")
13
16
  div(:popup_desglose_detalles_gracias,:class=>"flights-popup popup-detail")
14
17
  div(:link_mi_despegar,:class=>"ux-shared-checkout-thanks-ticket-cont")
15
18
  div(:mensaje_alerta,:class=>"ux-common-message ux-common-message-warning ")
@@ -20,6 +20,7 @@ Característica: checkout.agency
20
20
  Entonces si aparece el popup de no disponibilidad, elijo un itinerario del popup de no disponibilidad
21
21
  Entonces espero que termine de cargar la pagina de gracias
22
22
  Y verifico que ingrese a la pagina de gracias
23
+ Y verifico el popup de asistencia al viajero
23
24
  Y verifico los datos del vuelo comprado
24
25
  Y verifico los valores del desglose en gracias contra los del checkout
25
26
 
@@ -21,7 +21,7 @@ Característica: checkout.book_ok
21
21
  Y verifico que se muestren la caja de clientes felices
22
22
  Entonces cargo los pasajeros
23
23
  Y cargo los datos de la tarjeta
24
- Y si el site es "AR|MX|PE", cargo los datos de facturacion
24
+ Y si el site es "AR|MX|PE|BR", cargo los datos de facturacion
25
25
  Y cargo los datos de contacto
26
26
  Y verifico que los datos cargados sean mostrados correctamente al lado del boton comprar
27
27
  Cuando acepto y compro
@@ -31,6 +31,7 @@ Característica: checkout.book_ok
31
31
  Entonces espero que termine de cargar la pagina de gracias
32
32
  Y verifico que ingrese a la pagina de gracias
33
33
  Y verifico el link de mi despegar
34
+ Y verifico el popup de asistencia al viajero
34
35
  Y verifico los datos del vuelo comprado
35
36
  Y verifico los valores del desglose en gracias contra los del checkout
36
37
  Y verifico el tag de datalayer
@@ -15,7 +15,7 @@ Característica: checkout.cac
15
15
  Y verifico que la pagina no rompa
16
16
  Entonces cargo los pasajeros
17
17
  Y completo los datos para reservas CAC
18
- Y si el site es "AR|MX|PE", cargo los datos de facturacion
18
+ Y si el site es "AR|MX|PE|BR", cargo los datos de facturacion
19
19
  Y cargo los datos de contacto
20
20
  Cuando acepto y compro
21
21
  Entonces espero que termine el pedido de compra
@@ -23,6 +23,7 @@ Característica: checkout.cac
23
23
  Entonces si aparece el popup de no disponibilidad, elijo un itinerario para reserva CAC del popup de no disponibilidad
24
24
  Entonces espero que termine de cargar la pagina de gracias
25
25
  Y verifico que ingrese a la pagina de gracias
26
+ Y verifico el popup de asistencia al viajero
26
27
 
27
28
  @ar
28
29
  @roundtrip
@@ -21,7 +21,7 @@ Característica: checkout.cash_payment
21
21
  Entonces cargo los pasajeros
22
22
  Y completo el formulario de deposito
23
23
  Y cargo los datos de contacto
24
- Y si el site es "AR|MX|PE", cargo los datos de facturacion
24
+ Y si el site es "AR|MX|PE|BR", cargo los datos de facturacion
25
25
  Cuando acepto y compro
26
26
  Cuando aparece el popup de confirmacion de pago
27
27
  Entonces elijo la opcion otro metodo
@@ -31,9 +31,10 @@ Característica: checkout.cash_payment
31
31
  Entonces elijo la opcion confirmar pago
32
32
  Entonces espero que termine el pedido de compra
33
33
  Y verifico si no trae errores
34
- Entonces si aparece el popup de no disponibilidad, elijo un itinerario del popup de no disponibilidad
34
+ Entonces si aparece el popup de no disponibilidad, elijo un itinerario para pago por deposito del popup de no disponibilidad
35
35
  Entonces espero que termine de cargar la pagina de gracias
36
36
  Y verifico que ingrese a la pagina de gracias para pago cash
37
+ Y verifico el popup de asistencia al viajero
37
38
  Y verifico los datos del vuelo comprado
38
39
  Y verifico los valores del desglose en gracias contra los del checkout
39
40
  Y verifico los pasos para hacer el deposito
@@ -15,7 +15,7 @@ Característica: checkout.compra_duplicada
15
15
  Y verifico que la pagina no rompa
16
16
  Entonces cargo los pasajeros
17
17
  Y cargo los datos de la tarjeta
18
- Y si el site es "AR|MX|PE", cargo los datos de facturacion
18
+ Y si el site es "AR|MX|PE|BR", cargo los datos de facturacion
19
19
  Y cargo los datos de contacto
20
20
  Cuando acepto y compro
21
21
  Entonces espero que termine el pedido de compra
@@ -23,6 +23,7 @@ Característica: checkout.compra_duplicada
23
23
  Entonces si aparece el popup de no disponibilidad, elijo un itinerario del popup de no disponibilidad
24
24
  Entonces espero que termine de cargar la pagina de gracias
25
25
  Y verifico que ingrese a la pagina de gracias
26
+ Y verifico el popup de asistencia al viajero
26
27
  Entonces vuelvo a la pagina de resultados original
27
28
  Cuando espero que termine de cargar la pagina de resultados
28
29
  Entonces verifico que traiga resultados
@@ -16,7 +16,7 @@ Característica: checkout.cupones
16
16
  Y valido los valores del desglose del checkout
17
17
  Entonces cargo los pasajeros
18
18
  Y cargo los datos de la tarjeta
19
- Y si el site es "AR|MX|PE", cargo los datos de facturacion
19
+ Y si el site es "AR|MX|PE|BR", cargo los datos de facturacion
20
20
  Y cargo los datos de contacto
21
21
  Y completo con un cupon de descuento con numero "XXXXXXXXXX"
22
22
  Y verifico el mensaje de cupon invalido
@@ -28,6 +28,7 @@ Característica: checkout.cupones
28
28
  Entonces si aparece el popup de no disponibilidad, elijo un itinerario del popup de no disponibilidad
29
29
  Entonces espero que termine de cargar la pagina de gracias
30
30
  Y verifico que ingrese a la pagina de gracias
31
+ Y verifico el popup de asistencia al viajero
31
32
 
32
33
  @ar
33
34
  Ejemplos:
@@ -14,9 +14,9 @@ Característica: checkout.error_messages
14
14
  Entonces verifico que ingrese al checkout
15
15
  Y verifico que la pagina no rompa
16
16
  Y verifico las nacionalidades de los pasajeros
17
- Y si el site es "AR|MX|PE", verifico que se muestren los campos de factura
18
- Y si el site es "AR|MX|PE", verifico texto de error de campos de factura vacio
19
- Y si el site es "AR|MX|PE", verifico texto de error de campos de factura con datos erroneos
17
+ Y si el site es "AR|MX|PE|BR", verifico que se muestren los campos de factura
18
+ Y si el site es "AR|MX|PE|BR", verifico texto de error de campos de factura vacio
19
+ Y si el site es "AR|MX|PE|BR", verifico texto de error de campos de factura con datos erroneos
20
20
  Y verifico que se desplieguen las alertas de campos vacios
21
21
  Y verifico intentos de compra con datos invalidos
22
22
  Y verifico que sean visibles los campos obligatorios