Merge pull request #5699 from WebDevFromScratch/5690-update-stream-on-reshare

5690 update stream on reshare
This commit is contained in:
Jonne Haß 2015-02-23 16:37:16 +01:00
commit 3a0857b4bf
3 changed files with 34 additions and 9 deletions

View file

@ -175,6 +175,7 @@ diaspora.yml file**. The existing settings from 0.4.x and before will not work a
* Add invitation link to contacts page [#5655](https://github.com/diaspora/diaspora/pull/5655) * Add invitation link to contacts page [#5655](https://github.com/diaspora/diaspora/pull/5655)
* Add year to notifications page [#5676](https://github.com/diaspora/diaspora/pull/5676) * Add year to notifications page [#5676](https://github.com/diaspora/diaspora/pull/5676)
* Give admins the ability to lock & unlock accounts [#5643](https://github.com/diaspora/diaspora/pull/5643) * Give admins the ability to lock & unlock accounts [#5643](https://github.com/diaspora/diaspora/pull/5643)
* Add reshares to the stream view immediately [#5699](https://github.com/diaspora/diaspora/pull/5699)
# 0.4.1.2 # 0.4.1.2

View file

@ -103,23 +103,21 @@ app.models.Post.Interactions = Backbone.Model.extend({
, reshare = this.post.reshare() , reshare = this.post.reshare()
, flash = new Diaspora.Widgets.FlashMessages(); , flash = new Diaspora.Widgets.FlashMessages();
reshare.save({}, { reshare.save()
success : function(){ .done(function(){
flash.render({ flash.render({
success: true, success: true,
notice: Diaspora.I18n.t("reshares.successful") notice: Diaspora.I18n.t("reshares.successful")
}); });
}, interactions.reshares.add(reshare);
error: function(){ if (app.stream) {app.stream.addNow(reshare)}
interactions.trigger("change");
})
.fail(function(){
flash.render({ flash.render({
success: false, success: false,
notice: Diaspora.I18n.t("reshares.duplicate") notice: Diaspora.I18n.t("reshares.duplicate")
}); });
}
}).done(function(){
interactions.reshares.add(reshare);
}).done(function(){
interactions.trigger("change");
}); });
app.instrument("track", "Reshare"); app.instrument("track", "Reshare");

View file

@ -40,4 +40,30 @@ describe("app.models.Post.Interactions", function(){
expect(this.interactions.likes.length).toEqual(0); expect(this.interactions.likes.length).toEqual(0);
}); });
}); });
describe("reshare", function() {
var ajax_success = { status: 200, responseText: [] };
beforeEach(function(){
this.reshare = this.interactions.post.reshare();
});
it("triggers a change on the model", function() {
spyOn(this.interactions, "trigger");
this.interactions.reshare();
jasmine.Ajax.requests.mostRecent().respondWith(ajax_success);
expect(this.interactions.trigger).toHaveBeenCalledWith("change");
});
it("adds the reshare to the stream", function() {
app.stream = { addNow: $.noop };
spyOn(app.stream, "addNow");
this.interactions.reshare();
jasmine.Ajax.requests.mostRecent().respondWith(ajax_success);
expect(app.stream.addNow).toHaveBeenCalledWith(this.reshare);
});
});
}); });