Пересмешивающие конструкторы, использующие node и chai / sinon - PullRequest
0 голосов
/ 30 марта 2020

У меня есть такая функция

function buildToSend(repo) {
  const {
    name, ...data
  } = repo;
  return {
    msg: {
      application: data.name,
      date: new Date(),
    },
  };
}

И мне нужно протестировать ее, но я действительно не могу понять, как смоделировать / заглушить конструктор new Date().

Любой идеи?

Я уже пробовал что-то подобное, но это не сработало.

    const date = new Date();
    const myStub = sinon.stub(Date.prototype, 'constructor').returns(date);
    const input = {
      name: 'name',
    };
    expect(utils.buildToSend(input)).to.deep.equal({msg: {name: 'name', date: 'THE DATE'}});

Я что-то упустил, но я действительно не знаю что. (конечно, дату так не называют)

...