Use error message from the server when like failed
This commit is contained in:
parent
6c5c865b15
commit
82e78d3ce8
3 changed files with 13 additions and 3 deletions
|
|
@ -72,8 +72,8 @@ app.models.Post.Interactions = Backbone.Model.extend({
|
|||
self.set({"likes_count" : self.get("likes_count") + 1});
|
||||
self.likes.trigger("change");
|
||||
},
|
||||
error: function() {
|
||||
app.flashMessages.error(Diaspora.I18n.t("failed_to_like"));
|
||||
error: function(model, response) {
|
||||
app.flashMessages.handleAjaxError(response);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ class LikesController < ApplicationController
|
|||
format.json { render :json => @like.as_api_response(:backbone), :status => 201 }
|
||||
end
|
||||
else
|
||||
render :nothing => true, :status => 422
|
||||
render text: I18n.t("javascripts.failed_to_like"), status: 422
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -49,6 +49,16 @@ describe("app.models.Post.Interactions", function(){
|
|||
jasmine.Ajax.requests.mostRecent().respondWith(ajaxSuccess);
|
||||
expect(this.interactions.likes.trigger).toHaveBeenCalledWith("change");
|
||||
});
|
||||
|
||||
it("displays a flash message on errors", function() {
|
||||
spyOn(app.flashMessages, "handleAjaxError").and.callThrough();
|
||||
this.interactions.like();
|
||||
jasmine.Ajax.requests.mostRecent().respondWith({status: 400, responseText: "error message"});
|
||||
|
||||
expect(app.flashMessages.handleAjaxError).toHaveBeenCalled();
|
||||
expect(app.flashMessages.handleAjaxError.calls.argsFor(0)[0].responseText).toBe("error message");
|
||||
expect(spec.content().find(".flash-message")).toBeErrorFlashMessage("error message");
|
||||
});
|
||||
});
|
||||
|
||||
describe("unlike", function(){
|
||||
|
|
|
|||
Loading…
Reference in a new issue