Я пытаюсь запустить тест с использованием Jest для этого API-интерфейса Nodejs. Хотя все работает, когда я запускаю приложение, оно терпит неудачу и возвращает ошибку
TypeError: Невозможно прочитать свойство 'store' из неопределенного
Тестовый код:
const request = require('supertest')
const server = require('../../server')
const { User } = require('../../app/models/User')
describe('User', () => {
test('should create user', async () => {
const user = await User.store({
name: 'Marcelo',
email: 'marcelo@vuttr.com',
password: '123456'
})
const response = await request(server)
.post('/user')
.send({
name: user.name,
email: user.email,
password: user.password
})
expect(response.status).toBe(200)
})
})
Контроллер:
const User = require('../models/User')
class UserController {
async store (req, res) {
const { email } = req.body
if (await User.findOne({ email })) {
return res.status(400).json({ error: 'User already exists' })
}
const user = await User.create(req.body)
return res.json(user)
}
}
module.exports = new UserController()
Для более подробной информации, я делюсь этим проектом в github .