From c26057e57da3911a09e4fe948cfd885a9361fb7a Mon Sep 17 00:00:00 2001 From: Trae Yelovich Date: Mon, 24 Feb 2025 09:43:37 -0500 Subject: [PATCH] refactor(tests): add case for recalled PDS Signed-off-by: Trae Yelovich --- .../dataset/ZoweDatasetNode.unit.test.ts | 52 ++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/packages/zowe-explorer/__tests__/__unit__/trees/dataset/ZoweDatasetNode.unit.test.ts b/packages/zowe-explorer/__tests__/__unit__/trees/dataset/ZoweDatasetNode.unit.test.ts index b52a5ac58..82d7cee03 100644 --- a/packages/zowe-explorer/__tests__/__unit__/trees/dataset/ZoweDatasetNode.unit.test.ts +++ b/packages/zowe-explorer/__tests__/__unit__/trees/dataset/ZoweDatasetNode.unit.test.ts @@ -984,7 +984,7 @@ describe("ZoweDatasetNode Unit Tests - getChildren() migration scenarios", () => expect(pdsNode.command).toBeUndefined(); }); - it("should handle a dataset that was recalled", async () => { + it("should handle a PS that was recalled", async () => { const sessionNode = new ZoweDatasetNode({ label: "sestest", collapsibleState: vscode.TreeItemCollapsibleState.Collapsed, @@ -1030,6 +1030,56 @@ describe("ZoweDatasetNode Unit Tests - getChildren() migration scenarios", () => expect(dsNode.contextValue).toBe(Constants.DS_DS_CONTEXT); expect(dsNode.collapsibleState).toBe(vscode.TreeItemCollapsibleState.None); expect(dsNode.resourceUri).toBeDefined(); + expect(dsNode.resourceUri.path).toBe("/sestest/TEST.DS"); expect(dsNode.command).toBeDefined(); }); + + it("should handle a PDS that was recalled", async () => { + const sessionNode = new ZoweDatasetNode({ + label: "sestest", + collapsibleState: vscode.TreeItemCollapsibleState.Collapsed, + session, + profile: profileOne, + contextOverride: Constants.DS_SESSION_CONTEXT, + }); + + const pdsNode = new ZoweDatasetNode({ + label: "TEST.PDS", + collapsibleState: vscode.TreeItemCollapsibleState.None, + parentNode: sessionNode, + profile: profileOne, + contextOverride: Constants.DS_MIGRATED_FILE_CONTEXT, + }); + + sessionNode.pattern = "TEST.*"; + sessionNode.children = [pdsNode]; + + jest.spyOn(SharedTreeProviders, "ds", "get").mockReturnValueOnce({ + applyPatternsToChildren: jest.fn(), + } as any); + jest.spyOn(Profiles, "getInstance").mockReturnValueOnce({ + loadNamedProfile: jest.fn().mockReturnValueOnce(profileOne), + } as any); + jest.spyOn(sessionNode as any, "getDatasets").mockResolvedValueOnce([ + { + success: true, + apiResponse: { + items: [ + { + dsname: "TEST.PDS", + migr: "NO", + dsorg: "PO", + }, + ], + }, + }, + ]); + + await sessionNode.getChildren(); + + expect(pdsNode.contextValue).toBe(Constants.DS_PDS_CONTEXT); + expect(pdsNode.collapsibleState).toBe(vscode.TreeItemCollapsibleState.Collapsed); + expect(pdsNode.resourceUri).toBeDefined(); + expect(pdsNode.resourceUri.path).toBe("/sestest/TEST.PDS"); + }); });