miter
Version:
A typescript web framework based on ExpressJs based loosely on SailsJs
37 lines • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const chai_1 = require("chai");
const sinon = require("sinon");
const sinonChai = require("sinon-chai");
chai_1.use(sinonChai);
const orm_service_1 = require("../orm.service");
const injector_1 = require("../../core/injector");
const logger_core_1 = require("../logger-core");
describe('ORMService', () => {
let injector;
let loggerCore;
beforeEach(() => {
loggerCore = new logger_core_1.LoggerCore('test', 'error', false);
injector = new injector_1.Injector(loggerCore);
});
describe('when no implementation has been provided to the injector', () => {
it('should resolve to null', () => {
let instance = injector.resolveInjectable(orm_service_1.ORMService);
chai_1.expect(instance).to.be.null;
});
it('should log an error using the "ORMService" logger', () => {
let myLogger = loggerCore.getSubsystem('ORMService');
sinon.stub(myLogger, 'error');
injector.resolveInjectable(orm_service_1.ORMService);
chai_1.expect(myLogger.error).to.have.been.calledOnce;
});
it('should only log an error once, even if it is resolved multiple times', () => {
let myLogger = loggerCore.getSubsystem('ORMService');
sinon.stub(myLogger, 'error');
injector.resolveInjectable(orm_service_1.ORMService);
injector.resolveInjectable(orm_service_1.ORMService);
chai_1.expect(myLogger.error).to.have.been.calledOnce;
});
});
});
//# sourceMappingURL=orm.service.spec.js.map