mirror of
https://github.com/IT4Change/boilerplate-backend.git
synced 2025-12-13 10:25:49 +00:00
unit test with data
This commit is contained in:
parent
6b27b89890
commit
b936fe6a40
@ -11,4 +11,5 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
setupFiles: ['./test/testSetup.ts'],
|
||||
setupFilesAfterEnv: ['./test/testSetupAfterEnv.ts'],
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
},
|
||||
"prisma": {
|
||||
"seed": "ts-node prisma/seed.ts"
|
||||
},
|
||||
},
|
||||
"dependencies": {
|
||||
"@apollo/server": "^4.9.5",
|
||||
"@prisma/client": "^5.6.0",
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { ApolloServer } from '@apollo/server'
|
||||
|
||||
import { prisma } from '#src/prisma'
|
||||
import { createServer } from '#src/server/server'
|
||||
|
||||
let testServer: ApolloServer
|
||||
@ -9,19 +10,44 @@ beforeAll(async () => {
|
||||
})
|
||||
|
||||
describe('HelloResolver', () => {
|
||||
it('return "Hello World!"', async () => {
|
||||
const response = await testServer.executeOperation({
|
||||
query: '{ hello { hello } }',
|
||||
})
|
||||
expect(response.body).toMatchObject({
|
||||
kind: 'single',
|
||||
singleResult: {
|
||||
data: {
|
||||
hello: {
|
||||
hello: 'Hello world!',
|
||||
describe('with no data', () => {
|
||||
it('returns "no data found"', async () => {
|
||||
const response = await testServer.executeOperation({
|
||||
query: '{ hello { hello } }',
|
||||
})
|
||||
expect(response.body).toMatchObject({
|
||||
kind: 'single',
|
||||
singleResult: {
|
||||
data: {
|
||||
hello: {
|
||||
hello: 'no data found',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('with data', () => {
|
||||
it('returns "Hello World!"', async () => {
|
||||
await prisma.hello.create({
|
||||
data: {
|
||||
text: 'Hello World!',
|
||||
},
|
||||
})
|
||||
const response = await testServer.executeOperation({
|
||||
query: '{ hello { hello } }',
|
||||
})
|
||||
expect(response.body).toMatchObject({
|
||||
kind: 'single',
|
||||
singleResult: {
|
||||
data: {
|
||||
hello: {
|
||||
hello: 'Hello World!',
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@ -8,6 +8,6 @@ export class HelloResolver {
|
||||
@Query(() => Hello)
|
||||
async hello(): Promise<Hello> {
|
||||
const data = await prisma.hello.findFirst()
|
||||
return new Hello(data?.text ?? 'Hello World!')
|
||||
return new Hello(data?.text ?? 'no data found')
|
||||
}
|
||||
}
|
||||
|
||||
9
test/helpers.ts
Normal file
9
test/helpers.ts
Normal file
@ -0,0 +1,9 @@
|
||||
import { prisma } from '#src/prisma'
|
||||
|
||||
export const deleteAll = async () => {
|
||||
await prisma.hello.deleteMany()
|
||||
}
|
||||
|
||||
export const disconnect = async () => {
|
||||
prisma.$disconnect()
|
||||
}
|
||||
10
test/testSetupAfterEnv.ts
Normal file
10
test/testSetupAfterEnv.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { deleteAll, disconnect } from './helpers'
|
||||
|
||||
beforeAll(async () => {
|
||||
await deleteAll()
|
||||
})
|
||||
|
||||
afterAll(async () => {
|
||||
await deleteAll()
|
||||
await disconnect()
|
||||
})
|
||||
Loading…
x
Reference in New Issue
Block a user