#node.js #testing #sequelize.js #mocha.js #sinon-chai
Вопрос:
У меня возникли проблемы с тестированием метода обновления моего репозитория
async update(data) {
try {
const query = {
where: {
id: data.id,
},
include: [{
model: Repository.OrderLine,
as: 'lines'
}],
};
const result = await Repository.Order.findOne(query);
result.status = data.status;
result.packages = data.packages;
await result.save();
return resu<
} catch (err) {
throw new Error(message);
}
}
Когда я тестирую этот метод с мокко, синон чай выглядит следующим образом:
var sandbox = sinon.createSandbox();
sampleOrder = {
id: 123,
status: 1,
packages: 0,
date: "2021-07-18T21:52:00.000Z",
clientName: "Fake client",
clientAddress: "Fake address",
notes: "Pedido A Credito",
total: 2331,
lines: [{
id: 1,
productIdShow: "IP1409",
productQty: 1,
productAvailable: 1,
productName: "Servilleta Elite Gold Navideña Mesa X20 (20 Paq X 20 Serv)",
productPrice: 100.00,
subTotal: 100.00,
taxes: 22.00,
total: 122.00,
OrderId: 1,
}]
};
it('update order', async() => {
repositoryStub = sandbox.stub(Repository.Order, 'findOne').resolves(sampleOrder);
let result = await orderRespository.update(sampleOrder);
expect(updateStub).to.be.calledOnce;
expect(result).to.exist;
});
Это показывает мне следующую ошибку:
result.save не является функцией
У кого-нибудь есть идеи, как это исправить??
Комментарии:
1. Что это
sampleOrder
? Показать минимальный, полный код