@@ -219,15 +219,37 @@ describe('ExportMarketplaceApps', () => {
219219 } ) ;
220220
221221 it ( 'should set marketplaceAppPath correctly' , async ( ) => {
222+ mockExportConfig . forceStopMarketplaceAppsPrompt = true ;
222223 const configHandlerGetStub = sinon . stub ( utilities . configHandler , 'get' ) ;
223- configHandlerGetStub . withArgs ( 'authorisationType' ) . returns ( 'BASIC' ) ;
224+ configHandlerGetStub . callsFake ( ( key : string ) => {
225+ if ( key === 'authorisationType' ) return 'BASIC' ;
226+ if ( key === 'log' ) return { showConsoleLogs : true } ;
227+ return undefined ;
228+ } ) ;
229+
230+ const setupPathsStub = sinon . stub ( exportMarketplaceApps , 'setupPaths' ) . callsFake ( async ( ) => {
231+ const pResolve = require ( 'node:path' ) . resolve ;
232+ exportMarketplaceApps . marketplaceAppPath = pResolve (
233+ exportMarketplaceApps . exportConfig . exportDir ,
234+ exportMarketplaceApps . exportConfig . branchName || '' ,
235+ 'marketplace-apps' ,
236+ ) ;
237+ exportMarketplaceApps . exportConfig . org_uid = 'test-org-uid' ;
238+ exportMarketplaceApps . developerHubBaseUrl = 'https://developer-api.contentstack.io' ;
239+ exportMarketplaceApps . query = { target_uids : 'test-stack-uid' } ;
240+ exportMarketplaceApps . appSdk = mockAppSdk ;
241+ await ( FsUtility . prototype . makeDirectory as sinon . SinonStub ) ( exportMarketplaceApps . marketplaceAppPath ) ;
242+ } ) ;
243+ const getAppsCountStub = sinon . stub ( exportMarketplaceApps , 'getAppsCount' ) . resolves ( 0 ) ;
224244 const exportAppsStub = sinon . stub ( exportMarketplaceApps , 'exportApps' ) . resolves ( ) ;
225245
226246 await exportMarketplaceApps . start ( ) ;
227247
228248 expect ( exportMarketplaceApps . marketplaceAppPath ) . to . include ( 'marketplace-apps' ) ;
229249 expect ( exportMarketplaceApps . marketplaceAppPath ) . to . include ( '/test/export' ) ;
230250
251+ setupPathsStub . restore ( ) ;
252+ getAppsCountStub . restore ( ) ;
231253 exportAppsStub . restore ( ) ;
232254 configHandlerGetStub . restore ( ) ;
233255 } ) ;
@@ -294,7 +316,25 @@ describe('ExportMarketplaceApps', () => {
294316 it ( 'should call createNodeCryptoInstance exactly once when prompting for encryption key before progress' , async ( ) => {
295317 mockExportConfig . forceStopMarketplaceAppsPrompt = false ;
296318 const configHandlerGetStub = sinon . stub ( utilities . configHandler , 'get' ) ;
297- configHandlerGetStub . withArgs ( 'authorisationType' ) . returns ( 'BASIC' ) ;
319+ configHandlerGetStub . callsFake ( ( key : string ) => {
320+ if ( key === 'authorisationType' ) return 'BASIC' ;
321+ if ( key === 'log' ) return { showConsoleLogs : true } ;
322+ return undefined ;
323+ } ) ;
324+
325+ const setupPathsStub = sinon . stub ( exportMarketplaceApps , 'setupPaths' ) . callsFake ( async ( ) => {
326+ const pResolve = require ( 'node:path' ) . resolve ;
327+ exportMarketplaceApps . marketplaceAppPath = pResolve (
328+ exportMarketplaceApps . exportConfig . exportDir ,
329+ exportMarketplaceApps . exportConfig . branchName || '' ,
330+ 'marketplace-apps' ,
331+ ) ;
332+ exportMarketplaceApps . exportConfig . org_uid = 'test-org-uid' ;
333+ exportMarketplaceApps . developerHubBaseUrl = 'https://developer-api.contentstack.io' ;
334+ exportMarketplaceApps . query = { target_uids : 'test-stack-uid' } ;
335+ exportMarketplaceApps . appSdk = mockAppSdk ;
336+ await ( FsUtility . prototype . makeDirectory as sinon . SinonStub ) ( exportMarketplaceApps . marketplaceAppPath ) ;
337+ } ) ;
298338 const getAppsCountStub = sinon . stub ( exportMarketplaceApps , 'getAppsCount' ) . resolves ( 1 ) ;
299339 const exportAppsStub = sinon . stub ( exportMarketplaceApps , 'exportApps' ) . resolves ( ) ;
300340 const getAppManifestAndAppConfigStub = sinon . stub ( exportMarketplaceApps , 'getAppManifestAndAppConfig' ) . resolves ( ) ;
@@ -304,6 +344,7 @@ describe('ExportMarketplaceApps', () => {
304344 expect ( ( marketplaceAppHelper . createNodeCryptoInstance as sinon . SinonStub ) . calledOnce ) . to . be . true ;
305345 expect ( ( marketplaceAppHelper . createNodeCryptoInstance as sinon . SinonStub ) . callCount ) . to . equal ( 1 ) ;
306346
347+ setupPathsStub . restore ( ) ;
307348 getAppsCountStub . restore ( ) ;
308349 exportAppsStub . restore ( ) ;
309350 getAppManifestAndAppConfigStub . restore ( ) ;
0 commit comments