From a47a41031ba4393f0cdf2da0058a94379cfc5280 Mon Sep 17 00:00:00 2001 From: C4NoN424 Date: Fri, 5 Jan 2024 17:38:10 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20errors.ts=E3=81=A8errors.test.ts?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3=E3=80=81src/entry/main.ts=E3=81=ABi?= =?UTF-8?q?mport=E3=81=AE=E8=A8=98=E8=BF=B0=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entry/adaptor/errors.test.ts | 47 ++++++++++++++++++++++---------- src/entry/adaptor/errors.ts | 14 +++++++++- src/entry/main.ts | 1 + 3 files changed, 46 insertions(+), 16 deletions(-) diff --git a/src/entry/adaptor/errors.test.ts b/src/entry/adaptor/errors.test.ts index 998d71e..95654f3 100644 --- a/src/entry/adaptor/errors.test.ts +++ b/src/entry/adaptor/errors.test.ts @@ -1,16 +1,33 @@ -// function that takes an error type and returns a string type -// the errors in the conversion source is defined in ../service/entry.test.ts -// the error code of the conversion destination is written in README.md +import { describe, it, expect } from "vitest"; -function errorToCode(error: Error): string { - switch (error.message) { - case "too many members": - return "TOO_MANY_MEMBERS"; - case "no member": - return "NO_MEMBER"; - case "teamName Exists": - return "TEAM_ALREADY_EXISTS"; - default: - return "UNKNOWN_ERROR"; - } -} +describe("正しくエラーコードに変換できる", () => { + const errorToCode = (error: Error) => { + switch (error.message) { + case "too many members": + return "TOO_MANY_MEMBERS"; + case "no member": + return "NO_MEMBER"; + case "teamName Exists": + return "TEAM_ALREADY_EXISTS"; + default: + return "UNKNOWN_ERROR"; + } + }; + it("too many members", () => { + const error = new Error("too many members"); + expect(errorToCode(error)).toBe("TOO_MANY_MEMBERS"); + }); + it("no member", () => { + const error = new Error("no member"); + expect(errorToCode(error)).toBe("NO_MEMBER"); + }); + it("teamName Exists", () => { + const error = new Error("teamName Exists"); + expect(errorToCode(error)).toBe("TEAM_ALREADY_EXISTS"); + }); + + it("other", () => { + const error = new Error("other"); + expect(errorToCode(error)).toBe("UNKNOWN_ERROR"); + }); +}); diff --git a/src/entry/adaptor/errors.ts b/src/entry/adaptor/errors.ts index 639714e..e4dff5e 100644 --- a/src/entry/adaptor/errors.ts +++ b/src/entry/adaptor/errors.ts @@ -1 +1,13 @@ -// write something here +export { errorToCode }; +function errorToCode(error: Error): string { + switch (error.message) { + case "too many members": + return "TOO_MANY_MEMBERS"; + case "no member": + return "NO_MEMBER"; + case "teamName Exists": + return "TEAM_ALREADY_EXISTS"; + default: + return "UNKNOWN_ERROR"; + } +} diff --git a/src/entry/main.ts b/src/entry/main.ts index 9c6a83e..164df2e 100644 --- a/src/entry/main.ts +++ b/src/entry/main.ts @@ -4,6 +4,7 @@ import { entryRequestSchema } from "./schema.js"; import { Controller } from "./controller.js"; import { Result } from "@mikuroxina/mini-fn"; import { JSONEntryRepository } from "./adaptor/json.js"; +import { errorToCode } from "./adaptor/errors.ts"; export const entryHandler = new Hono(); // export const controller = new Controller(new DummyRepository());