13
Chcę sprawdzić, czy różne pola daty zostały poprawnie zaktualizowane, ale nie chcę zadzierać z przewidywaniem, kiedy został wywołany new Date()
. Jak mogę wyłączyć konstruktor Date?Jak zaimplementować nową datę() przy użyciu sinon?
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();
});
});
});
Jeśli jest to istotne, testy te są uruchomione w aplikacji węzła i używamy TypeScript.
Niesamowite, wygląda na to, że robi to, czego potrzebowałem. Kiedy otrzymam wreszcie działającą wersję, zmienię ją w twoją odpowiedź i zaakceptuję. – MrHen