From 3fd80aa2b3432abc97be55e6fbb8413ac1ae93cb Mon Sep 17 00:00:00 2001 From: keitakn Date: Tue, 4 Jul 2023 17:13:24 +0900 Subject: [PATCH] =?UTF-8?q?:white=5Fcheck=5Fmark:=20#38=20extractCatNameBy?= =?UTF-8?q?Id=20=E3=81=AE=E3=83=86=E3=82=B9=E3=83=88=E8=BF=BD=E5=8A=A0?= =?UTF-8?q?=E3=81=A8=E3=83=87=E3=82=A3=E3=83=AC=E3=82=AF=E3=83=88=E3=83=AA?= =?UTF-8?q?=E3=81=AE=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__tests__/cat/extractCatNameById.spec.ts | 28 +++++++++++++++++++ .../__tests__/{cats => cat}/isCatId.spec.ts | 1 - src/features/cat.ts | 2 +- 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 src/features/__tests__/cat/extractCatNameById.spec.ts rename src/features/__tests__/{cats => cat}/isCatId.spec.ts (92%) diff --git a/src/features/__tests__/cat/extractCatNameById.spec.ts b/src/features/__tests__/cat/extractCatNameById.spec.ts new file mode 100644 index 0000000..ce08b45 --- /dev/null +++ b/src/features/__tests__/cat/extractCatNameById.spec.ts @@ -0,0 +1,28 @@ +import { extractCatNameById, type CatId } from '@/features'; +import { ExhaustiveError } from '@/utils'; +import type { CatName } from '../../cat'; + +describe('src/features/cat.ts extractCatNameById TestCases', () => { + type TestTable = { + catId: CatId; + expected: CatName; + }; + + it.each` + catId | expected + ${'moko'} | ${'もこ'} + `( + 'should return catName. catId: $catId', + ({ catId, expected }: TestTable) => { + expect(extractCatNameById(catId)).toStrictEqual(expected); + } + ); + + it.each` + catId + ${'cat'} + ${'unknown'} + `('should ExhaustiveError Throw. catId: $catId', ({ catId }: TestTable) => { + expect(() => extractCatNameById(catId)).toThrow(ExhaustiveError); + }); +}); diff --git a/src/features/__tests__/cats/isCatId.spec.ts b/src/features/__tests__/cat/isCatId.spec.ts similarity index 92% rename from src/features/__tests__/cats/isCatId.spec.ts rename to src/features/__tests__/cat/isCatId.spec.ts index e60dcbb..2dfdd7f 100644 --- a/src/features/__tests__/cats/isCatId.spec.ts +++ b/src/features/__tests__/cat/isCatId.spec.ts @@ -1,4 +1,3 @@ -/* eslint-disable no-magic-numbers */ import { isCatId, type CatId } from '@/features'; describe('src/features/cat.ts isCatId TestCases', () => { diff --git a/src/features/cat.ts b/src/features/cat.ts index 711adfd..d9b4107 100644 --- a/src/features/cat.ts +++ b/src/features/cat.ts @@ -6,7 +6,7 @@ export type CatId = (typeof catIds)[number]; const catNames = ['もこ'] as const; -type CatName = (typeof catNames)[number]; +export type CatName = (typeof catNames)[number]; export type FetchCatMessageDto = { catId: CatId;