@@ -250,6 +250,41 @@ describe('OpenWhiskInvokeLocal', () => {
250250 ) ;
251251 } ) ;
252252
253+ describe ( '#mergePackageParams()' , ( ) => {
254+ beforeEach ( ( ) => {
255+ serverless . config . servicePath = true ;
256+ serverless . service . provider = {
257+ namespace : 'testing_ns' ,
258+ environment : {
259+ providerVar : 'providerValue' ,
260+ } ,
261+ } ;
262+
263+ serverless . service . functions . first . name = 'mypackage/first'
264+ serverless . service . functions . first . parameters = {
265+ foo : 'bar' , nums : 1 , arr : [ 'foo' , 'bar' ]
266+ }
267+ openwhiskInvokeLocal . options = { data : { foo : 'bar' , nums : 1 , arr : [ 'foo' , 'bar' ] } } ;
268+ } ) ;
269+
270+
271+ it ( 'it should ignore implicit packages without parameters' , ( ) => openwhiskInvokeLocal
272+ . mergePackageParams ( ) . then ( ( ) => {
273+ expect ( openwhiskInvokeLocal . options . data ) . to . deep . equal ( serverless . service . functions . first . parameters ) ;
274+ } )
275+ ) ;
276+
277+ it ( 'it should merge implicit packages with parameters' , ( ) => {
278+ serverless . service . resources . packages = {
279+ mypackage : { parameters : { hello : 'world' , foo : 'baz' } }
280+ }
281+ return openwhiskInvokeLocal . mergePackageParams ( ) . then ( ( ) => {
282+ const merged = Object . assign ( serverless . service . resources . packages . mypackage . parameters , openwhiskInvokeLocal . options . data )
283+ expect ( openwhiskInvokeLocal . options . data ) . to . deep . equal ( merged ) ;
284+ } )
285+ } ) ;
286+ } ) ;
287+
253288 describe ( '#invokeLocal()' , ( ) => {
254289 let invokeLocalNodeJsStub , invokeLocalPythonStub ;
255290
0 commit comments