UNPKG

ask-cli

Version:

Alexa Skills Kit (ASK) Command Line Interfaces

54 lines (46 loc) 1.7 kB
const folderHash = require('folder-hash'); const sinon = require('sinon'); const { expect } = require('chai'); const hashUtils = require('@src/utils/hash-utils'); describe('Utils test - hash utility', () => { describe('# getHash function tests', () => { const TEST_DIR_PATH = 'DIR_PATH'; const expectedOptions = { algo: 'sha1', encoding: 'base64', folders: { exclude: ['.*', 'node_modules', 'test_coverage', 'dist', 'build'], ignoreRootName: true }, }; it('| can correctly callback hash code', (done) => { const TEST_HASH_CODE = 'HASH_CODE'; const TEST_RESULT = { hash: TEST_HASH_CODE }; // setup sinon.stub(folderHash, 'hashElement').withArgs(TEST_DIR_PATH, expectedOptions).callsArgWith(2, null, TEST_RESULT); // call hashUtils.getHash(TEST_DIR_PATH, (error, response) => { // verify expect(error).equal(null); expect(response).equal(TEST_HASH_CODE); done(); }); }); it('| can correctly callback error', (done) => { const TEST_ERROR = 'ERROR'; // setup sinon.stub(folderHash, 'hashElement').withArgs(TEST_DIR_PATH, expectedOptions).callsArgWith(2, TEST_ERROR); // call hashUtils.getHash(TEST_DIR_PATH, (error) => { // verify expect(error).equal(TEST_ERROR); done(); }); }); afterEach(() => { sinon.restore(); }); }); });