mirror of
https://github.com/typicode/json-server.git
synced 2025-07-28 12:43:18 +08:00

* Remove automatic type conversion * Remove body-parser from default middlewares * Ignore lib * ES2015 * Use shortid * Add babel-register * Update paths to ./lib * Add .npmignore * Update bin * temp fix * Fix bin * Add message when creating default db * Use fs.watch * Fix operator existence test * Fix 0.12 tests * Update dependencies * Update * Increase timeout * Fix 0.12 support * 0.9.0-beta.1 * Fix missing example.json issue * 0.9.0-beta.2 * Update message * Update CHANGELOG.md * Update lowdb dependency * Add error message * Update README.md * Add database validation * Update * Update * Fix tests * Update
64 lines
1.4 KiB
JavaScript
64 lines
1.4 KiB
JavaScript
const request = require('supertest')
|
|
const jsonServer = require('../../src/server')
|
|
|
|
describe('Server', function () {
|
|
let server
|
|
let router
|
|
let db
|
|
|
|
beforeEach(function () {
|
|
db = {}
|
|
|
|
db.user = {
|
|
name: 'foo',
|
|
email: 'foo@example.com'
|
|
}
|
|
|
|
server = jsonServer.create()
|
|
router = jsonServer.router(db)
|
|
server.use(jsonServer.defaults())
|
|
server.use(router)
|
|
})
|
|
|
|
describe('GET /:resource', function () {
|
|
it('should respond with corresponding resource', function (done) {
|
|
request(server)
|
|
.get('/user')
|
|
.expect(db.user)
|
|
.expect(200, done)
|
|
})
|
|
})
|
|
|
|
describe('POST /:resource', function () {
|
|
it('should create resource', function (done) {
|
|
const user = { name: 'bar' }
|
|
request(server)
|
|
.post('/user')
|
|
.send(user)
|
|
.expect(user)
|
|
.expect(201, done)
|
|
})
|
|
})
|
|
|
|
describe('PUT /:resource', function () {
|
|
it('should update resource', function (done) {
|
|
const user = { name: 'bar' }
|
|
request(server)
|
|
.put('/user')
|
|
.send(user)
|
|
.expect(user)
|
|
.expect(200, done)
|
|
})
|
|
})
|
|
|
|
describe('PATCH /:resource', function () {
|
|
it('should update resource', function (done) {
|
|
request(server)
|
|
.patch('/user')
|
|
.send({ name: 'bar' })
|
|
.expect({ name: 'bar', email: 'foo@example.com' })
|
|
.expect(200, done)
|
|
})
|
|
})
|
|
})
|