'use strict'; const chai = require('chai'); const CLI = require('../../../../lib/classes/cli'); const Serverless = require('../../../../lib/serverless'); const { expect } = chai; chai.use(require('sinon-chai')); describe('CLI', () => { let cli; let serverless; beforeEach(() => { serverless = new Serverless({ commands: [], options: {} }); }); describe('#constructor()', () => { it('should set the serverless instance', () => { cli = new CLI(serverless); expect(cli.serverless).to.deep.equal(serverless); }); it('should set an empty loadedPlugins array', () => { cli = new CLI(serverless); expect(cli.loadedPlugins.length).to.equal(0); }); }); describe('#setLoadedPlugins()', () => { it('should set the loadedPlugins array with the given plugin instances', () => { class PluginMock {} const pluginMock = new PluginMock(); const plugins = [pluginMock]; cli = new CLI(serverless); cli.setLoadedPlugins(plugins); expect(cli.loadedPlugins[0]).to.equal(pluginMock); }); }); });