-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtest.js
More file actions
34 lines (31 loc) · 822 Bytes
/
test.js
File metadata and controls
34 lines (31 loc) · 822 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import TestRunner from 'test-runner'
import BodyParser from 'lws-body-parser'
import Lws from 'lws'
import { strict as a } from 'assert'
import fetch from 'node-fetch'
const tom = new TestRunner.Tom()
tom.test('middleware correctly receives a parsed json object', async function () {
const actuals = []
const port = 8000 + this.index
class One {
middleware (options) {
return function (ctx, next) {
actuals.push(ctx.request.body.one)
}
}
}
const lws = await Lws.create({
port,
stack: [BodyParser, One]
})
const response = await fetch(`http://localhost:${port}/`, {
method: 'POST',
headers: {
'content-type': 'application/json'
},
body: JSON.stringify({ one: 'one' })
})
lws.server.close()
a.deepEqual(actuals, ['one'])
})
export default tom