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