diff options
Diffstat (limited to 'src/client/sync/scheduler.test.ts')
| -rw-r--r-- | src/client/sync/scheduler.test.ts | 75 |
1 files changed, 1 insertions, 74 deletions
diff --git a/src/client/sync/scheduler.test.ts b/src/client/sync/scheduler.test.ts index adee34e..d14b5ae 100644 --- a/src/client/sync/scheduler.test.ts +++ b/src/client/sync/scheduler.test.ts @@ -10,12 +10,7 @@ import { localReviewLogRepository, } from "../db/repositories"; import { syncQueue } from "./queue"; -import { - cacheStudyCards, - type ServerStudyCard, - submitReviewLocal, - undoReviewLocal, -} from "./scheduler"; +import { submitReviewLocal, undoReviewLocal } from "./scheduler"; async function clearDb() { await db.decks.clear(); @@ -182,71 +177,3 @@ describe("undoReviewLocal", () => { expect(logs).toHaveLength(0); }); }); - -describe("cacheStudyCards", () => { - beforeEach(async () => { - await clearDb(); - localStorage.clear(); - }); - - afterEach(async () => { - await clearDb(); - localStorage.clear(); - }); - - function makeServerCard(id: string): ServerStudyCard { - return { - id, - deckId: "deck-1", - noteId: `note-${id}`, - isReversed: false, - front: "front", - back: "back", - state: 0, - due: "2026-05-02T00:00:00.000Z", - stability: 0, - difficulty: 0, - elapsedDays: 0, - scheduledDays: 0, - reps: 0, - lapses: 0, - lastReview: null, - createdAt: "2026-05-01T00:00:00.000Z", - updatedAt: "2026-05-01T00:00:00.000Z", - deletedAt: null, - syncVersion: 1, - }; - } - - it("upserts new cards into IndexedDB as synced", async () => { - await cacheStudyCards([makeServerCard("card-1"), makeServerCard("card-2")]); - - const card1 = await localCardRepository.findById("card-1"); - expect(card1?._synced).toBe(true); - expect(card1?.due).toBeInstanceOf(Date); - expect(card1?.syncVersion).toBe(1); - - const card2 = await localCardRepository.findById("card-2"); - expect(card2).toBeDefined(); - }); - - it("does not clobber unsynced local edits", async () => { - const deck = await seedDeck(); - const card = await seedSyncedCard(deck.id); - await submitReviewLocal({ - cardId: card.id, - rating: Rating.Good, - durationMs: 1000, - }); - - const before = await localCardRepository.findById(card.id); - expect(before?._synced).toBe(false); - - // Simulate the server returning a stale view of this card. - await cacheStudyCards([{ ...makeServerCard(card.id), reps: 0, state: 0 }]); - - const after = await localCardRepository.findById(card.id); - expect(after?._synced).toBe(false); - expect(after?.reps).toBe(1); - }); -}); |
