Mock .save() использует мокко-грехи в секвенировании

#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 ? Показать минимальный, полный код