0
Я запускаю ранние тесты API, и ошибка должна быть очевидной, но я получаю мужественный взгляд, глядя на тот же код в течение 45 минут.Mocha Test of Mongoose Model дает ошибку с 'then'
Здесь ошибка
Creating User document find or create a twitter user:
TypeError: Cannot read property 'then' of undefined
Вот тест. Ошибка с линией .then (пользователь => {...}
const assert = require('assert');
const User = require('../models/userModel');
const userController = require('../controllers/usersController');
describe('Creating User document',() => {
it('find or create a twitter user', (done) => {
userController.findOrCreateHelper({
username : 'testuser',
displayName : 'testUserDisplay',
id : 111000100,
provider : 'Twitter'
})
.then(user => {
console.log('*** Error in this .then bracket ***', user)
assert(user === 'testuser')
assert(user.id === 111000100)
done()
}).catch(error => console.error(error))
})
Вот контроллер
const mongoose = require('mongoose');
const User = require('../models/userModel');
exports.findUser = ({id}) => {
return User.findOne({id})
}
exports.createUser = ({username, displayName, id, provider}) => {
return User.create({username, displayName, id, provider })
}
exports.findOrCreateHelper = (provider) => {
exports.findUser({id})
.then(user => {
if (!user) {
exports.createUser(provider)
}
})
}
Обнаружена проблема ... подробнее ниже – bresson