From ea63780600b514e6b8b0e29aa53060b1fd4c3824 Mon Sep 17 00:00:00 2001 From: Abe Jellinek Date: Thu, 29 Feb 2024 11:05:12 -0800 Subject: [PATCH] FileHandlers tests: Wait for notifier instead of _setState() call _setState() doesn't await setAttachmentLastPageIndex(), so the setting sometimes won't be updated in the cache by the time we call getAttachmentLastPageIndex() below. Notifier event should work every time (and is a lot simpler). --- test/tests/fileHandlersTest.js | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/test/tests/fileHandlersTest.js b/test/tests/fileHandlersTest.js index cf5c9094b7..a7549a5ead 100644 --- a/test/tests/fileHandlersTest.js +++ b/test/tests/fileHandlersTest.js @@ -34,20 +34,12 @@ describe("Zotero.FileHandlers", () => { let reader = Zotero.Reader.getByTabID(win.Zotero_Tabs.selectedID); assert.ok(reader); - // Wait for _setState() (is there an easier way to do this?) - let stub = sinon.stub(reader, '_setState'); - let setStatePromise = new Promise((resolve) => { - stub.callsFake(async (...args) => { - await stub.wrappedMethod.apply(reader, args); - resolve(); - }); - }); + let notifierPromise = waitForNotifierEvent('add', 'setting'); await reader._waitForReader(); - await setStatePromise; + await notifierPromise; // Check that the reader navigated to the correct page assert.equal(pdf.getAttachmentLastPageIndex(), 2); - stub.restore(); }); it("should open a PDF in a new window when no handler is set and openInWindow is passed", async function () {