forwardemail / forwardemail/supertest

Close server after tests

Open
#437 37 comments 26 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
14.4k
Forks
782
PR merge metrics
No merged PRs in 30d

Description

I have koa server with mongo connection, jest as test framework.

```
const app = new Koa()
...
export default app.listen(PORT, (err) => {
if (err) console.log(err)

if (!IS_TEST) {
console.log(`Server running on port: ${PORT}`)
}
})
```

After success finish test or fail server connection steel works, how close koa server connection after test ?

Test example:
```
import supertest from 'supertest'
import mongoose from 'mongoose'
import server from '../../../app/server'
import User from '../../../app/models/user'

const r = supertest.agent(server.listen())

afterEach(async (done) => {
await mongoose.connection.db.dropDatabase()
done()
})

describe('Authorization', () => {
describe('POST /signup', () => {
const userData = {
email: 'test@test.com',
password: 111111,
}

test('success create user', (done) => {
r
.post(`/api/auth/signup`)
.send(userData)
.expect(200)
.expect({
data: {
email: userData.email,
},
})
.end(done)
})

test('fail of user create, password required', (done) => {
const userData = {
email: 'test@test.com',
}

r
.post(`/api/auth/signup`)
.send(userData)
.expect(400)
.expect({
errors: {
password: 'Password required',
},
})
.end(done)
})

test('fail of user create, user already exist', async (done) => {
const userData = {
email: 'test@test.com',
password: 111111,
}

await User.create(userData)

r
.post(`/api/auth/signup`)
.send(userData)
.expect(400)
.expect({
errors: {
email: `User already exist`,
},
})
.end(done)
})
})
})
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.