UNPKG

@eplata/memory-storage-data

Version:

Modulo que nos permitirá obtener data en memoria

73 lines (49 loc) • 2.28 kB
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); }); });