diff --git a/packages/core/__e2e__/monographs.test.js b/packages/core/__e2e__/monographs.test.js index 5486abba6..0e0c67a7a 100644 --- a/packages/core/__e2e__/monographs.test.js +++ b/packages/core/__e2e__/monographs.test.js @@ -53,9 +53,7 @@ test( const monographId = await db.monographs.publish(id); - expect( - (await db.monographs.all()).find((m) => m.id === id) - ).toBeDefined(); + expect(await db.monographs.all.has(id)).toBeTruthy(); const monograph = await db.monographs.get(monographId); const note = await db.notes.note(id); @@ -98,14 +96,10 @@ test( await db.monographs.refresh(); await db.monographs.publish(id); - expect( - (await db.monographs.all()).find((m) => m.id === id) - ).toBeDefined(); + expect(await db.monographs.all.has(id)).toBeTruthy(); await db.monographs.unpublish(id); - expect( - (await db.monographs.all()).find((m) => m.id === id) - ).toBeUndefined(); + expect(await db.monographs.all.has(id)).toBeFalsy(); await logout(db); }), diff --git a/packages/core/__e2e__/sync.test.js b/packages/core/__e2e__/sync.test.js index e65bd73f7..ef2b3589f 100644 --- a/packages/core/__e2e__/sync.test.js +++ b/packages/core/__e2e__/sync.test.js @@ -48,7 +48,10 @@ test( deviceB.eventManager.subscribe(EVENTS.syncProgress, onSyncProgress); await deviceC.notes.add({ title: "new note 1" }); - await syncAndWait(deviceC, deviceC); + + await deviceC.sync(true); + await deviceA.sync(true); + await deviceB.sync(true); expect(types.every((t) => t === "download")).toBe(true); @@ -74,6 +77,7 @@ test( }); await syncAndWait(deviceA, deviceB); + await deviceA.sync(true); expect(await deviceA.notes.note(note2Id)).toBeTruthy(); expect(await deviceB.notes.note(note1Id)).toBeTruthy(); @@ -326,7 +330,9 @@ async function initializeDevice(id, capabilities = []) { compressor: Compressor, sqliteOptions: { dialect: (name) => - new SqliteDialect({ database: BetterSQLite3(":memory:") }) + new SqliteDialect({ + database: BetterSQLite3(":memory:").unsafeMode(true) + }) }, batchSize: 500 }); @@ -367,25 +373,19 @@ function syncAndWait(deviceA, deviceB, force = false) { return new Promise((resolve, reject) => { const ref2 = deviceB.eventManager.subscribe( EVENTS.databaseSyncRequested, - (full, force, lastSynced) => { - console.log("sync requested by device A", full, force, lastSynced); + (full, force) => { + if (!full) return; + console.log("sync requested by device A", full, force); ref2.unsubscribe(); deviceB .sync({ type: full ? "full" : "send", - force, - serverLastSynced: lastSynced + force }) .catch(reject); } ); - const ref = deviceB.eventManager.subscribe(EVENTS.syncCompleted, () => { - ref.unsubscribe(); - console.log("sync completed."); - resolve(); - }); - console.log( "waiting for sync...", "Device A:", diff --git a/packages/core/__tests__/utils/index.ts b/packages/core/__tests__/utils/index.ts index 2fb852112..12631495d 100644 --- a/packages/core/__tests__/utils/index.ts +++ b/packages/core/__tests__/utils/index.ts @@ -50,7 +50,9 @@ function databaseTest() { compressor: Compressor, sqliteOptions: { dialect: (name) => - new SqliteDialect({ database: BetterSQLite3(":memory:") }) + new SqliteDialect({ + database: BetterSQLite3(":memory:").unsafeMode(true) + }) }, batchSize: 500 }); diff --git a/packages/core/src/api/sync/auto-sync.ts b/packages/core/src/api/sync/auto-sync.ts index c75d77fa6..5a5c944dd 100644 --- a/packages/core/src/api/sync/auto-sync.ts +++ b/packages/core/src/api/sync/auto-sync.ts @@ -59,7 +59,8 @@ export class AutoSync { item && (item.remote || ("localOnly" in item && item.localOnly) || - ("failed" in item && item.failed) || ("dateUploaded" in item && item.dateUploaded)) + ("failed" in item && item.failed) || + ("dateUploaded" in item && item.dateUploaded)) ) return;