all files / lib/ DataAPI.spec.js

100% Statements 35/35
75% Branches 3/4
100% Functions 1/1
100% Lines 34/34
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69                                                                     
'use strict';
 
var _chai = require('chai');
 
var _DataAPI = require('./DataAPI');
 
var _DataAPI2 = _interopRequireDefault(_DataAPI);
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
//endregion
 
//region T. Tests
//region 1. Platform Libraries
describe('Initialization', () => {
        it('should initialize with options', () => {
                const dataAPI = new _DataAPI2.default();
                const initResult = dataAPI.initialize({
                        environment: 'unit-test',
                        heartbeatInterval: 42,
                        logglySubdomain: process.env.CLIO_LOGGLY_SUBDOMAIN,
                        logglyToken: process.env.CLIO_LOGGLY_TOKEN,
                        logLevel: 'ERROR',
                        mongoUrl: process.env.CLIO_MONGO_URL,
                        port: 15926
                });
                _chai.assert.equal(true, initResult);
                _chai.assert.equal('unit-test', dataAPI.environment);
                _chai.assert.equal(42, _DataAPI2.default.heartbeatInterval);
                _chai.assert.equal(true, !!_DataAPI.logger);
                _chai.assert.deepEqual(['console', 'dailyRotateFile', 'loggly'], Object.keys(_DataAPI.logger.transports));
                _chai.assert.equal('ERROR', dataAPI.logLevel.name);
                _chai.assert.equal(process.env.CLIO_MONGO_URL, dataAPI.mongoUrl);
                _chai.assert.equal(15926, dataAPI.port);
        });
 
        it('should initialize without options', () => {
                const dataAPI = new _DataAPI2.default();
                _chai.assert.equal(true, dataAPI.initialize());
                _chai.assert.equal('', dataAPI.environment);
                _chai.assert.equal(10, _DataAPI2.default.heartbeatInterval);
                _chai.assert.equal(true, !!_DataAPI.logger);
                _chai.assert.deepEqual(['console', 'dailyRotateFile'], Object.keys(_DataAPI.logger.transports));
                _chai.assert.equal('DEBUG', dataAPI.logLevel.name);
                _chai.assert.equal('mongodb://localhost', dataAPI.mongoUrl);
                _chai.assert.equal(15925, dataAPI.port);
        });
 
        it('should return false if initialize with heartbeat interval of 0', () => {
                _chai.assert.equal(false, new _DataAPI2.default().initialize({ heartbeatInterval: 0 }));
        });
 
        it('should return false if initialize with Mongo URL of invalid scheme', () => {
                _chai.assert.equal(false, new _DataAPI2.default().initialize({ mongoUrl: 'invalid://localhost' }));
        });
 
        it('should return false if initialize with out of range port', () => {
                _chai.assert.equal(false, new _DataAPI2.default().initialize({ port: -1 }));
                _chai.assert.equal(false, new _DataAPI2.default().initialize({ port: 0 }));
                _chai.assert.equal(false, new _DataAPI2.default().initialize({ port: 70000 }));
        });
});
 
//endregion
 
//endregion
 
//region 2. Project Libraries
//# sourceMappingURL=DataAPI.spec.js.map