UNPKG

@eplata/utils

Version:

Modulo que contiene funciones generales para tratamiento de datos.

115 lines 5.44 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('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.`); }); } }); });