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'],
|
setupFiles: ['./test/testSetup.ts'],
|
||||||
|
setupFilesAfterEnv: ['./test/testSetupAfterEnv.ts'],
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import { ApolloServer } from '@apollo/server'
|
import { ApolloServer } from '@apollo/server'
|
||||||
|
|
||||||
|
import { prisma } from '#src/prisma'
|
||||||
import { createServer } from '#src/server/server'
|
import { createServer } from '#src/server/server'
|
||||||
|
|
||||||
let testServer: ApolloServer
|
let testServer: ApolloServer
|
||||||
@ -9,7 +10,8 @@ beforeAll(async () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
describe('HelloResolver', () => {
|
describe('HelloResolver', () => {
|
||||||
it('return "Hello World!"', async () => {
|
describe('with no data', () => {
|
||||||
|
it('returns "no data found"', async () => {
|
||||||
const response = await testServer.executeOperation({
|
const response = await testServer.executeOperation({
|
||||||
query: '{ hello { hello } }',
|
query: '{ hello { hello } }',
|
||||||
})
|
})
|
||||||
@ -18,10 +20,34 @@ describe('HelloResolver', () => {
|
|||||||
singleResult: {
|
singleResult: {
|
||||||
data: {
|
data: {
|
||||||
hello: {
|
hello: {
|
||||||
hello: 'Hello world!',
|
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)
|
@Query(() => Hello)
|
||||||
async hello(): Promise<Hello> {
|
async hello(): Promise<Hello> {
|
||||||
const data = await prisma.hello.findFirst()
|
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