@eplata/memory-storage-data
Version:
Modulo que nos permitirá obtener data en memoria
73 lines (49 loc) • 2.28 kB
JavaScript
const chai = require('chai');
const proxyquire = require('proxyquire').noCallThru();
const sinon = require('sinon');
const faker = require('faker');
const chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
const expect = chai.expect;
describe('Memory StorageDataModule::CRUD - Pruebas unitarias de la funcionalidad initData.', () => {
describe('Case Success - add data success', () => {
const keyDataMock = faker.random.word();
const dataMock = { test: faker.random.word() };
const ttlDataMock = 3600;
const setDataMock = sinon.stub().resolves(true);
const infoMock = sinon.spy();
const errorMock = sinon.spy();
const initDataFunciton = proxyquire('./../../src/memory-storage/object/init-data', {
'./../../db-queries': { setData: setDataMock },
'./../../libs/logger': { info: infoMock, error: errorMock }
});
const responsePromise = initDataFunciton(keyDataMock, dataMock, { ttl: ttlDataMock });
it(`Should solve successful.`, () => {
expect(responsePromise).be.fulfilled;
});
it(`should called db.setData() once.`, () => {
expect(setDataMock.calledOnce).to.be.true;
});
it(`should not called logger.error() never.`, () => {
expect(errorMock.calledOnce).to.be.false;
});
});
describe('Case Exception - id not setData', () => {
const keyDataMock = faker.random.word();
const dataMock = { test: faker.random.word() };
const ttlDataMock = 3600;
const setDataMock = sinon.stub().rejects({});
const infoMock = sinon.spy();
const errorMock = sinon.spy();
const initDataFunciton = proxyquire('./../../src/memory-storage/object/init-data', {
'./../../db-queries': { setData: setDataMock },
'./../../libs/logger': { info: infoMock, error: errorMock }
});
const responsePromise = initDataFunciton(keyDataMock, dataMock, { ttl: ttlDataMock });
it('Promise should NOT be resolved', async () => {
expect(responsePromise).to.eventually
.be.rejectedWith();
});
responsePromise.catch(err => err);
});
});