Various feeds changes

And move Z.Attachments.cleanAttachmentURI() to Z.Utilities.cleanURL()
This commit is contained in:
Adomas Venčkauskas 2016-01-13 13:13:29 +00:00 committed by Dan Stillman
parent 8a2dc6e7f2
commit e6ede4b36f
24 changed files with 698 additions and 211 deletions

View file

@ -1,11 +1,10 @@
describe("Zotero.FeedItems", function () {
let feed;
before(function() {
feed = new Zotero.Feed({ name: 'foo', url: 'http://' + Zotero.randomString() + '.com' });
return feed.saveTx();
before(function* () {
feed = yield createFeed({ name: 'foo', url: 'http://' + Zotero.randomString() + '.com' });
});
after(function() {
return feed.eraseTx();
return clearFeeds();
});
describe("#getIDFromGUID()", function() {
@ -35,4 +34,64 @@ describe("Zotero.FeedItems", function () {
assert.isFalse(feedItem);
});
});
describe("#toggleReadByID()", function() {
var save, feed, items, ids;
before(function() {
save = sinon.spy(Zotero.FeedItem.prototype, 'save');
});
beforeEach(function* (){
feed = yield createFeed();
items = [];
for (let i = 0; i < 10; i++) {
let item = yield createDataObject('feedItem', { guid: Zotero.randomString(), libraryID: feed.id });
item.isRead = true;
yield item.forceSaveTx();
items.push(item);
}
ids = Array.map(items, (i) => i.id);
});
after(function() {
save.restore();
});
afterEach(function* () {
save.reset();
yield clearFeeds();
});
it('should toggle all items read if at least one unread', function* () {
items[0].isRead = false;
yield items[0].forceSaveTx();
yield Zotero.FeedItems.toggleReadByID(ids);
for(let i = 0; i < 10; i++) {
assert.isTrue(save.thisValues[i].isRead, "#toggleRead called with true");
}
});
it('should toggle all items unread if all read', function* () {
yield Zotero.FeedItems.toggleReadByID(ids);
for(let i = 0; i < 10; i++) {
assert.isFalse(save.thisValues[i].isRead, "#toggleRead called with false");
}
});
it('should toggle all items unread if unread state specified', function* () {
items[0].isRead = false;
yield items[0].forceSaveTx();
yield Zotero.FeedItems.toggleReadByID(ids, false);
for(let i = 0; i < 10; i++) {
assert.isFalse(save.thisValues[i].isRead, "#toggleRead called with true");
}
});
});
});