diff --git a/lib/classes/PluginManager.test.js b/lib/classes/PluginManager.test.js index 8c3ae8d15..e732f95cc 100644 --- a/lib/classes/PluginManager.test.js +++ b/lib/classes/PluginManager.test.js @@ -1048,6 +1048,26 @@ describe('PluginManager', () => { }); }); + describe('#loadVariableGetters()', () => { + it('should load the plugin variable getters', () => { + const getTestVariable = async () => 'testVariable' + class VariableGetterPlugin { + constructor(sls) { + this.variableGetters = [[/^test:/, getTestVariable]] + } + } + pluginManager.serverless.variables = { + variableResolvers: [], + customVariableResolverFuncs: {}, + } + const pluginInstance = new VariableGetterPlugin(); + pluginManager.loadVariableGetters(pluginInstance); + + expect(pluginManager.serverless.variables.variableResolvers).to.deep.equal([[/^test:/, 'getTestVariable']]) + expect(Object.keys(pluginManager.serverless.variables.customVariableResolverFuncs)).to.deep.equal(['getTestVariable']) + }); + }); + describe('#getEvents()', () => { beforeEach(() => { // eslint-disable-line prefer-arrow-callback