@eplata/memory-storage-data
Version:
Modulo que nos permitirá obtener data en memoria
76 lines (52 loc) • 2.43 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 deleteData.', () => {
describe('Case Success - delete success', () => {
const keyDataMock = faker.random.word();
const dataMock = { test: faker.random.word() };
const saveDataMock = sinon.stub().resolves(dataMock);
const existsMock = sinon.stub().resolves();
const infoMock = sinon.spy();
const errorMock = sinon.spy();
const deleteDataFunciton = proxyquire('./../../src/memory-storage/object/delete-data.js', {
'../../db-queries': { exists: existsMock, updateData: saveDataMock },
'./libs/logger': { info: infoMock, error: errorMock }
});
const responsePromise = deleteDataFunciton(keyDataMock);
it(`Should solve successful.`, () => {
expect(responsePromise).be.fulfilled;
});
it(`should called exists() once.`, () => {
expect(existsMock.calledOnce).to.be.true;
});
it(`should not called logger.error() never.`, () => {
expect(errorMock.calledOnce).to.be.false;
});
});
describe('Case Exception - id not exists', () => {
const keyDataMock = faker.random.word();
const dataMock = { test: faker.random.word() };
const saveDataMock = sinon.stub().resolves(dataMock);
const existsMock = sinon.stub().rejects();
const infoMock = sinon.spy();
const errorMock = sinon.spy();
const deleteDataFunciton = proxyquire('./../../src/memory-storage/object/delete-data.js', {
'../../db-queries': { exists: existsMock, updateData: saveDataMock },
'../../libs/logger': { info: infoMock, error: errorMock }
});
const responsePromise = deleteDataFunciton(keyDataMock);
it('Promise should NOT be resolved', async () => {
expect(responsePromise).to.eventually
.be.rejectedWith();
});
it(`should called logger.error() once.`, () => {
expect(errorMock.calledOnce).to.be.true;
});
responsePromise.catch(err => err);
});
});