flights_gui_henry_tests 1.8.7

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.
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