From 70c7b7dfe79c2a5f5656bf5329c6d09f4aff5098 Mon Sep 17 00:00:00 2001 From: Danijel Martinek Date: Wed, 6 May 2026 13:03:37 +0200 Subject: [PATCH] test(auth): tighten R25 + sign-in controller assertions per code review Code-quality reviewer flagged: - R25 'malformed output' tests used .rejects.toThrow(/parse|invalid/i) which could match unrelated errors. Replaced with .rejects.toBeInstanceOf(ZodError) for both sign-in and sign-up. - sign-in controller test asserted result.name only as truthy; the parallel sign-up test was already precise (toBe('session')). Tightened to match. 61 tests still passing for @repo/auth. --- .../auth/src/application/use-cases/sign-in.use-case.test.ts | 3 ++- .../auth/src/application/use-cases/sign-up.use-case.test.ts | 3 ++- .../interface-adapters/controllers/sign-in.controller.test.ts | 3 +-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/auth/src/application/use-cases/sign-in.use-case.test.ts b/packages/auth/src/application/use-cases/sign-in.use-case.test.ts index ca5388e..32bbc74 100644 --- a/packages/auth/src/application/use-cases/sign-in.use-case.test.ts +++ b/packages/auth/src/application/use-cases/sign-in.use-case.test.ts @@ -1,4 +1,5 @@ import { describe, it, expect } from "vitest"; +import { ZodError } from "zod"; import { signInUseCase, signInOutputSchema } from "@/application/use-cases/sign-in.use-case"; import { MockUsersRepository } from "@/infrastructure/repositories/users.repository.mock"; import { MockAuthenticationService } from "@/infrastructure/services/authentication.service.mock"; @@ -60,7 +61,7 @@ describe("signInUseCase output validation (R25)", () => { } as unknown as IAuthenticationService; const useCase = signInUseCase(users, auth); - await expect(useCase({ username: "alice", password: "x" })).rejects.toThrow(/parse|invalid/i); + await expect(useCase({ username: "alice", password: "x" })).rejects.toBeInstanceOf(ZodError); }); it("exports an output schema that mirrors the success shape", () => { diff --git a/packages/auth/src/application/use-cases/sign-up.use-case.test.ts b/packages/auth/src/application/use-cases/sign-up.use-case.test.ts index c3d62a4..c2a32ff 100644 --- a/packages/auth/src/application/use-cases/sign-up.use-case.test.ts +++ b/packages/auth/src/application/use-cases/sign-up.use-case.test.ts @@ -1,4 +1,5 @@ import { describe, it, expect } from "vitest"; +import { ZodError } from "zod"; import { signUpUseCase, signUpOutputSchema } from "@/application/use-cases/sign-up.use-case"; import { MockUsersRepository } from "@/infrastructure/repositories/users.repository.mock"; import { MockAuthenticationService } from "@/infrastructure/services/authentication.service.mock"; @@ -48,7 +49,7 @@ describe("signUpUseCase output validation (R25)", () => { const useCase = signUpUseCase(users, auth); await expect( useCase({ username: "carol", password: "secret_password", confirmPassword: "secret_password" }), - ).rejects.toThrow(/parse|invalid/i); + ).rejects.toBeInstanceOf(ZodError); }); it("exports an output schema that mirrors the success shape", () => { diff --git a/packages/auth/src/interface-adapters/controllers/sign-in.controller.test.ts b/packages/auth/src/interface-adapters/controllers/sign-in.controller.test.ts index 0816eb5..b72ada3 100644 --- a/packages/auth/src/interface-adapters/controllers/sign-in.controller.test.ts +++ b/packages/auth/src/interface-adapters/controllers/sign-in.controller.test.ts @@ -20,8 +20,7 @@ describe("signInController", () => { username: "alice", password: "testpassword", }); - expect(result).toBeDefined(); - expect(result.name).toBeTruthy(); + expect(result.name).toBe("session"); expect(result.value).toBeTruthy(); });