Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: appengine/config_service/ui/test/config-ui/front-page_test.html

Issue 2985923002: config_service: Handled errors in the front page (Closed)
Patch Set: set isLoading to false after the error message is set Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!-- 1 <!--
2 Copyright 2017 The LUCI Authors. All rights reserved. 2 Copyright 2017 The LUCI Authors. All rights reserved.
3 Use of this source code is governed under the Apache License, Version 2.0 3 Use of this source code is governed under the Apache License, Version 2.0
4 that can be found in the LICENSE file. 4 that can be found in the LICENSE file.
5 --> 5 -->
6 6
7 <!doctype html> 7 <!doctype html>
8 <html lang="en"> 8 <html lang="en">
9 <head> 9 <head>
10 <meta charset="utf-8"> 10 <meta charset="utf-8">
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 server.respond(); 136 server.respond();
137 front_page.addEventListener('processedConfigSets', function() { 137 front_page.addEventListener('processedConfigSets', function() {
138 front_page.query = "invalid-project"; 138 front_page.query = "invalid-project";
139 assert.notEqual(front_page.configSetList, 139 assert.notEqual(front_page.configSetList,
140 front_page.searchResults); 140 front_page.searchResults);
141 assert.equal(front_page.searchResults[0].config_set, "invalid-projec t"); 141 assert.equal(front_page.searchResults[0].config_set, "invalid-projec t");
142 done(); 142 done();
143 }.bind(front_page)); 143 }.bind(front_page));
144 }); 144 });
145 }); 145 });
146
147 suite('Front page ajax 500 error', function() {
Sergey Berezin 2017/07/26 19:40:30 nit: I'd name suite / tests something like: suite(
cwpayton 2017/07/26 22:48:50 Done.
148 var ajax;
149 var request;
150 var server;
151 var responseHeaders = {
152 json: { 'Content-Type': 'application/json' }
153 };
154 var front_page;
155 setup(function() {
156 server = sinon.fakeServer.create();
157 var param = {
158 error: {
159 code: 500,
160 message: "Internal Server Error."
161 }
162 }
163 server.respondWith(
164 'GET',
165 /\/_ah\/api\/config\/v1\/config-sets\?include_last_import_attempt=tr ue/,
166 [
167 500,
168 responseHeaders.json,
169 JSON.stringify(param)
170 ]
171 );
172 front_page = fixture('front-pageTestFixture');
173 ajax = Polymer.dom(front_page.root).querySelector('iron-ajax');
174 });
175
176 teardown(function() {
177 server.restore();
178 });
179
180 test('front page handles 500 error', function() {
181 request = ajax.generateRequest();
182 server.respond();
183 front_page.addEventListener('fetchError', function() {
184 expect(front_page.errorMessage).to.be.equal("Internal server error." );
185 })
186 });
187 });
188
189 suite('Front page ajax 500 error', function() {
Sergey Berezin 2017/07/26 19:40:30 This looks like an identical repeated test suite -
cwpayton 2017/07/26 22:48:50 Done.
190 var ajax;
191 var request;
192 var server;
193 var responseHeaders = {
194 json: { 'Content-Type': 'application/json' }
195 };
196 var front_page;
197 setup(function() {
198 server = sinon.fakeServer.create();
199 var param = {
200 error: {
201 code: 500,
202 message: "Internal Server Error."
203 }
204 }
205 server.respondWith(
206 'GET',
207 /\/_ah\/api\/config\/v1\/config-sets\?include_last_import_attempt=tr ue/,
208 [
209 500,
210 responseHeaders.json,
211 JSON.stringify(param)
212 ]
213 );
214 front_page = fixture('front-pageTestFixture');
215 ajax = Polymer.dom(front_page.root).querySelector('iron-ajax');
216 });
217
218 teardown(function() {
219 server.restore();
220 });
221
222 test('front page handles 500 error', function() {
223 request = ajax.generateRequest();
224 server.respond();
225 front_page.addEventListener('fetchError', function() {
226 expect(front_page.errorMessage).to.be.equal("Internal server error." );
227 })
228 });
229 });
230
231 suite('Front page ajax 403 error', function() {
232 var ajax;
233 var request;
234 var server;
235 var responseHeaders = {
236 json: { 'Content-Type': 'application/json' }
237 };
238 var front_page;
239 setup(function() {
240 server = sinon.fakeServer.create();
241 var param = {
242 error: {
243 code: 403,
244 message: "The request returned with a status of 403."
245 }
246 }
247 server.respondWith(
248 'GET',
249 /\/_ah\/api\/config\/v1\/config-sets\?include_last_import_attempt=tr ue/,
250 [
251 403,
252 responseHeaders.json,
253 JSON.stringify(param)
254 ]
255 );
256 front_page = fixture('front-pageTestFixture');
257 ajax = Polymer.dom(front_page.root).querySelector('iron-ajax');
258 });
259
260 teardown(function() {
261 server.restore();
262 });
263
264 test('front page handles 403 error', function() {
265 request = ajax.generateRequest();
266 server.respond();
267 front_page.addEventListener('fetchError', function() {
268 expect(front_page.errorMessage).to.be.equal("Access denied. Please t ry again later.");
269 })
270 });
271 });
272
273 suite('Front page ajax general error', function() {
274 var ajax;
275 var request;
276 var server;
277 var responseHeaders = {
278 json: { 'Content-Type': 'application/json' }
279 };
280 var front_page;
281 setup(function() {
282 server = sinon.fakeServer.create();
283 var param = {
284 error: {
285 code: 400,
286 message: "The request returned with a status of 403."
287 }
288 }
289 server.respondWith(
290 'GET',
291 /\/_ah\/api\/config\/v1\/config-sets\?include_last_import_attempt=tr ue/,
292 [
293 400,
294 responseHeaders.json,
295 JSON.stringify(param)
296 ]
297 );
298 front_page = fixture('front-pageTestFixture');
299 ajax = Polymer.dom(front_page.root).querySelector('iron-ajax');
300 });
301
302 teardown(function() {
303 server.restore();
304 });
305
306 test('front page handles error that is not 403 or 500', function() {
307 request = ajax.generateRequest();
308 server.respond();
309 front_page.addEventListener('fetchError', function() {
310 expect(front_page.errorMessage).to.be.equal("Error occured. Please t ry again later.");
311 })
312 });
313 });
146 </script> 314 </script>
147 </body> 315 </body>
148 </html> 316 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698