Use new ajax error handling for reshare failures

This commit is contained in:
Steffen van Bergerem 2016-11-26 19:29:15 +01:00 committed by Benjamin Neff
parent d609238ed4
commit bc5848fe9e
2 changed files with 5 additions and 14 deletions

View file

@ -99,11 +99,7 @@
Diaspora.Mobile.PostActions.toggleActive(link);
},
error: function(response) {
if (response.status === 0) {
alert(Diaspora.I18n.t("errors.connection"));
} else {
alert(response.responseText);
}
Diaspora.Mobile.Alert.handleAjaxError(response);
},
complete: function() {
Diaspora.Mobile.PostActions.hideLoader(link);

View file

@ -198,7 +198,6 @@ describe("Diaspora.Mobile.PostActions", function(){
Diaspora.Mobile.PostActions.initialize();
this.reshareLink = $(".stream .reshare-action");
spyOn(window, "confirm").and.returnValue(true);
spyOn(window, "alert");
});
it("always calls showLoader before sending request and hideLoader after receiving response", function(){
@ -223,16 +222,12 @@ describe("Diaspora.Mobile.PostActions", function(){
expect(Diaspora.Mobile.PostActions.toggleActive).toHaveBeenCalledWith(this.reshareLink);
});
it("pops an alert on server errors", function() {
it("lets Diaspora.Mobile.Alert handle AJAX errors", function() {
spyOn(Diaspora.Mobile.Alert, "handleAjaxError");
this.reshareLink.click();
jasmine.Ajax.requests.mostRecent().respondWith({status: 400, responseText: "reshare failed"});
expect(window.alert).toHaveBeenCalledWith("reshare failed");
});
it("pops an alert on network errors", function() {
this.reshareLink.click();
jasmine.Ajax.requests.mostRecent().abort();
expect(window.alert).toHaveBeenCalledWith(Diaspora.I18n.t("errors.connection"));
expect(Diaspora.Mobile.Alert.handleAjaxError).toHaveBeenCalled();
expect(Diaspora.Mobile.Alert.handleAjaxError.calls.argsFor(0)[0].responseText).toBe("reshare failed");
});
});
});