test(database): advance fake timers past the save yield (#1555)

This commit is contained in:
ZacharyZcR authored and GitHub committed 2026-10-03 21:28:28 +08:00
1 parent b00551c394
commit 13f5736d8f
1 file changed
+4 -1
@@ -18,7 +18,10 @@ describe("DatabaseSaveTrigger", () => {
expect(save).not.toHaveBeenCalled();
expect(DatabaseSaveTrigger.isDirty).toBe(true);
expect(DatabaseSaveTrigger.getStatus().hasPendingTimeout).toBe(false);
await DatabaseSaveTrigger.forceSave("periodic_flush");
const flushed = DatabaseSaveTrigger.forceSave("periodic_flush");
// A save yields one event-loop turn, which fake timers also control.
await vi.runOnlyPendingTimersAsync();
await flushed;
expect(save).toHaveBeenCalledOnce();
expect(DatabaseSaveTrigger.isDirty).toBe(false);
});