diff --git a/test/tests/syncRunnerTest.js b/test/tests/syncRunnerTest.js index 1470bb3d6c..36f06a0bf8 100644 --- a/test/tests/syncRunnerTest.js +++ b/test/tests/syncRunnerTest.js @@ -556,6 +556,18 @@ describe("Zotero.Sync.Runner", function () { }) describe("#sync()", function () { + // Notifier is triggered without waiting for async actions to finish, which + // fires off database queries after its been closed. + var observerTriggerDeferred; + beforeEach(function() { + observerTriggerDeferred = Zotero.Promise.defer(); + sinon.stub(Zotero.Notifier, 'trigger', + (e) => {if (e == 'finish') observerTriggerDeferred.resolve(); return Zotero.Promise.resolve()}); + }); + afterEach(function* () { + yield observerTriggerDeferred.promise; + Zotero.Notifier.trigger.restore(); + }); it("should perform a sync across all libraries and update library versions", function* () { setResponse('keyInfo.fullAccess'); setResponse('userGroups.groupVersions'); @@ -946,7 +958,18 @@ describe("Zotero.Sync.Runner", function () { describe("Error Handling", function () { var win; - afterEach(function () { + // Notifier is triggered without waiting for async actions to finish, which + // fires off database queries after its been closed. + var observerTriggerDeferred; + beforeEach(function() { + observerTriggerDeferred = Zotero.Promise.defer(); + sinon.stub(Zotero.Notifier, 'trigger', + (e) => {if (e == 'finish') observerTriggerDeferred.resolve(); return Zotero.Promise.resolve()}); + }); + + afterEach(function* () { + yield observerTriggerDeferred.promise; + Zotero.Notifier.trigger.restore(); if (win) { win.close(); }