'use strict'; const path = require('path'); const fsp = require('fs').promises; const spawn = require('child-process-ext/spawn'); const fixturesEngine = require('../fixtures/programmatic'); const serverlessExec = require('../serverless-binary'); describe('test/integration/plugin-install.test.js', function () { this.timeout(1000 * 60 * 10); // Involves time-taking npm install let serviceDir; before(async () => { serviceDir = ( await fixturesEngine.setup('function', { // Unresolved variables should not block "plugin install" command configExt: { custom: { foo: '${foo:bar}' } }, }) ).servicePath; await spawn(serverlessExec, ['plugin', 'install', '-n', 'serverless-offline'], { cwd: serviceDir, }); }); it('should install plugin', async () => { await fsp.access(path.resolve(serviceDir, 'node_modules/serverless-offline')); }); });