jeudi 23 juillet 2015

How do I stub new Date() using sinon?

I want to verify that various date fields were updated properly but I don't want to mess around with predicting when new Date() was called. How do I stub out the Date constructor?

import sinon = require('sinon');
import should = require('should');

describe('tests', () => {
  var sandbox;

  var now:Date = new Date();

  it('sets create_date', done => {
    sandbox.stub(Date).returns(now); // does not work

    Widget.create((err, widget) => {
      should.not.exist(err);
      should.exist(widget);
      widget.create_date.should.eql(now);

      done();
    });
  });
});

In case it is relevant, these tests are running in a node app and we use TypeScript.

Aucun commentaire:

Enregistrer un commentaire