Skip to content

Commit

Permalink
feat: basic test setup
Browse files Browse the repository at this point in the history
  • Loading branch information
ThangHuuVu committed Nov 25, 2023
1 parent a3809f6 commit 79ae251
Show file tree
Hide file tree
Showing 6 changed files with 598 additions and 9 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ dist
packages/next-auth/providers
packages/next-auth/src/providers/oauth-types.ts
packages/*/*.js
!vite.config.js
packages/*/*.d.ts
packages/*/*.d.ts.map
packages/*/lib
Expand Down
6 changes: 5 additions & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@
"clean": "rm -rf *.js *.d.ts* lib providers",
"css": "node scripts/generate-css",
"dev": "pnpm css && pnpm providers && tsc -w",
"test": "vitest",
"providers": "node scripts/generate-providers"
},
"devDependencies": {
Expand All @@ -89,7 +90,10 @@
"@types/nodemailer": "6.4.6",
"@types/react": "18.0.37",
"autoprefixer": "10.4.13",
"msw": "^2.0.9",
"postcss": "8.4.19",
"postcss-nested": "6.0.0"
"postcss-nested": "6.0.0",
"vite": "^5.0.2",
"vitest": "^0.25.3"
}
}
19 changes: 19 additions & 0 deletions packages/core/src/test/session.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { describe, expect, it } from "vitest"


describe("suite", () => {
it("msw mock http://hello", async () => {
const reponse = await fetch(
"https://next-auth-example.com/api/auth/session"
)
const data = await reponse.json()
expect(data).toEqual({
user: {
name: "John Doe",
email: "[email protected]",
image: "https://next-auth-example.com/avatar.jpg",
},
})
})
})

30 changes: 30 additions & 0 deletions packages/core/src/test/setup.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import { afterAll, afterEach, beforeAll } from "vitest"
import { setupServer } from "msw/node"
import { HttpResponse, http } from "msw"

const authOptions = [

]

export const restHandlers = [
http.get("https://next-auth-example.com/api/auth/session", () => {
return HttpResponse.json({
user: {
name: "John Doe",
email: "[email protected]",
image: "https://next-auth-example.com/avatar.jpg",
},
})
}),
]

const server = setupServer(...restHandlers)

// Start server before all tests
beforeAll(() => server.listen({ onUnhandledRequest: "error" }))

// Close server after all tests
afterAll(() => server.close())

// Reset handlers after each test `important for test isolation`
afterEach(() => server.resetHandlers())
11 changes: 11 additions & 0 deletions packages/core/vite.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/// <reference types="vitest" />

import { defineConfig } from 'vite'

// https://vitejs.dev/config/
export default defineConfig({
plugins: [],
test: {
setupFiles: ['./src/test/setup.ts'],
},
})
Loading

0 comments on commit 79ae251

Please sign in to comment.