@eplata/utils
Version:
Modulo que contiene funciones generales para tratamiento de datos.
115 lines • 5.44 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('Utils-module:string - tryParseBoolean() Unit Test', () => {
describe('Exception Case - throw an exception with a numeric parameter', () => {
const valueDataMock = faker.random.number();
const strictDataMock = true;
const tryParseBoolean = require('../../src/string/try-convert-to-boolean');
console.log(`value data mock: ${typeof valueDataMock}`);
try {
tryParseBoolean(valueDataMock, strictDataMock);
} catch (error) {
it('Should throw an exception', () => {
expect(error.message).to.be.equal('Se esperaba un valor string para convertir a boolean.');
});
}
});
describe('Success case - Get a boolean in Non-strict mode', () => {
const valueDataMock = 'True';
const strictDataMock = false;
const tryParseBoolean = require('../../src/string/try-convert-to-boolean');
const result = tryParseBoolean(valueDataMock, strictDataMock);
it(`Should return a boolean equal to true`, () => {
expect(result).to.be.equal(true);
});
});
describe('Success case - Get a boolean in Non-strict mode', () => {
const valueDataMock = '1';
const strictDataMock = false;
const tryParseBoolean = require('../../src/string/try-convert-to-boolean');
const result = tryParseBoolean(valueDataMock, strictDataMock);
it(`Should return a boolean equal to true`, () => {
expect(result).to.be.equal(true);
});
});
describe('Success case - Get a boolean in Non-strict mode', () => {
const valueDataMock = '0';
const strictDataMock = false;
const tryParseBoolean = require('../../src/string/try-convert-to-boolean');
const result = tryParseBoolean(valueDataMock, strictDataMock);
it(`Should return a boolean equal to true`, () => {
expect(result).to.be.equal(false);
});
});
describe('Success case - Get a boolean in Non-strict mode', () => {
const valueDataMock = 'False';
const strictDataMock = false;
const tryParseBoolean = require('../../src/string/try-convert-to-boolean');
const result = tryParseBoolean(valueDataMock, strictDataMock);
it(`Should return a boolean equal to true`, () => {
expect(result).to.be.equal(false);
});
});
describe('Fallback option - Get string as passed in Non-strict mode', () => {
const valueDataMock = faker.random.word();
const strictDataMock = false;
const tryParseBoolean = require('../../src/string/try-convert-to-boolean');
const result = tryParseBoolean(valueDataMock, strictDataMock);
it(`Should return string ${valueDataMock} as passed`, () => {
expect(result).to.be.equal(valueDataMock);
});
});
describe('Success case - Get a boolean in strict mode', () => {
const valueDataMock = 'True';
const strictDataMock = true;
const tryParseBoolean = require('../../src/string/try-convert-to-boolean');
const result = tryParseBoolean(valueDataMock, strictDataMock);
it(`Should return a boolean equal to true`, () => {
expect(result).to.be.equal(true);
});
});
describe('Success case - Get a boolean in strict mode', () => {
const valueDataMock = '1';
const strictDataMock = true;
const tryParseBoolean = require('../../src/string/try-convert-to-boolean');
const result = tryParseBoolean(valueDataMock, strictDataMock);
it(`Should return a boolean equal to true`, () => {
expect(result).to.be.equal(true);
});
});
describe('Success case - Get a boolean in strict mode', () => {
const valueDataMock = '0';
const strictDataMock = true;
const tryParseBoolean = require('../../src/string/try-convert-to-boolean');
const result = tryParseBoolean(valueDataMock, strictDataMock);
it(`Should return a boolean equal to true`, () => {
expect(result).to.be.equal(false);
});
});
describe('Success case - Get a boolean in strict mode', () => {
const valueDataMock = 'False';
const strictDataMock = true;
const tryParseBoolean = require('../../src/string/try-convert-to-boolean');
const result = tryParseBoolean(valueDataMock, strictDataMock);
it(`Should return a boolean equal to false`, () => {
expect(result).to.be.equal(false);
});
});
describe('Fallback option - Get an exception in strict mode when passing a string different from true or false', () => {
const valueDataMock = faker.random.word();
const strictDataMock = true;
const tryParseBoolean = require('../../src/string/try-convert-to-boolean');
try {
const result = tryParseBoolean(valueDataMock, strictDataMock);
} catch (error) {
it('Should return an exception', () => {
expect(error.message).to.be.equal(`No se puede convertir el valor ${valueDataMock} a boolean.`);
});
}
});
});