UNPKG

@zendesk/zcli-themes

Version:

zcli theme commands live here

30 lines (29 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const sinon = require("sinon"); const test_1 = require("@oclif/test"); const fs = require("fs"); const createThemePackage = require("./createThemePackage"); describe('createThemePackage', () => { beforeEach(() => { sinon.restore(); }); it('returns an object containing a readStream and a removePackage method', async () => { const writeStreamStub = sinon.createStubInstance(fs.WriteStream); sinon.stub(fs, 'createWriteStream').returns(writeStreamStub); const readFileSync = sinon.createStubInstance(Buffer); sinon.stub(fs, 'readFileSync').returns(readFileSync); const unlinkSyncStub = sinon.stub(fs, 'unlinkSync'); const createZipArchiveStub = sinon.stub(createThemePackage, 'createZipArchive'); createZipArchiveStub.returns({ pipe: sinon.stub(), directory: sinon.stub(), file: sinon.stub(), finalize: sinon.stub() }); // eslint-disable-line @typescript-eslint/no-explicit-any const { file, removePackage } = await createThemePackage.default('theme/path'); (0, test_1.expect)(file).to.instanceOf(Buffer); removePackage(); (0, test_1.expect)(unlinkSyncStub.called).to.equal(true); }); });