Integration tests for the study engine #30

Open
opened 2026-09-26 13:58:37 +00:00 by belvedere · 0 comments
Collaborator

Objective: Prove schedule → review → reschedule end to end.

Files:

  • Create: test/first_thousand_words/study/session_test.exs
  • Create: test/support/study_fixtures.ex

Steps:

  1. Fixture helpers: build a deck with N cards for a seeded language pair.
  2. Test: a new card reviewed :good leaves :new and gets a due date.
  3. Test: four consecutive :again grades drive the card into the leech candidates.
  4. Test: re-running deck generation creates no duplicate cards.
  5. Test: cross-user isolation — user B cannot review user A's card.

Verify: mix test test/first_thousand_words/study/ — all pass.

**Objective:** Prove schedule → review → reschedule end to end. **Files:** - Create: `test/first_thousand_words/study/session_test.exs` - Create: `test/support/study_fixtures.ex` **Steps:** 1. Fixture helpers: build a deck with N cards for a seeded language pair. 2. Test: a new card reviewed `:good` leaves `:new` and gets a due date. 3. Test: four consecutive `:again` grades drive the card into the leech candidates. 4. Test: re-running deck generation creates no duplicate cards. 5. Test: cross-user isolation — user B cannot review user A's card. **Verify:** `mix test test/first_thousand_words/study/` — all pass.
Sign in to join this conversation.
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nickkeers/first-thousand-words#30
No description provided.