flights_gui_henry_tests 1.8.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +3 -0
  3. data/features/data/home-offers-config.csv +883 -0
  4. data/features/data/host.yml +72 -0
  5. data/features/data/miles.yml +216 -0
  6. data/features/data/search.yml +27 -0
  7. data/features/data/sites.yml +39 -0
  8. data/features/data/tag_microsoft.yml +68 -0
  9. data/features/step_definitions/checkout/agencia_steps.rb +6 -0
  10. data/features/step_definitions/checkout/chat_steps.rb +43 -0
  11. data/features/step_definitions/checkout/checkout_steps.rb +144 -0
  12. data/features/step_definitions/checkout/cupones_steps.rb +26 -0
  13. data/features/step_definitions/checkout/error_messages.rb +251 -0
  14. data/features/step_definitions/checkout/seguros_steps.rb +78 -0
  15. data/features/step_definitions/checkout/thanks_steps.rb +75 -0
  16. data/features/step_definitions/content/contents_steps.rb +140 -0
  17. data/features/step_definitions/desambiguation/disambiguation_airports_steps.rb +73 -0
  18. data/features/step_definitions/desambiguation/disambiguation_city_steps.rb +43 -0
  19. data/features/step_definitions/filter/filters_airlines.rb +38 -0
  20. data/features/step_definitions/filter/filters_airports_steps.rb +31 -0
  21. data/features/step_definitions/filter/filters_price_steps.rb +87 -0
  22. data/features/step_definitions/filter/filters_stops_steps.rb +44 -0
  23. data/features/step_definitions/filter/filters_time_steps.rb +143 -0
  24. data/features/step_definitions/filter/matrix_steps.rb +249 -0
  25. data/features/step_definitions/landing/landing_checkout_steps.rb +45 -0
  26. data/features/step_definitions/landing/landing_filters_steps.rb +17 -0
  27. data/features/step_definitions/landing/landing_home_alerts_steps.rb +21 -0
  28. data/features/step_definitions/landing/landing_home_steps.rb +82 -0
  29. data/features/step_definitions/landing/landing_long_tail.rb +58 -0
  30. data/features/step_definitions/landing/landing_negative_steps.rb +127 -0
  31. data/features/step_definitions/landing/landing_passenger_review_steps.rb +8 -0
  32. data/features/step_definitions/landing/landing_steps.rb +325 -0
  33. data/features/step_definitions/orders/orders.rb +67 -0
  34. data/features/step_definitions/others/advancedgui_steps.rb +28 -0
  35. data/features/step_definitions/others/advancednogui_steps.rb +34 -0
  36. data/features/step_definitions/others/anticipatedsearch_steps.rb +13 -0
  37. data/features/step_definitions/others/flights_tracker_steps.rb +73 -0
  38. data/features/step_definitions/others/generic_steps.rb +35 -0
  39. data/features/step_definitions/others/newsletter_steps.rb +50 -0
  40. data/features/step_definitions/others/one_day_search.rb +58 -0
  41. data/features/step_definitions/others/print_steps.rb +26 -0
  42. data/features/step_definitions/others/querystringparameters_steps.rb +6 -0
  43. data/features/step_definitions/others/recommendation_steps.rb +80 -0
  44. data/features/step_definitions/others/render_steps.rb +70 -0
  45. data/features/step_definitions/others/tag_steps.rb +157 -0
  46. data/features/step_definitions/others/upgrade_bussines_steps.rb +27 -0
  47. data/features/step_definitions/results/load_steps.rb +69 -0
  48. data/features/step_definitions/results/results_steps.rb +21 -0
  49. data/features/step_definitions/results/search_steps.rb +82 -0
  50. data/features/step_definitions/search/alerts_steps.rb +132 -0
  51. data/features/step_definitions/search/basefare_steps.rb +64 -0
  52. data/features/step_definitions/search/bestprices_steps.rb +70 -0
  53. data/features/step_definitions/search/cross_sell_row_hoteles.rb +78 -0
  54. data/features/step_definitions/search/cross_sell_steps.rb +15 -0
  55. data/features/step_definitions/search/delays_steps.rb +67 -0
  56. data/features/step_definitions/search/details_steps.rb +9 -0
  57. data/features/step_definitions/search/ecoflights_steps.rb +9 -0
  58. data/features/step_definitions/search/fenix_steps.rb +119 -0
  59. data/features/step_definitions/search/flight_gui_steps.rb +312 -0
  60. data/features/step_definitions/search/miles_step.rb +13 -0
  61. data/features/step_definitions/search/pagination_steps.rb +41 -0
  62. data/features/step_definitions/search/reviews_step.rb +56 -0
  63. data/features/step_definitions/search/search_no_gui_steps.rb +185 -0
  64. data/features/step_definitions/search/wish_list_steps.rb +123 -0
  65. data/features/support/env.rb +61 -0
  66. data/features/support/lib/clusters/data/datos_new.rb +33 -0
  67. data/features/support/lib/clusters/details/details_cluster.rb +30 -0
  68. data/features/support/lib/clusters/results/landing_cluster.rb +29 -0
  69. data/features/support/lib/clusters/results/render_cluster.rb +43 -0
  70. data/features/support/lib/clusters/results_cluster.rb +140 -0
  71. data/features/support/lib/clusters.rb +5 -0
  72. data/features/support/lib/helpers/browser.rb +212 -0
  73. data/features/support/lib/helpers/checkout.rb +31 -0
  74. data/features/support/lib/helpers/clusters.rb +234 -0
  75. data/features/support/lib/helpers/landing.rb +117 -0
  76. data/features/support/lib/helpers/render.rb +135 -0
  77. data/features/support/lib/helpers.rb +5 -0
  78. data/features/support/lib/price.rb +66 -0
  79. data/features/support/lib/services/fenix.rb +14 -0
  80. data/features/support/lib/services/landing.rb +18 -0
  81. data/features/support/lib/services/results.rb +62 -0
  82. data/features/support/lib/services.rb +4 -0
  83. data/features/support/matchers.rb +120 -0
  84. data/features/support/redefinitions.rb +42 -0
  85. data/features/tests/checkout/agency.feature +33 -0
  86. data/features/tests/checkout/button_cac.feature +52 -0
  87. data/features/tests/checkout/chat.feature +20 -0
  88. data/features/tests/checkout/cupones.feature +54 -0
  89. data/features/tests/checkout/error_messages.feature +64 -0
  90. data/features/tests/checkout/integration.feature +215 -0
  91. data/features/tests/checkout/low_cost.feature +55 -0
  92. data/features/tests/checkout/seguros.feature +37 -0
  93. data/features/tests/contents/costs.feature +29 -0
  94. data/features/tests/contents/rules.feature +58 -0
  95. data/features/tests/contents/webcheckin.feature +26 -0
  96. data/features/tests/desambiguation/airports.feature +89 -0
  97. data/features/tests/desambiguation/city.feature +86 -0
  98. data/features/tests/filters/filters.feature +160 -0
  99. data/features/tests/fixes/advancedgui.feature +171 -0
  100. data/features/tests/fixes/advancednogui.feature +60 -0
  101. data/features/tests/fixes/book_no_gui.feature +21 -0
  102. data/features/tests/fixes/cross_sell_row_hoteles.feature +70 -0
  103. data/features/tests/fixes/facebook.feature +31 -0
  104. data/features/tests/fixes/landing_home_alerts.feature +82 -0
  105. data/features/tests/fixes/matrix_stops.feature +104 -0
  106. data/features/tests/fixes/one_day_search.feature +63 -0
  107. data/features/tests/fixes/print.feature +87 -0
  108. data/features/tests/fixes/searches_no_gui.feature +85 -0
  109. data/features/tests/landing/landing_alerts.feature +93 -0
  110. data/features/tests/landing/landing_checkout.feature +286 -0
  111. data/features/tests/landing/landing_filters.feature +176 -0
  112. data/features/tests/landing/landing_home.feature +68 -0
  113. data/features/tests/landing/landing_integration.feature +153 -0
  114. data/features/tests/landing/landing_long_tail.feature +162 -0
  115. data/features/tests/landing/landing_matrix.feature +156 -0
  116. data/features/tests/landing/landing_negative.feature +157 -0
  117. data/features/tests/landing/landing_orders.feature +107 -0
  118. data/features/tests/landing/landing_pagination.feature +142 -0
  119. data/features/tests/landing/landing_passenger_review.feature +139 -0
  120. data/features/tests/landing/landing_positive.feature +155 -0
  121. data/features/tests/landing/landing_reviews.feature +139 -0
  122. data/features/tests/landing/landing_tags.feature +148 -0
  123. data/features/tests/matrix/matrix_airlines.feature +104 -0
  124. data/features/tests/matrix/matrix_fare_chart.feature +24 -0
  125. data/features/tests/matrix/matrix_price.feature +35 -0
  126. data/features/tests/others/alerts.feature +89 -0
  127. data/features/tests/others/anticipatedsearch.feature +82 -0
  128. data/features/tests/others/flights_tracker.feature +94 -0
  129. data/features/tests/others/newsletter.feature +131 -0
  130. data/features/tests/others/querystringparameters.feature +82 -0
  131. data/features/tests/others/recommendation.feature +170 -0
  132. data/features/tests/others/semaphore.feature +206 -0
  133. data/features/tests/others/upgrade_bussines.feature +100 -0
  134. data/features/tests/search/basefare.feature +88 -0
  135. data/features/tests/search/itineraries.feature +85 -0
  136. data/features/tests/search/orders.feature +100 -0
  137. data/features/tests/search/pagination.feature +70 -0
  138. data/features/tests/search/reviews.feature +84 -0
  139. data/features/tests/search/searches.feature +197 -0
  140. data/features/tests/search/wish_list.feature +102 -0
  141. data/flights_gui_henry_tests.gemspec +32 -0
  142. data/henry-context.yml +14733 -0
  143. metadata +324 -0
