レコードの削除
2257 ワード
4つの異なる方法
静的メソッド:
インスタンスメソッド:
各テストの前にインスタンスを作成
testでdelete_を作成するtest.jsファイル:
const assert = require('assert');
const User = require('../src/user');
describe('Deleting a user', () => {
let joe;
//
beforeEach((done) => {
joe = new User({name : 'Joe'});
joe.save()
.then(() => done());
});
});
インスタンスメソッドremove
//
it('model instance remove', (done) => {
joe.remove()
.then(() => User.findOne({name : 'Joe'}))
.then((user) => {
assert(user === null);
done();
});
});
静的メソッドremove
//
it('class method remove', (done) => {
//
User.remove({name : 'Joe'})
.then(() => User.findOne({name : 'Joe'}))//Promise
.then((user) => {// Promise
assert(user === null);
done();
});
});
静的メソッドfindOneAndRemove
//
it('class method findOneAndRemove', (done) => {
User.findOneAndRemove({name : 'Joe'})
.then(() => User.findOne({name : 'Joe'}))
.then((user) => {
assert(user === null);
done();
});
});
静的方法findByIdAndRemove
//
it('class method findByIdAndRemove', (done) => {
//User.findByIdAndRemove({_id : joe._id})
User.findByIdAndRemove(joe._id)
.then(() => User.findOne({name : 'Joe'}))
.then((user) => {
assert(user === null);
done();
});
});