Skip to content

Commit 8d37ae3

Browse files
committed
Added Vitest
1 parent ebdca21 commit 8d37ae3

8 files changed

Lines changed: 518 additions & 393 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
/.pnp
66
.pnp.js
77
.yarn/install-state.gz
8+
bun.lock
89

910
# testing
1011
/coverage

__tests__/Home.test.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { test } from "vitest";
2+
import { render } from "@testing-library/react"
3+
import SamplePage from "@/app/sample/page";
4+
5+
6+
test("Sample page render", () => {
7+
render(<SamplePage />)
8+
console.log("Sampel page render Success")
9+
10+
})
11+
12+

app/page.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import { CategoryMenu, Hero, Incentives, IntroducingSection, Newsletter, Product
33
export default function Home() {
44
return (
55
<>
6-
<Hero />
7-
<IntroducingSection />
8-
<CategoryMenu />
9-
<ProductsSection />
6+
<Hero />
7+
<IntroducingSection />
8+
<CategoryMenu />
9+
<ProductsSection />
1010
</>
1111
);
1212
}

app/sample/page.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
const SamplePage = () => {
2+
return (
3+
<div>
4+
<h4>Same Page</h4>
5+
</div>
6+
)
7+
}
8+
9+
export default SamplePage

bun.lock

Lines changed: 450 additions & 385 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@
66
"dev": "next dev",
77
"build": "next build",
88
"start": "next start",
9-
"lint": "next lint"
9+
"lint": "next lint",
10+
"test": "vitest"
1011
},
1112
"dependencies": {
1213
"@headlessui/react": "^1.7.18",
1314
"@prisma/client": "^5.10.2",
1415
"@tailwindcss/forms": "^0.5.7",
1516
"@tailwindcss/typography": "^0.5.10",
16-
"@types/bcryptjs": "^2.4.6",
17-
"@types/react-slick": "^0.23.13",
1817
"bcryptjs": "^2.4.3",
1918
"express-fileupload": "^1.5.0",
2019
"flowbite-react": "^0.7.2",
@@ -33,16 +32,23 @@
3332
"zustand": "^4.5.1"
3433
},
3534
"devDependencies": {
35+
"@types/bcryptjs": "^2.4.6",
36+
"@types/react-slick": "^0.23.13",
37+
"@testing-library/react": "^16.3.0",
3638
"@types/node": "^20",
3739
"@types/react": "^18",
3840
"@types/react-dom": "^18",
41+
"@vitejs/plugin-react": "^5.0.2",
3942
"autoprefixer": "^10.0.1",
4043
"daisyui": "^4.7.2",
4144
"eslint": "^8",
4245
"eslint-config-next": "14.1.0",
46+
"jsdom": "^26.1.0",
4347
"postcss": "^8",
4448
"prisma": "^5.10.2",
4549
"tailwindcss": "^3.3.0",
46-
"typescript": "^5"
50+
"typescript": "^5",
51+
"vite-tsconfig-paths": "^5.1.4",
52+
"vitest": "^3.2.4"
4753
}
4854
}

vitest.config.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { defineConfig } from 'vitest/config'
2+
import react from '@vitejs/plugin-react'
3+
import tsconfigPaths from 'vite-tsconfig-paths';
4+
5+
export default defineConfig({
6+
plugins: [react(), tsconfigPaths()],
7+
test: {
8+
globals: true,
9+
environment: 'jsdom',
10+
setupFiles: "./vitest.setup.ts",
11+
12+
exclude: ["./node_modules/"]
13+
},
14+
})

vitest.setup.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
2+
import "@testing-library/jest-dom";
3+
import { vi } from "vitest";
4+
5+
// Polyfill for matchMedia (needed by react-slick / enquire.js)
6+
Object.defineProperty(window, "matchMedia", {
7+
writable: true,
8+
value: vi.fn().mockImplementation((query) => ({
9+
matches: false,
10+
media: query,
11+
onchange: null,
12+
addListener: vi.fn(), // deprecated
13+
removeListener: vi.fn(), // deprecated
14+
addEventListener: vi.fn(),
15+
removeEventListener: vi.fn(),
16+
dispatchEvent: vi.fn(),
17+
})),
18+
});

0 commit comments

Comments
 (0)