123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import router, { routes } from './route'
- import samples from './_sampleData'
- import sinon from 'sinon'
- import mongoose from 'mongoose'
- jest.mock('./model')
- function ResClass () {
- this._status = null
- this._data = null
- this.status = (status) => { this._status = status }
- this.send = (data) => { this._data = data }
- this.json = (data) => {
- this._data = data
- this._status = 200
- }
- }
- describe('Route handlers', () => {
- it('handles the GET request for lists.', () => {
- // if no _id is passed, return a list of objects.
- // apply the limits correctly
- const reqList = { params: {}, query: {limit: 2.4, offset: 1.2} }
- const res = new ResClass()
- const returnValue = routes.get(reqList, res)
- expect(returnValue).toBeUndefined()
- expect(res._data).toEqual(samples.slice(2, 4))
- expect(res._status).toBe(200)
- })
- it('handles the GET request for single documents.', () => {
- const reqOne = { params: {id: '18a0d6883d34293254afae42'}, query: undefined }
- const res = new ResClass()
- const returnValue = routes.get(reqOne, res)
- expect(returnValue).toBeUndefined()
- expect(res._data).toBe(samples[0])
- expect(res._status).toBe(200)
- })
- it('handles the POST request.', () => {
- const reqOne = { params: {id: '18a0d6883d34293254afae42'}, query: undefined }
- const res = new ResClass()
- const returnValue = routes.post(reqOne, res)
- expect(returnValue).toBeUndefined()
- expect(res._data).toBe(samples[0])
- expect(res._status).toBe(200)
- })
- })
|