Wie kann ich die stub new Date() mit sinon?

Ich will, um zu überprüfen, dass die verschiedenen Datums-Felder wurden korrekt aktualisiert, aber ich will nicht Durcheinander herum mit der Vorhersage, wenn new Date() genannt wurde. Wie kann ich die stub, die Date-Konstruktor?

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

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

  beforeEach(() => {
    sandbox = sinon.sandbox.create();
  });

  afterEach(() => {
    sandbox.restore();
  });

  var now = 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();
    });
  });
});

Falls es relevant ist, diese tests laufen in einem Knoten app und verwenden wir Typoskript.

InformationsquelleAutor der Frage MrHen | 2015-07-23

Schreibe einen Kommentar