From eb85d1c0216824f22a48a82d09eb69d745534c2d Mon Sep 17 00:00:00 2001 From: Dale Seo Date: Sat, 19 Oct 2024 17:34:00 -0400 Subject: [PATCH 1/6] fix: vitest setup --- vite.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vite.config.ts b/vite.config.ts index dcaffac4..dd387542 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -9,6 +9,6 @@ export default defineConfig({ test: { globals: true, environment: "jsdom", - setupFiles: ["./vitest.setup.ts"], + setupFiles: ["./src/vitest.setup.ts"], }, }); From 10bd494c605760a6e9a2422986769da1dd87d01f Mon Sep 17 00:00:00 2001 From: Dale Seo Date: Sat, 19 Oct 2024 17:34:21 -0400 Subject: [PATCH 2/6] test: add tests for error page --- src/components/ErrorPage/ErrorPage.test.tsx | 43 +++++++++++++++++++ .../ErrorPage.tsx} | 0 src/main.tsx | 2 +- 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 src/components/ErrorPage/ErrorPage.test.tsx rename src/components/{error-page/error-page.tsx => ErrorPage/ErrorPage.tsx} (100%) diff --git a/src/components/ErrorPage/ErrorPage.test.tsx b/src/components/ErrorPage/ErrorPage.test.tsx new file mode 100644 index 00000000..530a8fe6 --- /dev/null +++ b/src/components/ErrorPage/ErrorPage.test.tsx @@ -0,0 +1,43 @@ +import { faker } from "@faker-js/faker"; +import { render, screen } from "@testing-library/react"; +import { useRouteError } from "react-router-dom"; +import { expect, test, vi } from "vitest"; +import ErrorPage from "./ErrorPage"; + +vi.mock("react-router-dom"); + +test("displays the title and message", () => { + vi.mocked(useRouteError).mockReturnValue({ + statusText: faker.lorem.text(), + message: faker.lorem.sentence(), + }); + + render(); + + expect(screen.getByRole("heading", { level: 1 })).toHaveTextContent(/oops!/i); + expect( + screen.getByText(/sorry, an unexpected error has occurred./i), + ).toBeInTheDocument(); +}); + +test("displays the status text when available", () => { + const statusText = faker.lorem.text(); + const message = faker.lorem.sentence(); + + vi.mocked(useRouteError).mockReturnValue({ statusText, message }); + + render(); + + expect(screen.getByText(new RegExp(statusText, "i"))).toBeInTheDocument(); +}); + +test("displays the error message when status text is not available", () => { + const statusText = ""; + const message = faker.lorem.sentence(); + + vi.mocked(useRouteError).mockReturnValue({ statusText, message }); + + render(); + + expect(screen.getByText(new RegExp(message, "i"))).toBeInTheDocument(); +}); diff --git a/src/components/error-page/error-page.tsx b/src/components/ErrorPage/ErrorPage.tsx similarity index 100% rename from src/components/error-page/error-page.tsx rename to src/components/ErrorPage/ErrorPage.tsx diff --git a/src/main.tsx b/src/main.tsx index c7c07809..af26a3de 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -3,7 +3,7 @@ import { StrictMode } from "react"; import { createRoot } from "react-dom/client"; import { createBrowserRouter, RouterProvider } from "react-router-dom"; import Certificate from "./components/certificate/certificate"; -import ErrorPage from "./components/error-page/error-page"; +import ErrorPage from "./components/ErrorPage/ErrorPage"; import Leaderboard from "./components/leaderboard/leaderboard"; import Progress from "./components/progress/progress"; import "./index.css"; From 5fb8030792f50df0624374898a6acf9b66f063dd Mon Sep 17 00:00:00 2001 From: Dale Seo Date: Sat, 19 Oct 2024 17:42:26 -0400 Subject: [PATCH 3/6] fix: CODEOWNERS --- .github/CODEOWNERS | 1 + .github/codeowners | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 .github/CODEOWNERS delete mode 100644 .github/codeowners diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..dd816a88 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @DaleStudy/leaderboard diff --git a/.github/codeowners b/.github/codeowners deleted file mode 100644 index 5339663b..00000000 --- a/.github/codeowners +++ /dev/null @@ -1 +0,0 @@ -@DaleStudy/leaderboard From 86790468080979c7579ce7680c17ddddad4076cc Mon Sep 17 00:00:00 2001 From: Dale Seo Date: Sat, 19 Oct 2024 17:46:29 -0400 Subject: [PATCH 4/6] deps: add faker --- bun.lockb | Bin 292479 -> 292834 bytes package.json | 1 + src/components/ErrorPage/ErrorPage.test.tsx | 4 ++-- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/bun.lockb b/bun.lockb index f7ba5a51c53b4d18d056dff337b01f8ba5440211..7011804d0fb087ab98ca2f226cf93a7d406ca65f 100755 GIT binary patch delta 41207 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 ynkxan9kS1dBP@k%~ffId(>;DUQ^3SyZ delta 41799 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 z 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 { vi.mocked(useRouteError).mockReturnValue({ - statusText: faker.lorem.text(), + statusText: faker.lorem.sentence(), message: faker.lorem.sentence(), }); @@ -21,7 +21,7 @@ test("displays the title and message", () => { }); test("displays the status text when available", () => { - const statusText = faker.lorem.text(); + const statusText = faker.lorem.sentence(); const message = faker.lorem.sentence(); vi.mocked(useRouteError).mockReturnValue({ statusText, message }); From a86ed565104a7c7fc27cbfedeed7bff53e39aa74 Mon Sep 17 00:00:00 2001 From: Dale Seo Date: Sat, 19 Oct 2024 18:46:05 -0400 Subject: [PATCH 5/6] test: use happy-dom instead of jsdom --- bun.lockb | Bin 292834 -> 282634 bytes package.json | 2 +- tsconfig.json | 6 +----- vite.config.ts | 3 +-- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/bun.lockb b/bun.lockb index 7011804d0fb087ab98ca2f226cf93a7d406ca65f..13e8f8a89472a208d5b14fe37ca677788ac16f0e 100755 GIT binary patch delta 29411 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 S7KcubV#_=8r|A$aq5lV9!~Jdm delta 35106 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 diff --git a/package.json b/package.json index 74c82c2c..75778e34 100644 --- a/package.json +++ b/package.json @@ -45,8 +45,8 @@ "eslint-plugin-react-hooks": "^5.1.0-rc-fb9a90fa48-20240614", "eslint-plugin-react-refresh": "^0.4.12", "eslint-plugin-storybook": "^0.9.0", + "happy-dom": "^15.7.4", "husky": "^9.1.6", - "jsdom": "^25.0.1", "lint-staged": "^15.2.10", "prettier": "^3.3.3", "storybook": "^8.3.5", diff --git a/tsconfig.json b/tsconfig.json index 7dc866f5..1ffef600 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,9 +3,5 @@ "references": [ { "path": "./tsconfig.app.json" }, { "path": "./tsconfig.node.json" } - ], - /* Vitest */ - "compilerOptions": { - "types": ["vitest/globals", "vitest/jsdom"] - } + ] } diff --git a/vite.config.ts b/vite.config.ts index dd387542..a99d7bdd 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -7,8 +7,7 @@ import { defineConfig } from "vite"; export default defineConfig({ plugins: [react()], test: { - globals: true, - environment: "jsdom", + environment: "happy-dom", setupFiles: ["./src/vitest.setup.ts"], }, }); From cb9b2c1551efa731f8ca896b3f36410f8db19631 Mon Sep 17 00:00:00 2001 From: Dale Seo Date: Sat, 19 Oct 2024 19:31:50 -0400 Subject: [PATCH 6/6] test: add coverage config --- .gitignore | 5 ++++- bun.lockb | Bin 282634 -> 294535 bytes package.json | 4 ++++ src/vitest.setup.ts | 2 +- vite.config.ts | 9 +++++++++ 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 23359e0f..a0ee7b11 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ yarn-error.log* pnpm-debug.log* lerna-debug.log* -node_modules +node_modules dist dist-ssr *.local @@ -26,3 +26,6 @@ dist-ssr *storybook.log styled-system + +# Tests +coverage \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index 13e8f8a89472a208d5b14fe37ca677788ac16f0e..a007e7af7fcda2de634dd29e084673b25a862b28 100755 GIT binary patch delta 53778 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%0ANAhB!srYObC`8&YPGC|SBK+ic>~K|i>vI1yQ}1% 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�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 delta 47486 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

eS)yEDW1*=bsTrVeg2pg1 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 CtpBb6 diff --git a/package.json b/package.json index 75778e34..296456dd 100644 --- a/package.json +++ b/package.json @@ -6,9 +6,12 @@ "scripts": { "build": "tsc -b && vite build", "dev": "vite", + "format:check": "prettier . --check", + "format:write": "prettier . --write", "lint": "eslint .", "preview": "vite preview", "test": "vitest", + "coverage": "vitest run src --coverage", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", "prepare": "husky & panda codegen" @@ -39,6 +42,7 @@ "@types/react": "^18.3.11", "@types/react-dom": "^18.3.1", "@vitejs/plugin-react-swc": "^3.7.1", + "@vitest/coverage-v8": "2.1.3", "eslint": "^9.12.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", diff --git a/src/vitest.setup.ts b/src/vitest.setup.ts index b7c87a71..004761e5 100644 --- a/src/vitest.setup.ts +++ b/src/vitest.setup.ts @@ -1,4 +1,4 @@ -import "@testing-library/jest-dom"; +import "@testing-library/jest-dom/vitest"; import { cleanup } from "@testing-library/react"; import { afterEach } from "vitest"; diff --git a/vite.config.ts b/vite.config.ts index a99d7bdd..2dff920e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -9,5 +9,14 @@ export default defineConfig({ test: { environment: "happy-dom", setupFiles: ["./src/vitest.setup.ts"], + coverage: { + include: ["src/**/*.ts?(x)"], + thresholds: { + lines: 10, + functions: 20, + statements: 10, + branches: 30, + }, + }, }, });