41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
import { Eltro as t, assert} from 'eltro'
|
|
|
|
import { createClient, startServer, log, resetLog } from './helper.server.mjs'
|
|
|
|
t.describe('Server', function() {
|
|
let client
|
|
|
|
t.before(function() {
|
|
client = createClient()
|
|
|
|
return startServer()
|
|
})
|
|
|
|
t.test('should run', async function() {
|
|
resetLog()
|
|
assert.strictEqual(log.info.callCount, 0)
|
|
let data = await client.get('/')
|
|
|
|
assert.ok(data)
|
|
assert.ok(data.name)
|
|
assert.ok(data.version)
|
|
assert.strictEqual(log.info.callCount, 1)
|
|
assert.strictEqual(log.info.lastCall[0].status, 200)
|
|
assert.match(log.info.lastCall[1], /\<-- GET \//)
|
|
})
|
|
|
|
t.test('should handle errors fine', async function() {
|
|
resetLog()
|
|
assert.strictEqual(log.warn.callCount, 0)
|
|
let data = await assert.isRejected(client.get('/error'))
|
|
|
|
assert.ok(data)
|
|
assert.ok(data.body)
|
|
assert.strictEqual(data.body.status, 500)
|
|
assert.match(data.body.message, /test/)
|
|
assert.strictEqual(log.error.firstCall[0].message, 'This is a test')
|
|
assert.strictEqual(log.error.callCount, 2)
|
|
assert.strictEqual(log.error.secondCall[0].status, 500)
|
|
assert.match(log.error.secondCall[1], /\<-- 500 GET \/error/)
|
|
})
|
|
})
|