49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
"use strict";
|
|
|
|
describe("Zotero.Sync.EventListeners", function () {
|
|
describe("AutoSyncListener", function () {
|
|
var originalTimeout;
|
|
|
|
before(function () {
|
|
originalTimeout = Zotero.Sync.EventListeners.AutoSyncListener._editTimeout;
|
|
assert.ok(originalTimeout);
|
|
// Set timeout to 1ms
|
|
Zotero.Sync.EventListeners.AutoSyncListener._editTimeout = 0.001;
|
|
Zotero.Prefs.set('sync.autoSync', true);
|
|
});
|
|
|
|
|
|
after(function () {
|
|
Zotero.Sync.EventListeners.AutoSyncListener._editTimeout = originalTimeout;
|
|
Zotero.Prefs.set('sync.autoSync', false);
|
|
Zotero.Prefs.clear('sync.librariesToSkip');
|
|
});
|
|
|
|
|
|
it("should sync only changed library", function* () {
|
|
var mock = sinon.mock(Zotero.Sync.Runner);
|
|
var expectation = mock.expects("setSyncTimeout").once();
|
|
|
|
var group = yield createGroup();
|
|
yield createDataObject('item', { libraryID: group.libraryID });
|
|
|
|
yield Zotero.Promise.delay(10);
|
|
mock.verify();
|
|
assert.sameMembers(expectation.getCall(0).args[2].libraries, [group.libraryID]);
|
|
});
|
|
|
|
|
|
it("shouldn't sync skipped library", function* () {
|
|
var mock = sinon.mock(Zotero.Sync.Runner);
|
|
var expectation = mock.expects("setSyncTimeout").never();
|
|
|
|
var group = yield createGroup();
|
|
Zotero.Prefs.set('sync.librariesToSkip', JSON.stringify(["G" + group.groupID]));
|
|
yield createDataObject('item', { libraryID: group.libraryID });
|
|
|
|
yield Zotero.Promise.delay(10);
|
|
mock.verify();
|
|
});
|
|
});
|
|
});
|