aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/server/routes/decks.test.ts
diff options
context:
space:
mode:
authornsfisis <54318333+nsfisis@users.noreply.github.com>2026-02-13 20:23:31 +0900
committerGitHub <noreply@github.com>2026-02-13 20:23:31 +0900
commitce6bbcea37d014b9575299d2d079fda7ccb5628d (patch)
tree1fe3a43f1c7ab469bb0154a1495028cc42b414a0 /src/server/routes/decks.test.ts
parent9a52e7ad3b2d46c523caf079794fdb7757375b91 (diff)
parent1afb825860cd293b8065d51746f4b23e4e8dab5d (diff)
downloadkioku-ce6bbcea37d014b9575299d2d079fda7ccb5628d.tar.gz
kioku-ce6bbcea37d014b9575299d2d079fda7ccb5628d.tar.zst
kioku-ce6bbcea37d014b9575299d2d079fda7ccb5628d.zip
Merge pull request #15 from nsfisis/claude/remove-card-limit-10fVw
Remove newCardsPerDay limit and simplify card study logic
Diffstat (limited to 'src/server/routes/decks.test.ts')
-rw-r--r--src/server/routes/decks.test.ts53
1 files changed, 0 insertions, 53 deletions
diff --git a/src/server/routes/decks.test.ts b/src/server/routes/decks.test.ts
index d0854c1..f686024 100644
--- a/src/server/routes/decks.test.ts
+++ b/src/server/routes/decks.test.ts
@@ -6,7 +6,6 @@ import type {
CardRepository,
Deck,
DeckRepository,
- ReviewLogRepository,
} from "../repositories/index.js";
import { createDecksRouter } from "./decks.js";
@@ -32,23 +31,12 @@ function createMockCardRepo(): CardRepository {
softDeleteByNoteId: vi.fn(),
findDueCards: vi.fn(),
countDueCards: vi.fn().mockResolvedValue(0),
- countDueNewCards: vi.fn().mockResolvedValue(0),
- countDueReviewCards: vi.fn().mockResolvedValue(0),
findDueCardsWithNoteData: vi.fn(),
findDueCardsForStudy: vi.fn(),
- findDueNewCardsForStudy: vi.fn(),
- findDueReviewCardsForStudy: vi.fn(),
updateFSRSFields: vi.fn(),
};
}
-function createMockReviewLogRepo(): ReviewLogRepository {
- return {
- create: vi.fn(),
- countTodayNewCardReviews: vi.fn().mockResolvedValue(0),
- };
-}
-
const JWT_SECRET = process.env.JWT_SECRET || "test-secret";
async function createTestToken(userId: string): Promise<string> {
@@ -69,7 +57,6 @@ function createMockDeck(overrides: Partial<Deck> = {}): Deck {
userId: "user-uuid-123",
name: "Test Deck",
description: "Test description",
- newCardsPerDay: 20,
createdAt: new Date("2024-01-01"),
updatedAt: new Date("2024-01-01"),
deletedAt: null,
@@ -92,18 +79,15 @@ describe("GET /api/decks", () => {
let app: Hono;
let mockDeckRepo: ReturnType<typeof createMockDeckRepo>;
let mockCardRepo: ReturnType<typeof createMockCardRepo>;
- let mockReviewLogRepo: ReturnType<typeof createMockReviewLogRepo>;
let authToken: string;
beforeEach(async () => {
vi.clearAllMocks();
mockDeckRepo = createMockDeckRepo();
mockCardRepo = createMockCardRepo();
- mockReviewLogRepo = createMockReviewLogRepo();
const decksRouter = createDecksRouter({
deckRepo: mockDeckRepo,
cardRepo: mockCardRepo,
- reviewLogRepo: mockReviewLogRepo,
});
app = new Hono();
app.onError(errorHandler);
@@ -155,18 +139,15 @@ describe("POST /api/decks", () => {
let app: Hono;
let mockDeckRepo: ReturnType<typeof createMockDeckRepo>;
let mockCardRepo: ReturnType<typeof createMockCardRepo>;
- let mockReviewLogRepo: ReturnType<typeof createMockReviewLogRepo>;
let authToken: string;
beforeEach(async () => {
vi.clearAllMocks();
mockDeckRepo = createMockDeckRepo();
mockCardRepo = createMockCardRepo();
- mockReviewLogRepo = createMockReviewLogRepo();
const decksRouter = createDecksRouter({
deckRepo: mockDeckRepo,
cardRepo: mockCardRepo,
- reviewLogRepo: mockReviewLogRepo,
});
app = new Hono();
app.onError(errorHandler);
@@ -194,7 +175,6 @@ describe("POST /api/decks", () => {
userId: "user-uuid-123",
name: "New Deck",
description: undefined,
- newCardsPerDay: 20,
});
});
@@ -202,7 +182,6 @@ describe("POST /api/decks", () => {
const newDeck = createMockDeck({
name: "Full Deck",
description: "Full description",
- newCardsPerDay: 30,
});
vi.mocked(mockDeckRepo.create).mockResolvedValue(newDeck);
@@ -215,7 +194,6 @@ describe("POST /api/decks", () => {
body: JSON.stringify({
name: "Full Deck",
description: "Full description",
- newCardsPerDay: 30,
}),
});
@@ -226,7 +204,6 @@ describe("POST /api/decks", () => {
userId: "user-uuid-123",
name: "Full Deck",
description: "Full description",
- newCardsPerDay: 30,
});
});
@@ -271,18 +248,15 @@ describe("GET /api/decks/:id", () => {
let app: Hono;
let mockDeckRepo: ReturnType<typeof createMockDeckRepo>;
let mockCardRepo: ReturnType<typeof createMockCardRepo>;
- let mockReviewLogRepo: ReturnType<typeof createMockReviewLogRepo>;
let authToken: string;
beforeEach(async () => {
vi.clearAllMocks();
mockDeckRepo = createMockDeckRepo();
mockCardRepo = createMockCardRepo();
- mockReviewLogRepo = createMockReviewLogRepo();
const decksRouter = createDecksRouter({
deckRepo: mockDeckRepo,
cardRepo: mockCardRepo,
- reviewLogRepo: mockReviewLogRepo,
});
app = new Hono();
app.onError(errorHandler);
@@ -344,18 +318,15 @@ describe("PUT /api/decks/:id", () => {
let app: Hono;
let mockDeckRepo: ReturnType<typeof createMockDeckRepo>;
let mockCardRepo: ReturnType<typeof createMockCardRepo>;
- let mockReviewLogRepo: ReturnType<typeof createMockReviewLogRepo>;
let authToken: string;
beforeEach(async () => {
vi.clearAllMocks();
mockDeckRepo = createMockDeckRepo();
mockCardRepo = createMockCardRepo();
- mockReviewLogRepo = createMockReviewLogRepo();
const decksRouter = createDecksRouter({
deckRepo: mockDeckRepo,
cardRepo: mockCardRepo,
- reviewLogRepo: mockReviewLogRepo,
});
app = new Hono();
app.onError(errorHandler);
@@ -405,27 +376,6 @@ describe("PUT /api/decks/:id", () => {
expect(body.deck?.description).toBe("New description");
});
- it("updates newCardsPerDay", async () => {
- const updatedDeck = createMockDeck({ newCardsPerDay: 50 });
- vi.mocked(mockDeckRepo.update).mockResolvedValue(updatedDeck);
-
- const res = await app.request(
- "/api/decks/00000000-0000-0000-0000-000000000000",
- {
- method: "PUT",
- headers: {
- Authorization: `Bearer ${authToken}`,
- "Content-Type": "application/json",
- },
- body: JSON.stringify({ newCardsPerDay: 50 }),
- },
- );
-
- expect(res.status).toBe(200);
- const body = (await res.json()) as DeckResponse;
- expect(body.deck?.newCardsPerDay).toBe(50);
- });
-
it("returns 404 for non-existent deck", async () => {
vi.mocked(mockDeckRepo.update).mockResolvedValue(undefined);
@@ -477,18 +427,15 @@ describe("DELETE /api/decks/:id", () => {
let app: Hono;
let mockDeckRepo: ReturnType<typeof createMockDeckRepo>;
let mockCardRepo: ReturnType<typeof createMockCardRepo>;
- let mockReviewLogRepo: ReturnType<typeof createMockReviewLogRepo>;
let authToken: string;
beforeEach(async () => {
vi.clearAllMocks();
mockDeckRepo = createMockDeckRepo();
mockCardRepo = createMockCardRepo();
- mockReviewLogRepo = createMockReviewLogRepo();
const decksRouter = createDecksRouter({
deckRepo: mockDeckRepo,
cardRepo: mockCardRepo,
- reviewLogRepo: mockReviewLogRepo,
});
app = new Hono();
app.onError(errorHandler);