@@ -0,0 +1,72 @@
1
+ AR:
2
+ produccion: http://www.despegar.com.ar
3
+ beta: http://www.despegar.com.ar
4
+ rc: http://rc.despegar.it.ar
5
+ ic: http://ic.despegar.it.ar
6
+ desa: http://desa.despegar.com.ar:8080
7
+ BR:
8
+ produccion: http://www.decolar.com
9
+ beta: http://www.decolar.com
10
+ rc: http://rc.decolar.it
11
+ ic: http://ic.decolar.it
12
+ desa: http://desa.decolar.com:8080
13
+ CL:
14
+ produccion: http://www.despegar.cl
15
+ beta: http://www.despegar.cl
16
+ rc: http://rc.despegar.it.cl
17
+ ic: http://ic.despegar.it.cl
18
+ desa: http://desa.despegar.com.cl:8080
19
+ CO:
20
+ produccion: http://www.despegar.com.co
21
+ beta: http://www.despegar.com.co
22
+ rc: http://rc.despegar.it.co
23
+ ic: http://ic.despegar.it.co
24
+ desa: http://desa.despegar.com.co:8080
25
+ CR:
26
+ produccion: http://www.despegar.co.cr
27
+ beta: http://www.despegar.co.cr
28
+ rc: http://rc.despegar.it.cr
29
+ ic: http://ic.despegar.it.cr
30
+ desa: http://desa.despegar.com.cr:8080
31
+ EC:
32
+ produccion: http://www.despegar.com.ec
33
+ beta: http://www.despegar.com.ec
34
+ rc: http://rc.despegar.it.ec
35
+ ic: http://ic.despegar.it.ec
36
+ desa: http://desa.despegar.com.ec:8080
37
+ MX:
38
+ produccion: http://www.despegar.com.mx
39
+ beta: http://www.despegar.com.mx
40
+ rc: http://rc.despegar.it.mx
41
+ ic: http://ic.despegar.it.mx
42
+ desa: http://desa.despegar.com.mx:8080
43
+ PA:
44
+ produccion: http://www.despegar.com.pa
45
+ beta: http://www.despegar.com.pa
46
+ rc: http://rc.despegar.it.pa
47
+ ic: http://ic.despegar.it.pa
48
+ desa: http://desa.despegar.com.pa:8080
49
+ PE:
50
+ produccion: http://www.despegar.com.pe
51
+ beta: http://www.despegar.com.pe
52
+ rc: http://rc.despegar.it.pe
53
+ ic: http://ic.despegar.it.pe
54
+ desa: http://desa.despegar.com.pe:8080
55
+ US:
56
+ produccion: http://www.us.despegar.com
57
+ beta: http://www.us.despegar.com
58
+ rc: http://rc.us.despegar.it
59
+ ic: http://ic.us.despegar.it
60
+ desa: http://desa.despegar.com.us:8080
61
+ UY:
62
+ produccion: http://www.despegar.com.uy
63
+ beta: http://www.despegar.com.uy
64
+ rc: http://rc.despegar.it.uy
65
+ ic: http://ic.despegar.it.uy
66
+ desa: http://desa.despegar.com.uy:8080
67
+ VE:
68
+ produccion: http://www.despegar.com.ve
69
+ beta: http://www.despegar.com.ve
70
+ rc: http://rc.despegar.it.ve
71
+ ic: http://ic.despegar.it.ve
72
+ desa: http://desa.despegar.com.ve:8080
@@ -0,0 +1,216 @@
1
+ US:
2
+ text:
3
+ - Comprando estes voos voce acumula ate miles unit
4
+ - Comprando estes voos voce acumula unit
5
+ unit:
6
+ MILE: miles
7
+ KILOMETER: kilometres
8
+ POINTS: points
9
+ CREDIT: credits
10
+ UA:
11
+ - with MileagePlus reward program
12
+ - You can earn unit MileagePlus
13
+ CM:
14
+ - with MileagePlus reward program
15
+ - You can earn unit MileagePlus
16
+ LA:
17
+ - with LANPASS reward program
18
+ - You can earn unit LANPasS
19
+ 4M:
20
+ - with LANPASS reward program
21
+ - You can earn unit LANPass
22
+ XL:
23
+ - with LANPASS reward program
24
+ - You can earn unit LANPass
25
+ 4C:
26
+ - with LANPASS reward program
27
+ - You can earn unit LANPass
28
+ LP:
29
+ - with LANPASS reward program
30
+ - You can earn unit LANPass
31
+ AA:
32
+ - with AAdvantage reward program
33
+ - You can earn unit AAdvantage
34
+ AR:
35
+ - with Aerolineas Plus reward program
36
+ - You can earn unit Aerolineas Plus
37
+ JJ:
38
+ - with TAM Fidelidade reward program
39
+ - You can earn unit Fidelidade
40
+ G3:
41
+ - with Smiles reward program
42
+ - You can earn unit Smiles
43
+ TP:
44
+ - with Victoria reward program
45
+ - You can earn unit Victoria
46
+ DL:
47
+ - with SkyMiles reward program
48
+ - You can earn unit SkyMiles
49
+ AM:
50
+ - with Premier reward program
51
+ - You can earn unit Club Premier
52
+ AC:
53
+ - with Altitude reward program
54
+ - You can earn unit Altitude
55
+ EK:
56
+ - with Skywards reward program
57
+ - You can earn unit Skywards
58
+ AV:
59
+ - with LifeMiles reward program
60
+ - You can earn unit LifeMiles
61
+ TA:
62
+ - with LifeMiles reward program
63
+ - You can earn unit LifeMiles
64
+ LR:
65
+ - with LifeMiles reward program
66
+ - You can earn unit LifeMiles
67
+ AD:
68
+ - with TudoAzul reward program
69
+ - You can earn unit TudoAzul
70
+ O6:
71
+ - with Programa Amigo reward program
72
+ - You can earn unit Programa Amigo
73
+ BR:
74
+ text:
75
+ - Comprando estes voos voce acumula ate miles unit
76
+ - Comprando estes voos voce acumula unit
77
+ unit:
78
+ MILE: milhas
79
+ KILOMETER: quilometros
80
+ POINTS: pontos
81
+ CREDIT: creditos
82
+ UA:
83
+ - do programa MileagePlus da United Airlines
84
+ - Pode acumular unit MileagePlus
85
+ CM:
86
+ - do programa MileagePlus da Copa
87
+ - Pode acumular unit MileagePlus
88
+ LA:
89
+ - do programa LANPASS da LAN
90
+ - Pode acumular unit LANPasS
91
+ 4M:
92
+ - do programa LANPASS da LAN
93
+ - Pode acumular unit LANPass
94
+ XL:
95
+ - do programa LANPASS da LAN
96
+ - Pode acumular unit LANPass
97
+ 4C:
98
+ - do programa LANPASS da LAN
99
+ - Pode acumular unit LANPass
100
+ LP:
101
+ - do programa LANPASS da LAN
102
+ - Pode acumular unit LANPass
103
+ AA:
104
+ - do programa AAdvantage da American Airlines
105
+ - Pode acumular unit AAdvantage
106
+ AR:
107
+ - do programa Aerolineas Plus da Aerolineas Argentinas
108
+ - Pode acumular unit Aerolineas Plus
109
+ JJ:
110
+ - do programa Fidelidade da TAM
111
+ - Pode acumular unit Fidelidade
112
+ G3:
113
+ - do programa Smiles da GOL
114
+ - Pode acumular unit Smiles
115
+ TP:
116
+ - do programa Victoria da TAP
117
+ - Pode acumular unit Victoria
118
+ DL:
119
+ - do programa SkyMiles da Delta
120
+ - Pode acumular unit SkyMiles
121
+ AM:
122
+ - do programa Premier Club da Aeromexico
123
+ - Pode acumular unit Club Premier
124
+ AC:
125
+ - do programa Altitude da Air Canada
126
+ - Pode acumular unit Altitude
127
+ EK:
128
+ - do programa Skywards da Emirates
129
+ - Pode acumular unit Skywards
130
+ AV:
131
+ - do programa LifeMiles da Avianca
132
+ - Pode acumular unit LifeMiles
133
+ TA:
134
+ - do programa LifeMiles da TACA
135
+ - Pode acumular unit LifeMiles
136
+ LR:
137
+ - do programa lifemiles da Lacsa
138
+ - Pode acumular unit LifeMiles
139
+ AD:
140
+ - do programa TudoAzul da Azul
141
+ - Pode acumular unit TudoAzul
142
+ O6:
143
+ - do programa Programa Amigo da Avianca
144
+ - Pode acumular unit Programa Amigo
145
+ DF:
146
+ text:
147
+ - Comprando estos vuelos usted suma hasta miles unit
148
+ - Comprando estos vuelos usted suma unit
149
+ unit:
150
+ MILE: millas
151
+ KILOMETER: kilometros
152
+ POINTS: puntos
153
+ CREDIT: creditos
154
+ UA:
155
+ - del programa MileagePlus de United Airlines
156
+ - Puede sumar unit MileagePlus
157
+ CM:
158
+ - del programa MileagePlus de Copa
159
+ - Puede sumar unit MileagePlus
160
+ LA:
161
+ - del programa LANPASS de LAN
162
+ - Puede sumar unit LANPasS
163
+ 4M:
164
+ - del programa LANPASS de LAN
165
+ - Puede sumar unit LANPass
166
+ XL:
167
+ - del programa LANPASS de LAN
168
+ - Puede sumar unit LANPass
169
+ 4C:
170
+ - del programa LANPASS de LAN
171
+ - Puede sumar unit LANPass
172
+ LP:
173
+ - del programa LANPASS de LAN
174
+ - Puede sumar unit LANPass
175
+ AA:
176
+ - del programa AAdvantage de American Airlines
177
+ - Puede sumar unit AAdvantage
178
+ AR:
179
+ - del programa Aerolineas Plus de Aerolineas Argentinas
180
+ - Puede sumar unit Aerolineas Plus
181
+ JJ:
182
+ - del programa Fidelidade de TAM
183
+ - Puede sumar unit Fidelidade
184
+ G3:
185
+ - del programa Smiles de GOL
186
+ - Puede sumar unit Smiles
187
+ TP:
188
+ - del programa Victoria de TAP
189
+ - Puede sumar unit Victoria
190
+ DL:
191
+ - del programa SkyMiles de Delta
192
+ - Puede sumar unit SkyMiles
193
+ AM:
194
+ - del programa Club Premier de Aeromexico
195
+ - Puede sumar unit Club Premier
196
+ AC:
197
+ - del programa Altitude de Air Canada
198
+ - Puede sumar unit Altitude
199
+ EK:
200
+ - del programa Skywards de Emirates
201
+ - Puede sumar unit Skywards
202
+ AV:
203
+ - del programa LifeMiles de Avianca
204
+ - Puede sumar unit LifeMiles
205
+ TA:
206
+ - del programa LifeMiles de TACA
207
+ - Puede sumar unit LifeMiles
208
+ LR:
209
+ - del programa lifemiles de Lacsa
210
+ - Puede sumar unit LifeMiles
211
+ AD:
212
+ - del programa TudoAzul de Azul
213
+ - Puede sumar unit TudoAzul
214
+ O6:
215
+ - del programa Programa Amigo de Avianca
216
+ - Puede sumar unit Programa Amigo
@@ -0,0 +1,27 @@
1
+ roundtrip:
2
+ model: from_city/to_city/date_from/date_to/adt/cnn/inf
3
+ from_city: CCS
4
+ to_city: RIO
5
+ date_from: 2012-10-18
6
+ date_to: 2012-10-25
7
+ adt: 1
8
+ cnn: 0
9
+ inf: 0
10
+
11
+ oneway:
12
+ model: from_city/to_city/date_from/adt/cnn/inf
13
+ from_city: CCS
14
+ to_city: RIO
15
+ date_from: 2012-10-18
16
+ adt: 2
17
+ cnn: 1
18
+ inf: 0
19
+
20
+ multipledestinations:
21
+ model: from_cities/to_cities/dates/adt/cnn/inf
22
+ from_cities: BUE,SAO
23
+ to_cities: SAO,CCS
24
+ dates: 2012-10-18,2012-10-29
25
+ adt: 2
26
+ cnn: 0
27
+ inf: 1
@@ -0,0 +1,39 @@
1
+ CL:
2
+ - {code: "SCL", airports: ["SCL"], name: "Santiago de Chile|Santiago"}
3
+ - {code: "IQQ", airports: ["IQQ"], name: "Iquique"}
4
+ AR:
5
+ - {code: "BUE", airports: ["EZE", "AEP", "BUE"], name: "Buenos Aires"}
6
+ - {code: "COR", airports: ["COR"], name: "Cordoba"}
7
+ BR:
8
+ - {code: "SAO", airports: ["SAO", "GRU", "CGH", "VCP", "CPQ"], name: "San Pablo|Sao Paulo"}
9
+ - {code: "RIO", airports: ["RIO", "SDU", "GIG"], name: "Rio de Janeiro"}
10
+ - {code: "FLN", airports: ["FLN"], name: "Florianopolis"}
11
+ MX:
12
+ - {code: "MEX", airports: ["MEX", "TLC"], name: "Ciudad de Mexico|Cidade do Mexico"}
13
+ - {code: "GDL", airports: ["GDL"], name: "Guadalajara"}
14
+ - {code: "CUN", airports: ["CUN"], name: "Cancun"}
15
+ PE:
16
+ - {code: "LIM", airports: ["LIM"], name: "Lima"}
17
+ VE:
18
+ - {code: "CCS", airports: ["CCS"], name: "Caracas"}
19
+ CO:
20
+ - {code: "BOG", airports: ["BOG"], name: "Bogota"}
21
+ - {code: "MDE", airports: ["MDE"], name: "Medellin"}
22
+ - {code: "CLO", airports: ["CLO"], name: "Cali"}
23
+ CR:
24
+ - {code: "SJO", airports: ["SJO"], name: "San Jose|Sao Jose"}
25
+ PA:
26
+ - {code: "PTY", airports: ["PTY"], name: "Panama|Cidade do Panama"}
27
+ UY:
28
+ - {code: "MVD", airports: ["MVD"], name: "Montevideo|Montevideu"}
29
+ EC:
30
+ - {code: "UIO", airports: ["UIO"], name: "Quito"}
31
+ - {code: "GYE", airports: ["GYE"], name: "Guayaquil|Guaiaquil"}
32
+ ES:
33
+ - {code: "BCN", airports: ["BCN"], name: "Barcelona"}
34
+ US:
35
+ - {code: "MIA", airports: ["MIA"], name: "Miami"}
36
+ - {code: "LAX", airports: ["LAX"], name: "Los Angeles"}
37
+ - {code: "LAS", airports: ["LAS"], name: "Las Vegas"}
38
+ - {code: "NYC", airports: ["EWR", "JFK", "LGA", "NYC"], name: "Nueva York|Nova York"}
39
+ - {code: "WAS", airports: ["WAS", "DCA", "BWI", "IAD"], name: "Washington"}
@@ -0,0 +1,68 @@
1
+ AR:
2
+ - City: MIA
3
+ Id: Despegar_AR_Vuelos_Miami
4
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/drvdes_DespegarARVuelosMiami_1"/>
5
+ - City: MAD
6
+ Id: Despegar_AR_Vuelos_Madrid
7
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/drvdes_DespegarARVuelosMadrid_1"/>
8
+ - City: MEX
9
+ Id: Despegar_AR_Vuelos_MEX_Mexico
10
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/drvdes_DespegarARVuelosMEXMexico_1"/>
11
+ - City: LIM
12
+ Id: Despegar_AR_Vuelos_Lima
13
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/drvdes_DespegarARVuelosLima_1"/>
14
+ - City: NYC
15
+ Id: Despegar_AR_Vuelos_JFK_Nueva_York
16
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/drvdes_DespegarARVuelosJFKNuevaYork_1"/>
17
+ - City: RIO
18
+ Id: Despegar_AR_Vuelos_Rio_de_Janeiro
19
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/drvdes_DespegarARVuelosRiodeJaneiro_1"/>
20
+ - City: BOG
21
+ Id: Despegar_AR_Vuelos_BOG_Bogota
22
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/drvdes_DespegarARVuelosBOGBogota_1"/>
23
+ - City: SAO
24
+ ID: Despegar_AR_Vuelos_San_Pablo
25
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/drvdes_DespegarARVuelosSanPablo_1"/>
26
+ - City: CUN
27
+ Id: Despegar_AR_Vuelos_Cancun
28
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/drvdes_DespegarARVuelosCancun_1"/>
29
+ - City: CCS
30
+ Id: Despegar_AR_Vuelos_CCS_Caracas
31
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/drvdes_DespegarARVuelosCCSCaracas_1"/>
32
+ - City: DEF
33
+ Id: Despegar_AR_Vuelos_Default
34
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/drvdes_DespegarARVuelosDefault_1"/>
35
+ BR:
36
+ - City: BHZ
37
+ Id: MMN_Despegar_BR_Vuelos_BHZ_Belo_Horizonte
38
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/MMN_Despegar_BR_Vuelos_BHZ_Belo_Horizonte"/>
39
+ - City: BSB
40
+ Id: MMN_Despegar_BR_Vuelos_BSB_Brasilia
41
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/MMN_Despegar_BR_Vuelos_BSB_Brasilia"/>
42
+ - City: BUE
43
+ Id: MMN_Despegar_BR_Vuelos_BUE_Buenos_Aires
44
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/MMN_Despegar_BR_Vuelos_BUE_Buenos_Aires"/>
45
+ - City: CWB
46
+ Id: MMN_Despegar_BR_Vuelos_CWB_Curitiba
47
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/MMN_Despegar_BR_Vuelos_CWB_Curitiba"/>
48
+ - City: DEF
49
+ Id: MMN_Despegar_BR_Vuelos_Default
50
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/MMN_Despegar_BR_Vuelos_Default"/>
51
+ - City: FOR
52
+ Id: MMN_Despegar_BR_Vuelos_FOR_Fortaleza
53
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/MMN_Despegar_BR_Vuelos_FOR_Fortaleza"/>
54
+ - City: POA
55
+ Id: MMN_Despegar_BR_Vuelos_POA_Porto_Alegre
56
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/MMN_Despegar_BR_Vuelos_POA_Porto_Alegre"/>
57
+ - City: REC
58
+ Id: MMN_Despegar_BR_Vuelos_REC_Recife
59
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/MMN_Despegar_BR_Vuelos_REC_Recife"/>
60
+ - City: RIO
61
+ Id: MMN_Despegar_BR_Vuelos_RIO_Rio_de_Janeiro
62
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/MMN_Despegar_BR_Vuelos_RIO_Rio_de_Janeiro"/>
63
+ - City: SAO
64
+ Id: MMN_Despegar_BR_Vuelos_SAO_San_Pablo
65
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/MMN_Despegar_BR_Vuelos_SAO_San_Pablo"/>
66
+ - City: SSA
67
+ Id: MMN_Despegar_BR_Vuelos_SSA_Salvador
68
+ Tag: <img height="1" width="1" src="http://view.atdmt.com/action/MMN_Despegar_BR_Vuelos_SSA_Salvador"/>
@@ -0,0 +1,6 @@
1
+ # -*- encoding : utf-8 -*-
2
+ And /^Verifico los datos de agencia afiliada$/ do
3
+ BROWSER.div(:id,'agency').should visible
4
+ BROWSER.div(:id,'agency').text.should match("AG10560")
5
+ BROWSER.span(:class,'choose-another').link(:class,'link').should_not visible
6
+ end
@@ -0,0 +1,43 @@
1
+ # -*- encoding : utf-8 -*-
2
+ When /^aplico el js del chat$/ do
3
+ BROWSER.link(:id,'submit').click
4
+ #BROWSER.execute_script("javascript:void(function(){showChat();})();")
5
+ end
6
+
7
+ When /^espero que se muestre la caja del chat$/ do
8
+ Watir::Wait.until(timeout = 100){BROWSER.div(:id,'dtalk-container').div(:id,'openChat').present?}
9
+ BROWSER.div(:id,'dtalk-container').div(:id,'openChat').should visible
10
+ sleep(1)
11
+ BROWSER.div(:id,'dtalk-container').div(:id,'openChat').click
12
+ end
13
+
14
+ Then /^me logueo al chat$/ do
15
+ Watir::Wait.until(timeout = 100){BROWSER.div(:id,'chatContainer').div(:class,'dtalk-brand').present?}
16
+ BROWSER.div(:id,'chatContainer').div(:class,'dtalk-brand').should visible
17
+ BROWSER.div(:id,'chatContainer').div(:class,'dtalk-brand').div(:class,'dtalk-comands').should visible
18
+ BROWSER.div(:id,'chatContainer').div(:class,'dtalk-brand').div(:class,'dtalk-comands').link(:id,'dtalk-icon-chevron-down').should visible
19
+ BROWSER.div(:id,'chatContainer').div(:class,'dtalk-brand').div(:class,'dtalk-comands').link(:id,'dtalk-icon-chevron-up').should visible
20
+ BROWSER.div(:id,'chatContainer').div(:class,'dtalk-brand').div(:class,'dtalk-comands').link(:id,'dtalk-icon-remove').should visible
21
+ Watir::Wait.until(timeout = 100){BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').present?}
22
+ BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').should visible
23
+ BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').div(:id,'credentials').should visible
24
+ BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').div(:id,'credentials').div(:id,'dtalk-form-login').should visible
25
+ BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').div(:id,'credentials').div(:id,'dtalk-form-login').text_field(:id,'dtalk-email').should visible
26
+ BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').div(:id,'credentials').div(:id,'dtalk-form-login').text_field(:id,'dtalk-nickname').should visible
27
+ BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').div(:id,'credentials').link(:id,'dtalk-login').should visible
28
+
29
+ BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').div(:id,'credentials').div(:id,'dtalk-form-login').text_field(:id,'dtalk-email').set("testvuelos@despegar.com")
30
+ BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').div(:id,'credentials').div(:id,'dtalk-form-login').text_field(:id,'dtalk-nickname').set("testing")
31
+ BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').div(:id,'credentials').link(:id,'dtalk-login').click
32
+ end
33
+
34
+ Then /^verifico que se muestre todo correctamente$/ do
35
+ Watir::Wait.until(timeout = 30){BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').div(:id,'loading').present?}
36
+ Watir::Wait.until(timeout = 600){BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').link(:id,'retry_connection').present? or !BROWSER.div(:id,'chatContainer').div(:id,'dtalk-content').div(:id,'loading').present?}
37
+ end
38
+
39
+ And /^Cierro el chat$/ do
40
+ BROWSER.div(:id,'chatContainer').div(:class,'dtalk-brand').div(:class,'dtalk-comands').link(:id,'dtalk-icon-remove').click
41
+ Watir::Wait.until(timeout = 30){BROWSER.div(:id,'dtalk-container').span(:class,'close-round-section').present?}
42
+ BROWSER.div(:id,'dtalk-container').span(:class,'close-round-section').click
43
+ end
@@ -0,0 +1,144 @@
1
+ # -*- encoding : utf-8 -*-
2
+ When /^verifico que los precios de las cuotas se muestran correctamente$/ do
3
+ interes = nil
4
+ doc=Hpricot.parse(BROWSER.span(:id,'total-price').html)
5
+ total_1 = doc.inner_text.gsub(/\D/,'').to_i
6
+ radios = BROWSER.div(:id,'paymentDefinition').radios
7
+ i=0
8
+ radios.each do |radio|
9
+ if radio.present?
10
+ radio.click
11
+ doc=Hpricot.parse(BROWSER.span(:id,'total-price').html)
12
+ total_2 = doc.inner_text.gsub(/\D/,'').to_i
13
+ class_name = radio.class_name
14
+ unless class_name.match("radio-with-interest")
15
+ if interes
16
+ validar_cuota_con_intereses(total_1,total_2)
17
+ else
18
+ case radio.value
19
+ when /1(.*)CREDIT(.*)/ then validar_cuota_un_pago()
20
+ when /(\d)_(..|..-.{1,3})-CREDIT$/ then validar_cuota_con_intereses(total_1,total_2)
21
+ when /(.*)CREDIT(.*)/ then validar_cuota_sin_intereses(total_1,total_2)
22
+ end
23
+ end
24
+ cards = radio.value.split("_")
25
+ shares = cards.delete(cards[0])
26
+ options = []
27
+ cards.each do |option|
28
+ tmp = option.split("-")
29
+ last = tmp.delete(tmp.last)
30
+ options << "#{shares}_#{last}_#{tmp.compact.join('_')}"
31
+ end
32
+ doc=Hpricot.parse(BROWSER.div(:id,'card-group').html)
33
+ if BROWSER.spans(:class,'bank-interest-description').collect{|span| span.present?}.empty?
34
+ (doc/'select#card-brand option').collect{|option| option.attributes['value'].gsub('_null','')}.sort.should equal(options.sort)
35
+ end
36
+ else
37
+ interes = true
38
+ end
39
+ end
40
+ if i > 17
41
+ break
42
+ end
43
+ i = i + 1
44
+ end
45
+ end
46
+
47
+ And /^Verifico que se muestren la caja de clientes felices$/ do
48
+ if $SITE=="US"
49
+ BROWSER.div(:id,'happy-clients').should_not visible("Se muestra la caja de comentarios en usa")
50
+ end
51
+ if BROWSER.div(:id,'happy-clients').present? and BROWSER.div(:id,'happy-clients').div(:class,'review').present?
52
+ happy_clients = BROWSER.div(:id,'happy-clients').div(:class,'review')
53
+ happy_clients.should visible
54
+ happy_clients.div(:class,'comment').should visible
55
+ happy_clients.div(:class,'comment').text.should match('[A-Z]|[a-z]')
56
+ happy_clients.ul(:class,'details').should visible
57
+ happy_clients.ul(:class,'details').li(:class,'name').should visible
58
+ happy_clients.ul(:class,'details').li(:class,'name').text.no_accents.should match('[A-Z]|[a-z]')
59
+ happy_clients.ul(:class,'details').li(:class,'date').should visible
60
+ happy_clients.ul(:class,'details').li(:class,'date').text.no_accents.should match('[A-Z]|[a-z]')
61
+ happy_clients.ul(:class,'details').li(:class,'product').should visible
62
+ happy_clients.ul(:class,'details').li(:class,'product').text.no_accents.should match('[A-Z]|[a-z]')
63
+ end
64
+ end
65
+
66
+ And /^Verifico que el popup de detalle de compra$/ do
67
+ BROWSER.div(:id,'ticket').link(:class,'ux-shared-checkout-thanks-more').should visible("Link para popup de detalle de vuelo")
68
+ BROWSER.div(:id,'ticket').link(:class,'ux-shared-checkout-thanks-more').click
69
+ Watir::Wait.until(timeout = 20){BROWSER.div(:id,'popup-booking-details').present?}
70
+ popup_detalle_vuelo = Hpricot.parse(BROWSER.div(:id,'popup-booking-details').html)
71
+ popup_detalle_vuelo.inner_text.empty?.should_not be_true
72
+ BROWSER.div(:id,'popup-booking-details').span(:class,'popup-close-button popup-close').click
73
+ end
74
+
75
+ And /^Verifico el pixel de trackeame$/ do
76
+ doc = Hpricot.parse(BROWSER.html)
77
+ pixel_trackeame = (doc/"img#PixelTrackeame").first
78
+ pixel_trackeame.nil?.should_not be_true
79
+ pixel_trackeame.attributes['src'].should match("idcro=#{@id_cro}&pr=flights&cc=#{$SITE}&exch=(.+)&pri=(.+)&cur=(#{currency($SITE)}|USD)&dn=Despegar")
80
+ end
81
+
82
+ And /^Verifico el pixel de Efrontier$/ do
83
+ doc = Hpricot.parse(BROWSER.html)
84
+ doc.inner_html.should match("INITIAL_PIXELS")
85
+ doc.inner_html.should match("ASYNC_PIXELS")
86
+ end
87
+
88
+ And /^Verifico que se muestre las ofertas de cross selling$/ do
89
+ BROWSER.div(:class,'ux-common-crossselling').should visible("Cross selling en gracias")
90
+ end
91
+
92
+ And /^Verifico el tag de remarketing de facebook$/ do
93
+ if $SITE.upcase=="AR"
94
+ doc = Hpricot.parse(BROWSER.html)
95
+ tag_script = (doc/"script").select{|script| script.inner_text.match(/fb_param/)}
96
+ tag_script.first.should be_true
97
+ (tag_script.length == 1).should be_true
98
+ tag_script.first.inner_text.should match("connect.facebook.net\/en\_US\/fp.js")
99
+ tag_noscript = (doc/"noscript").select{|script| script.inner_html.match(/facebook/)}[0]
100
+ tag_noscript.should be_true
101
+ #(doc/"script[@src='http://www.googleadservices.com/pagead/conversion.js']").should_not is_empty
102
+ end
103
+ end
104
+
105
+ And /^Verifico que no se muestre la leyenda de mejor precio garantizado en resultados$/ do
106
+ if $SITE=="CO"
107
+ BROWSER.link(:id,'best-price').should_not visible("Link de garantia de mejor precio garantizado")
108
+ BROWSER.link(:class,'Mejor precio garantizado').should_not visible("Header de garantia de mejor precio garantizado")
109
+ BROWSER.div(:class,'nibbler-common-footer-sitemap').span(:text,'Mejor precio garantizado').should_not visible("Footer de garantia de mejor precio garantizado")
110
+ end
111
+ end
112
+
113
+ And /^Completo los datos para reservas CAC$/ do
114
+ BROWSER.execute_script("javascript:void(function(){ShowButtonCAC();})();")
115
+ BROWSER.li(:id,'cac-installment').radio(:class,'radio main-radio').set
116
+ if $SITE=="AR"
117
+ if [true,false][rand(2)]
118
+ BROWSER.div(:id,'offlinePaymentDefinition').select_list(:id,'owner-type').select_value("COMPANY")
119
+ BROWSER.div(:id,'offlinePaymentDefinition').text_field(:id,"owner-fiscal-document-number").set(20345678924)
120
+ else
121
+ BROWSER.div(:id,'offlinePaymentDefinition').select_list(:id,'owner-type').select_value("PERSON")
122
+ BROWSER.div(:id,'offlinePaymentDefinition').text_field(:id,'owner-document-number').set(32456734)
123
+ BROWSER.div(:id,'offlinePaymentDefinition').select_list(:id,'owner-gender').select_value("MALE")
124
+ end
125
+ end
126
+ if BROWSER.text_field(:id,"offline-owner-document-number").present?
127
+ number = case $SITE
128
+ when "CL" then "7028168-6"
129
+ when "BR" then "22233366638"
130
+ else "32456734"
131
+ end
132
+ BROWSER.text_field(:id,"offline-owner-document-number").set(number)
133
+ end
134
+ BROWSER.select_list(:id,'offline-owner-gender').select_value("MALE") if BROWSER.select_list(:id,'offline-owner-gender').present?
135
+ BROWSER.text_field(:id,'contact-contact-full-name').set("Diego Qa Romero") if BROWSER.text_field(:id,'contact-contact-full-name').present?
136
+ end
137
+
138
+ Then /^no se elijio otro vuelo$/ do
139
+ @pop_up.should_not be_true
140
+ end
141
+
142
+ Then /^se elijio otro vuelo$/ do
143
+ @pop_up.should be_true
144
+ end
@@ -0,0 +1,26 @@
1
+ # -*- encoding : utf-8 -*-
2
+ And /^permite cupon de descuento$/ do
3
+ ($SITE=="AR" and $ENV.match("produccion|beta")).should be_true
4
+ end
5
+
6
+ And /^Completo con un cupon de descuento invalido$/ do
7
+ container = BROWSER.fieldset(:id,'additionals')
8
+ container.checkbox(:id,'vouchers').set(true)
9
+ container.text_field(:id,'voucher-code-0').set("XXXXXXXXXXXX")
10
+ end
11
+
12
+ And /^Completo con un cupon de descuento valido$/ do
13
+ container = BROWSER.fieldset(:id,'additionals')
14
+ container.checkbox(:id,'vouchers').set(true)
15
+ container.text_field(:id,'voucher-code-0').set("H82IRUHC1E")
16
+ end
17
+
18
+ And /^Verifico que de error de cupon invalido$/ do
19
+ step "Verifico que la pagina no rompa"
20
+ begin
21
+ Watir::Wait.until(timeout = 200){BROWSER.div(:class,'notification-box error-box').present? or BROWSER.span(:class =>'checkout-id').present? or BROWSER.em(:class =>'checkout-id').present? or BROWSER.div(:id =>'popup-new-flight').exist? or BROWSER.span(:class,/error-message/).present? or BROWSER.div(:class, 'notification-box warn-box').present? or BROWSER.div(:class, 'ux-common-warning ux-common-error').present?}
22
+ rescue Timeout::Error
23
+ pending("Timeout de 400 segundos al ingresar a la pagina de gracias")
24
+ end
25
+ BROWSER.div(:class,'ux-common-warning ux-common-error').should visible("error de cupon invalido")
26
+ end