miter
Version:
A typescript web framework based on ExpressJs based loosely on SailsJs
34 lines • 1.85 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const chai_1 = require("chai");
const sinonChai = require("sinon-chai");
chai_1.use(sinonChai);
const delay_1 = require("../delay");
describe('util/delay', () => {
it('should throw an error if the argument is not a number', () => {
chai_1.expect(() => delay_1.delay()).to.throw(/not a number/i);
chai_1.expect(() => delay_1.delay(null)).to.throw(/not a number/i);
chai_1.expect(() => delay_1.delay('string')).to.throw(/not a number/i);
chai_1.expect(() => delay_1.delay({ key: 'value' })).to.throw(/not a number/i);
});
it('should return a promise', () => __awaiter(this, void 0, void 0, function* () {
chai_1.expect(delay_1.delay(100)).to.be.an.instanceOf(Promise);
}));
describe('that promise', () => {
it('should resolve after the specified number of milliseconds', () => __awaiter(this, void 0, void 0, function* () {
let beginMillis = new Date().valueOf();
yield delay_1.delay(100);
let endMillis = new Date().valueOf();
chai_1.expect(endMillis - beginMillis).to.be.closeTo(100, 20);
}));
});
});
//# sourceMappingURL=delay.spec.js.map