Mockgoose .POST 方法在调用 insert() 时失败
Mockgoose .POST method failing when insert() is called
我正在开发 API 但使用 BDD 方法。我唯一失败的测试是 mongodb POST 方法。 Mocha 说我的 insert() 属性 未定义。我的所有其他数据库功能都通过了。但据我所知,我说的是正确的。这是我的路线:
server.post('/courses/course', function(req, res, next) {
req.course.insert(req.body, {}, function(err, results) {
if(err) return next(err);
res.send(results);
});
});
我的测试 (mocha/CHAI):
var id;
it('should create a new course basic info', function(done) {
request(server)
.post('/courses/course')
.send({
tdcNumber: 'some wierd number',
shortTitle: 'Ammo something',
longTitle: 'Mass Destruction Power'
})
.expect(200)
.end(function(err, res) {
if(err) return done(err);
expect(err).to.equal(null);
expect(res.body.length).to.equal(1);
expect(res.body[0]._id.length).to.equal(24);
id = res.body[0]._id;
//expect(res.body.success).to.equal(true);
//expect(res.body).to.be.an('object');
//expect(res.body.course.shortTitle).to.equal('Ammo something');
//expect(res.body.course.tdcNuymber).to.equal('some wierd number');
//expect(res.body.course.longTitle).to.equal('Mass Destruction Power');
})
done();
});
我确信这是一个愚蠢的菜鸟错误。我的项目在 github https://github.com/EnergeticPixels/apiMockgoose
所以它在哪里??
托尼
使用了错误的方法。应该使用 .'save' 如下所示:
courseName.save(function(err) {
if(err) res.send(err);
res.json({message: 'A new course name added to the library shelves!', data: courseName});
});
带有示例代码的新项目是 https://github.com/EnergeticPixels/hermes-cardCatalog/commit/a675a322589cd1857b628ccf3122a18ae4c748cf
我正在开发 API 但使用 BDD 方法。我唯一失败的测试是 mongodb POST 方法。 Mocha 说我的 insert() 属性 未定义。我的所有其他数据库功能都通过了。但据我所知,我说的是正确的。这是我的路线:
server.post('/courses/course', function(req, res, next) {
req.course.insert(req.body, {}, function(err, results) {
if(err) return next(err);
res.send(results);
});
});
我的测试 (mocha/CHAI):
var id;
it('should create a new course basic info', function(done) {
request(server)
.post('/courses/course')
.send({
tdcNumber: 'some wierd number',
shortTitle: 'Ammo something',
longTitle: 'Mass Destruction Power'
})
.expect(200)
.end(function(err, res) {
if(err) return done(err);
expect(err).to.equal(null);
expect(res.body.length).to.equal(1);
expect(res.body[0]._id.length).to.equal(24);
id = res.body[0]._id;
//expect(res.body.success).to.equal(true);
//expect(res.body).to.be.an('object');
//expect(res.body.course.shortTitle).to.equal('Ammo something');
//expect(res.body.course.tdcNuymber).to.equal('some wierd number');
//expect(res.body.course.longTitle).to.equal('Mass Destruction Power');
})
done();
});
我确信这是一个愚蠢的菜鸟错误。我的项目在 github https://github.com/EnergeticPixels/apiMockgoose
所以它在哪里??
托尼
使用了错误的方法。应该使用 .'save' 如下所示:
courseName.save(function(err) {
if(err) res.send(err);
res.json({message: 'A new course name added to the library shelves!', data: courseName});
});
带有示例代码的新项目是 https://github.com/EnergeticPixels/hermes-cardCatalog/commit/a675a322589cd1857b628ccf3122a18ae4c748cf