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

Unified 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: Removed extraneous code from testing suite and fixed error messages Created 3 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « appengine/config_service/ui/src/config-ui/front-page.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: appengine/config_service/ui/test/config-ui/front-page_test.html
diff --git a/appengine/config_service/ui/test/config-ui/front-page_test.html b/appengine/config_service/ui/test/config-ui/front-page_test.html
index 6c7f1e8d3b42006b43920b46449ed2fe989e0c19..8b54a18e7542b93836c2a4cf39efae2ee0510d6d 100644
--- a/appengine/config_service/ui/test/config-ui/front-page_test.html
+++ b/appengine/config_service/ui/test/config-ui/front-page_test.html
@@ -143,6 +143,103 @@
}.bind(front_page));
});
});
+
+ suite('Front page handles ajax errors correctly', function() {
+ var ajax;
+ var request;
+ var server500;
+ var server403;
+ var server400;
+ var responseHeaders = {
+ json: { 'Content-Type': 'application/json' }
+ };
+ var front_page;
+ setup(function() {
+ server500 = sinon.fakeServer.create();
Sergey Berezin 2017/07/26 23:09:13 Suggestion: instead of using setup(), how about cr
+ var param500 = {
+ error: {
+ code: 500,
+ message: "Internal Server Error."
+ }
+ }
+ server500.respondWith(
+ 'GET',
+ /\/_ah\/api\/config\/v1\/config-sets\?include_last_import_attempt=true/,
+ [
+ 500,
+ responseHeaders.json,
+ JSON.stringify(param500)
+ ]
+ );
+
+ server403 = sinon.fakeServer.create();
+ var param403 = {
+ error: {
+ code: 403,
+ message: "The request returned with a status of 403."
+ }
+ }
+ server403.respondWith(
+ 'GET',
+ /\/_ah\/api\/config\/v1\/config-sets\?include_last_import_attempt=true/,
+ [
+ 403,
+ responseHeaders.json,
+ JSON.stringify(param403)
+ ]
+ );
+
+ server400 = sinon.fakeServer.create();
+ var param400 = {
+ error: {
+ code: 400,
+ message: "This error represents all errors that are not forbidden or internal server errors."
+ }
+ }
+ server400.respondWith(
+ 'GET',
+ /\/_ah\/api\/config\/v1\/config-sets\?include_last_import_attempt=true/,
+ [
+ 400,
+ responseHeaders.json,
+ JSON.stringify(param400)
+ ]
+ );
+ front_page = fixture('front-pageTestFixture');
+ ajax = Polymer.dom(front_page.root).querySelector('iron-ajax');
+ });
+
+ teardown(function() {
+ server500.restore();
+ server403.restore();
+ server400.restore();
+ });
+
+ test('front page handles 500 error', function() {
+ request = ajax.generateRequest();
+ server500.respond();
+ front_page.addEventListener('fetchError', function() {
+ expect(front_page.errorMessage).to.be
+ .equal("Internal server error. Please refresh or try again later.");
+ })
+ });
+
+ test('front page handles 403 error', function() {
+ request = ajax.generateRequest();
+ server403.respond();
+ front_page.addEventListener('fetchError', function() {
+ expect(front_page.errorMessage).to.be.equal("Access denied.");
+ })
+ });
+
+ test('front page handles error that is not 403 or 500', function() {
+ request = ajax.generateRequest();
+ server400.respond();
+ front_page.addEventListener('fetchError', function() {
+ expect(front_page.errorMessage).to.be.equal("Error occured. Please try again later.");
+ })
+ });
+ });
</script>
</body>
</html>
« no previous file with comments | « appengine/config_service/ui/src/config-ui/front-page.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698