【发布时间】:2017-06-10 02:14:32
【问题描述】:
我正在运行 API 的早期测试,错误应该很明显,但我在 45 分钟内一直盯着相同的代码看。
这是错误
Creating User document find or create a twitter user:
TypeError: Cannot read property 'then' of undefined
这是测试。错误在于 .then(user=> {...}
行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)
}
})
}
【问题讨论】:
-
发现问题...详情如下