Files
json-server/test/server/singular.js
typicode 2b26630ac6 v0.9.0 (#404)
* 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
2016-11-12 01:59:43 +01:00

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)
})
})
})