// const fixtures = require('../fixtures/fixtures') const UserMock = require('../mocks/User') const notFoundError = new Error() notFoundError.name = 'NotFoundError' notFoundError.status = 404 const build = fixtures => { const models = { User: {}, Collection: { find: jest.fn(id => findMock(id, 'collections', fixtures)), }, Fragment: { find: jest.fn(id => findMock(id, 'fragments', fixtures)), }, } UserMock.find = jest.fn(id => findMock(id, 'users', fixtures)) models.User = UserMock return models } const findMock = (id, type, fixtures) => { const foundObj = Object.values(fixtures[type]).find( fixtureObj => fixtureObj.id === id, ) if (foundObj === undefined) return Promise.reject(notFoundError) return Promise.resolve(foundObj) } module.exports = { build }