@@ -64,6 +64,14 @@ const testEntries = {
6464 } ) ,
6565 isMember : true ,
6666 } as DsEntry ,
67+ vsam : {
68+ ...new DsEntry ( "USER.DATA.PS" , false ) ,
69+ metadata : new DsEntryMetadata ( {
70+ profile : testProfile ,
71+ path : "/USER.DATA.PS" ,
72+ } ) ,
73+ isMember : false ,
74+ } as DsEntry ,
6775 session : {
6876 ...new FilterEntry ( "sestest" ) ,
6977 metadata : {
@@ -1241,6 +1249,11 @@ describe("DatasetFSProvider", () => {
12411249 fakeSession . entries . set ( "USER.DATA.PS" , fakePs ) ;
12421250 const mockMvsApi = {
12431251 deleteDataSet : jest . fn ( ) ,
1252+ dataSet : jest . fn ( ) . mockResolvedValue ( {
1253+ apiResponse : {
1254+ items : [ fakePs ] ,
1255+ } ,
1256+ } ) ,
12441257 } ;
12451258 jest . spyOn ( ZoweExplorerApiRegister , "getMvsApi" ) . mockReturnValue ( mockMvsApi as any ) ;
12461259 const _lookupMock = jest . spyOn ( DatasetFSProvider . instance as any , "lookup" ) . mockReturnValue ( fakePs ) ;
@@ -1261,6 +1274,11 @@ describe("DatasetFSProvider", () => {
12611274 fakePds . entries . set ( "MEMBER1" , fakePdsMember ) ;
12621275 const mockMvsApi = {
12631276 deleteDataSet : jest . fn ( ) ,
1277+ dataSet : jest . fn ( ) . mockResolvedValue ( {
1278+ apiResponse : {
1279+ items : [ fakePdsMember ] ,
1280+ } ,
1281+ } ) ,
12641282 } ;
12651283 jest . spyOn ( ZoweExplorerApiRegister , "getMvsApi" ) . mockReturnValue ( mockMvsApi as any ) ;
12661284 const _lookupMock = jest . spyOn ( DatasetFSProvider . instance as any , "lookup" ) . mockReturnValue ( fakePdsMember ) ;
@@ -1279,6 +1297,11 @@ describe("DatasetFSProvider", () => {
12791297 const fakePds = { ...testEntries . pds } ;
12801298 const mockMvsApi = {
12811299 deleteDataSet : jest . fn ( ) ,
1300+ dataSet : jest . fn ( ) . mockResolvedValue ( {
1301+ apiResponse : {
1302+ items : [ fakePds ] ,
1303+ } ,
1304+ } ) ,
12821305 } ;
12831306 jest . spyOn ( ZoweExplorerApiRegister , "getMvsApi" ) . mockReturnValue ( mockMvsApi as any ) ;
12841307 const _lookupMock = jest . spyOn ( DatasetFSProvider . instance as any , "lookup" ) . mockReturnValue ( fakePds ) ;
@@ -1292,6 +1315,28 @@ describe("DatasetFSProvider", () => {
12921315 expect ( _fireSoonMock ) . toHaveBeenCalled ( ) ;
12931316 } ) ;
12941317
1318+ it ( "successfully deletes a VSAM" , async ( ) => {
1319+ const fakeVsam = { ...testEntries . vsam } ;
1320+ const mockMvsApi = {
1321+ deleteDataSet : jest . fn ( ) ,
1322+ dataSet : jest . fn ( ) . mockResolvedValue ( {
1323+ apiResponse : {
1324+ items : [ fakeVsam ] ,
1325+ } ,
1326+ } ) ,
1327+ } ;
1328+ jest . spyOn ( ZoweExplorerApiRegister , "getMvsApi" ) . mockReturnValue ( mockMvsApi as any ) ;
1329+ const _lookupMock = jest . spyOn ( DatasetFSProvider . instance as any , "lookup" ) . mockReturnValue ( fakeVsam ) ;
1330+ const _fireSoonMock = jest . spyOn ( DatasetFSProvider . instance as any , "_fireSoon" ) . mockImplementation ( ) ;
1331+ jest . spyOn ( FsDatasetsUtils , "isPdsEntry" ) . mockReturnValue ( true ) ;
1332+ jest . spyOn ( DatasetFSProvider . instance as any , "lookupParentDirectory" ) . mockReturnValue ( { ...testEntries . session } ) ;
1333+
1334+ await DatasetFSProvider . instance . delete ( testUris . pds , { recursive : false } ) ;
1335+ expect ( mockMvsApi . deleteDataSet ) . toHaveBeenCalledWith ( fakeVsam . name , { responseTimeout : undefined } ) ;
1336+ expect ( _lookupMock ) . toHaveBeenCalledWith ( testUris . pds , false ) ;
1337+ expect ( _fireSoonMock ) . toHaveBeenCalled ( ) ;
1338+ } ) ;
1339+
12951340 it ( "throws an error if it could not delete an entry" , async ( ) => {
12961341 const fakePs = { ...testEntries . ps } ;
12971342 const fakeSession = { ...testEntries . session , entries : new Map ( ) } ;
@@ -1300,6 +1345,11 @@ describe("DatasetFSProvider", () => {
13001345 const sampleError = new Error ( "Data set does not exist on remote" ) ;
13011346 const mockMvsApi = {
13021347 deleteDataSet : jest . fn ( ) . mockRejectedValue ( sampleError ) ,
1348+ dataSet : jest . fn ( ) . mockResolvedValue ( {
1349+ apiResponse : {
1350+ items : [ fakePs ] ,
1351+ } ,
1352+ } ) ,
13031353 } ;
13041354 jest . spyOn ( ZoweExplorerApiRegister , "getMvsApi" ) . mockReturnValue ( mockMvsApi as any ) ;
13051355 const _lookupMock = jest . spyOn ( DatasetFSProvider . instance as any , "lookup" ) . mockReturnValue ( fakePs ) ;
0 commit comments