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.
- checksums.yaml +4 -4
- data/features/step_definitions/checkout/checkout_steps.rb +39 -2
- data/features/step_definitions/checkout/verifications_steps.rb +6 -6
- data/features/step_definitions/page_steps.rb +1 -1
- data/features/step_definitions/results/filters_steps.rb +12 -17
- data/features/step_definitions/results/load_steps.rb +1 -1
- data/features/step_definitions/results/matrix_steps.rb +7 -3
- data/features/step_definitions/results/new_filters_steps.rb +331 -0
- data/features/step_definitions/thanks/thanks_steps.rb +15 -3
- data/features/support/classes/duracion.rb +43 -0
- data/features/support/env.rb +2 -0
- data/features/support/hooks.rb +1 -1
- data/features/support/modules/checkout/datos_de_facturacion.rb +18 -1
- data/features/support/modules/results/matrix/matrix_fare_chart.rb +1 -1
- data/features/support/modules/results/matrix/matrix_price.rb +1 -0
- data/features/support/modules/results/new_filters.rb +145 -0
- data/features/support/pages/all_pages.rb +4 -4
- data/features/support/pages/results/search_page.rb +1 -0
- data/features/support/pages/thanks/thanks_page.rb +3 -0
- data/features/tests/checkout/agency.feature +1 -0
- data/features/tests/checkout/book_ok.feature +2 -1
- data/features/tests/checkout/cac.feature +2 -1
- data/features/tests/checkout/cash_payment.feature +3 -2
- data/features/tests/checkout/compras_duplicadas.feature +2 -1
- data/features/tests/checkout/cupones.feature +2 -1
- data/features/tests/checkout/error_messages.feature +3 -3
- data/features/tests/checkout/fast_checkout.feature +2 -1
- data/features/tests/checkout/low_cost.feature +2 -1
- data/features/tests/checkout/online_payment.feature +3 -2
- data/features/tests/checkout/price_jump.feature +3 -2
- data/features/tests/checkout/providers.feature +2 -1
- data/features/tests/checkout/seguros.feature +2 -1
- data/features/tests/results/matrix/matrix_price.feature +2 -2
- data/features/tests/results/new_filters.feature +104 -0
- data/flights_gui_tests.gemspec +1 -1
- data/henry-context.yml +44 -0
- 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
|
-
|
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
|
-
|
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
|
data/features/support/env.rb
CHANGED
@@ -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'
|
data/features/support/hooks.rb
CHANGED
@@ -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.
|
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
|
-
|
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
|
|
@@ -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
|