From 60befe52e4fec76ff7cbe6c169510661d443a971 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adomas=20Ven=C4=8Dkauskas?= Date: Thu, 8 Dec 2016 12:16:44 +0200 Subject: [PATCH] Remove database closed errors in sync tests --- test/tests/syncRunnerTest.js | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/test/tests/syncRunnerTest.js b/test/tests/syncRunnerTest.js index 1470bb3d6..36f06a0bf 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(); }