fix regression caused by updating backbone.js without updating changed parameters

This commit is contained in:
Florian Staudacher 2014-01-26 19:51:12 +01:00
parent c23fa673a4
commit 09a840ea41
3 changed files with 39 additions and 9 deletions

View file

@ -15,13 +15,18 @@ app.models.Stream = Backbone.Collection.extend({
return _.any(this.items.models) ? this.timeFilteredPath() : this.basePath()
},
_fetchOpts: function(opts) {
var defaultOpts = {
remove: false // tell backbone to keep existing items in the collection
};
return _.extend({}, defaultOpts, opts);
},
fetch: function() {
if( this.isFetching() ) return false;
var url = this.url();
this.deferred = this.items.fetch({
remove : false,
url : url
}).done(_.bind(this.triggerFetchedEvents, this))
this.deferred = this.items.fetch(this._fetchOpts({url : url}))
.done(_.bind(this.triggerFetchedEvents, this));
},
isFetching : function() {

View file

@ -18,10 +18,7 @@ app.models.StreamAspects = app.models.Stream.extend({
if(this.isFetching()){ return false }
var url = this.url();
var ids = this.aspects_ids;
this.deferred = this.items.fetch({
add : true,
url : url,
data : { 'a_ids': ids }
}).done(_.bind(this.triggerFetchedEvents, this))
this.deferred = this.items.fetch(this._fetchOpts({url : url, data : { 'a_ids': ids }}))
.done(_.bind(this.triggerFetchedEvents, this));
}
});

View file

@ -0,0 +1,28 @@
describe("app.models.StreamAspects", function() {
describe("#fetch", function(){
var fetch,
stream;
beforeEach(function(){
fetch = new $.Deferred();
stream = new app.models.StreamAspects([], {aspects_ids: [1,2]});
spyOn(stream.items, "fetch").andCallFake(function(options){
stream.items.set([{name: 'a'}, {name: 'b'}, {name: 'c'}], options);
fetch.resolve();
return fetch;
});
});
it("fetches some posts", function(){
stream.fetch();
expect(stream.items.length).toEqual(3);
});
it("fetches more posts", function(){
stream.fetch();
expect(stream.items.length).toEqual(3);
stream.fetch();
expect(stream.items.length).toEqual(6);
});
});
});