У меня сейчас проблема с тестом в мокко. Я хочу протестировать метод getById, который возвращает объект из базы данных mongodb. Все отлично работает, кроме сравнения даты. Это то, что я делаю.
description ('Service.Step.getById', function () {
before(done => {
mongoose.connect(getConnectionString());
mongoose.connection.on('error', () => {
console.error("Connecting to database failed");
});
mongoose.connection.once('open', () => {
console.log('Connected to Database');
done();
});
});
it('should return a step', async function(){
assert.equal((await StepService.getById("someId")).toObject(), {
Title : "SomeTitle",
_id: mongodb.ObjectID("someId"),
SchemaVersion : "0.0.1",
Description: "SomeDescription",
Video: "Video.mp4",
Image : null,
__v : 0,
Created : "2018-09-05T15:24:11.779Z",
Updated : "2018-09-05T15:24:11.779Z"
});
});
Теперь проблема в том, что mongoose возвращает объект Date, а не просто строку. (это то, что показывает тест)
- «Обновлено»: [Дата: 2018-09-05T15: 24: 11,779Z]
- «Обновлено»: «2018-09-05T15: 24: 11,779Z»
однако, если я заменю Созданное (или Обновленное) в assert на
Created : new Date("2018-09-05T15:24:11.779Z")
мой тест не пройден полностью. Вы знаете, как я мог это исправить?