@@ -30,7 +30,7 @@ describe("Config list", () => {
3030
3131 mockAxiosGet ( "https://myTeam.celonis.cloud/package-manager/api/core/packages/export/list?" + urlParams . toString ( ) , [ firstPackage , secondPackage ] ) ;
3232
33- await new ConfigCommand ( ) . listActivePackages ( false , flavorsArray , false , [ ] ) ;
33+ await new ConfigCommand ( ) . listActivePackages ( false , flavorsArray , false , [ ] , null , null ) ;
3434
3535 expect ( testTransport . logMessages . length ) . toBe ( 2 ) ;
3636 expect ( testTransport . logMessages [ 0 ] . message ) . toContain ( `${ firstPackage . name } - Key: "${ firstPackage . key } "` ) ;
@@ -47,7 +47,7 @@ describe("Config list", () => {
4747 mockAxiosGet ( "https://myTeam.celonis.cloud/package-manager/api/core/packages/export/list?withDependencies=false" , [ { ...firstPackage } , { ...secondPackage } ] ) ;
4848 mockAxiosGet ( "https://myTeam.celonis.cloud/package-manager/api/packages/with-variable-assignments?type=DATA_MODEL" , [ studioPackage ] ) ;
4949
50- await new ConfigCommand ( ) . listActivePackages ( true , [ ] , false , [ ] ) ;
50+ await new ConfigCommand ( ) . listActivePackages ( true , [ ] , false , [ ] , null , null ) ;
5151
5252 const expectedFileName = testTransport . logMessages [ 0 ] . message . split ( FileService . fileDownloadedMessage ) [ 1 ] ;
5353
@@ -93,7 +93,7 @@ describe("Config list", () => {
9393 } ;
9494 mockAxiosGet ( "https://myTeam.celonis.cloud/package-manager/api/compute-pools/data-models/details" , [ dataModelDetailResponse ] ) ;
9595
96- await new ConfigCommand ( ) . listActivePackages ( true , [ ] , true , [ ] ) ;
96+ await new ConfigCommand ( ) . listActivePackages ( true , [ ] , true , [ ] , null , null ) ;
9797
9898 const expectedFileName = testTransport . logMessages [ 0 ] . message . split ( FileService . fileDownloadedMessage ) [ 1 ] ;
9999
@@ -118,7 +118,7 @@ describe("Config list", () => {
118118 mockAxiosGet ( "https://myTeam.celonis.cloud/package-manager/api/core/packages/export/list-by-keys?packageKeys=key-1&packageKeys=key-2&withDependencies=false" , [ { ...firstPackage } , { ...secondPackage } ] ) ;
119119 mockAxiosGet ( "https://myTeam.celonis.cloud/package-manager/api/packages/with-variable-assignments?type=DATA_MODEL" , [ studioPackage ] ) ;
120120
121- await new ConfigCommand ( ) . listActivePackages ( true , [ ] , false , [ firstPackage . key , secondPackage . key ] ) ;
121+ await new ConfigCommand ( ) . listActivePackages ( true , [ ] , false , [ firstPackage . key , secondPackage . key ] , null , null ) ;
122122
123123 const expectedFileName = testTransport . logMessages [ 0 ] . message . split ( FileService . fileDownloadedMessage ) [ 1 ] ;
124124
@@ -164,7 +164,7 @@ describe("Config list", () => {
164164 } ;
165165 mockAxiosGet ( "https://myTeam.celonis.cloud/package-manager/api/compute-pools/data-models/details" , [ dataModelDetailResponse ] ) ;
166166
167- await new ConfigCommand ( ) . listActivePackages ( true , [ ] , true , [ firstPackage . key , secondPackage . key ] ) ;
167+ await new ConfigCommand ( ) . listActivePackages ( true , [ ] , true , [ firstPackage . key , secondPackage . key ] , null , null ) ;
168168
169169 const expectedFileName = testTransport . logMessages [ 0 ] . message . split ( FileService . fileDownloadedMessage ) [ 1 ] ;
170170
@@ -179,4 +179,37 @@ describe("Config list", () => {
179179 expect ( exportedSecondPackage ) . toEqual ( secondPackage ) ;
180180 expect ( exportedFirstPackage ) . toEqual ( { ...firstPackage , datamodels : [ { ...dataModelDetailResponse } ] } ) ;
181181 } )
182+
183+ it ( "Should list all packages filtered by variable value" , async ( ) => {
184+ const firstPackage = PackageManagerApiUtils . buildPackageExportTransport ( "key-1" , "name-1" ) ;
185+ const secondPackage = PackageManagerApiUtils . buildPackageExportTransport ( "key-2" , "name-2" ) ;
186+
187+
188+ mockAxiosGet ( "https://myTeam.celonis.cloud/package-manager/api/core/packages/export/list-by-variable-value?variableValue=1" , [ { ...firstPackage } , { ...secondPackage } ] ) ;
189+ mockAxiosGet ( "https://myTeam.celonis.cloud/package-manager/api/packages/with-variable-assignments?type=DATA_MODEL" , [ ] ) ;
190+
191+ await new ConfigCommand ( ) . listActivePackages ( false , [ ] , false , [ ] , "1" , null ) ;
192+
193+ expect ( testTransport . logMessages . length ) . toBe ( 2 ) ;
194+ expect ( testTransport . logMessages [ 0 ] . message ) . toContain ( `${ firstPackage . name } - Key: "${ firstPackage . key } "` ) ;
195+ expect ( testTransport . logMessages [ 1 ] . message ) . toContain ( `${ secondPackage . name } - Key: "${ secondPackage . key } "` ) ;
196+ } )
197+
198+ it ( "Should export all packages for json response filtered by variable value" , async ( ) => {
199+ const firstPackage = PackageManagerApiUtils . buildPackageExportTransport ( "key-1" , "name-1" ) ;
200+ const secondPackage = PackageManagerApiUtils . buildPackageExportTransport ( "key-2" , "name-2" ) ;
201+
202+ mockAxiosGet ( "https://myTeam.celonis.cloud/package-manager/api/core/packages/export/list-by-variable-value?variableValue=1" , [ { ...firstPackage } , { ...secondPackage } ] ) ;
203+ mockAxiosGet ( "https://myTeam.celonis.cloud/package-manager/api/packages/with-variable-assignments?type=DATA_MODEL" , [ ] ) ;
204+
205+ await new ConfigCommand ( ) . listActivePackages ( true , [ ] , false , [ ] , "1" , null ) ;
206+
207+ const expectedFileName = testTransport . logMessages [ 0 ] . message . split ( FileService . fileDownloadedMessage ) [ 1 ] ;
208+
209+ expect ( mockWriteFileSync ) . toHaveBeenCalledWith ( path . resolve ( process . cwd ( ) , expectedFileName ) , expect . any ( String ) , { encoding : "utf-8" } ) ;
210+
211+ const exportedTransports = JSON . parse ( mockWriteFileSync . mock . calls [ 0 ] [ 1 ] ) as PackageExportTransport [ ] ;
212+ expect ( exportedTransports . length ) . toBe ( 2 ) ;
213+ } )
214+
182215} )
0 commit comments