hunk.code_window:   pageRequestAction: ReduxAction<FetchPageRequest>,
   ) {
     try {
       const { id } = pageRequestAction.payload;
       PerformanceTracker.startAsyncTracking(
         PerformanceTransactionName.FETCH_PAGE_API,
         { pageId: id },
  
hunk.labels: keep keep keep replace keep keep keep
hunk.after_edit:     const { id, isFirstLoad } = pageRequestAction.payload;
  
hunk.file_path: app/client/src/sagas/PageSagas.tsx
hunk.type: replace
file: import { get } from "lodash";
  import {
    handleIfParentIsListWidgetWhilePasting,
    handleSpecificCasesWhilePasting,
    doesTriggerPathsContainPropertyPath,
  } from "./WidgetOperationUtils";
  
  describe("WidgetOperationSaga", () => {
    it("should returns widgets after executing handleIfParentIsListWidgetWhilePasting", async () => {
      expect(
        doesTriggerPathsContainPropertyPath(false, "trigger-path-1", [
          "trigger-path-1",
        ]),
      ).toBe(true);
  
      expect(
        doesTriggerPathsContainPropertyPath(false, "trigger-path-1", [
          "trigger-path-2",
        ]),
      ).toBe(false);
  
      expect(
        doesTriggerPathsContainPropertyPath(true, "trigger-path-1", [
          "trigger-path-2",
        ]),
      ).toBe(true);
    });
  
    it("should returns widgets after executing handleIfParentIsListWidgetWhilePasting", async () => {
      const result = handleIfParentIsListWidgetWhilePasting(
        {
          widgetId: "text1",
          type: "TEXT_WIDGET",
          widgetName: "Text1",
          parentId: "list1",
          renderMode: "CANVAS",
          parentColumnSpace: 2,
          parentRowSpace: 3,
          leftColumn: 2,
          rightColumn: 3,
          topRow: 1,
          bottomRow: 3,
          isLoading: false,
          listData: [],
          text: "{{currentItem.text}}",
          version: 16,
          disablePropertyPane: false,
        },
        {
          list1: {
            widgetId: "list1",
            type: "LIST_WIDGET",
            widgetName: "List1",
            parentId: "0",
            renderMode: "CANVAS",
            parentColumnSpace: 2,
            parentRowSpace: 3,
            leftColumn: 2,
            rightColumn: 3,
            topRow: 1,
            bottomRow: 3,
            isLoading: false,
            listData: [],
            version: 16,
            disablePropertyPane: false,
            template: {},
          },
          0: {
            image: "",
            defaultImage: "",
            widgetId: "0",
            type: "CANVAS_WIDGET",
            widgetName: "MainContainer",
            renderMode: "CANVAS",
            parentColumnSpace: 2,
            parentRowSpace: 3,
            leftColumn: 2,
            rightColumn: 3,
            topRow: 1,
            bottomRow: 3,
            isLoading: false,
            listData: [],
            version: 16,
            disablePropertyPane: false,
            template: {},
          },
        },
      );
  
      expect(result.list1.template["Text1"].text).toStrictEqual(
        "{{List1.listData.map((currentItem) => currentItem.text)}}",
      );
      expect(get(result, "list1.dynamicBindingPathList.0.key")).toStrictEqual(
        "template.Text1.text",
      );
    });
  
    it("should returns widgets after executing handleSpecificCasesWhilePasting", async () => {
      const result = handleSpecificCasesWhilePasting(
        {
          widgetId: "text2",
          type: "TEXT_WIDGET",
          widgetName: "Text2",
          parentId: "list2",
          renderMode: "CANVAS",
          parentColumnSpace: 2,
          parentRowSpace: 3,
          leftColumn: 2,
          rightColumn: 3,
          topRow: 1,
          bottomRow: 3,
          isLoading: false,
          listData: [],
          text: "{{currentItem.text}}",
          version: 16,
          disablePropertyPane: false,
        },
        {
          list1: {
            widgetId: "list1",
            type: "LIST_WIDGET",
            widgetName: "List1",
            parentId: "0",
            renderMode: "CANVAS",
            parentColumnSpace: 2,
            parentRowSpace: 3,
            leftColumn: 2,
            rightColumn: 3,
            topRow: 1,
            bottomRow: 3,
            isLoading: false,
            listData: [],
            version: 16,
            disablePropertyPane: false,
            template: {},
          },
          0: {
            image: "",
            defaultImage: "",
            widgetId: "0",
            type: "CANVAS_WIDGET",
            widgetName: "MainContainer",
            renderMode: "CANVAS",
            parentColumnSpace: 2,
            parentRowSpace: 3,
            leftColumn: 2,
            rightColumn: 3,
            topRow: 1,
            bottomRow: 3,
            isLoading: false,
            listData: [],
            version: 16,
            disablePropertyPane: false,
            template: {},
          },
          list2: {
            widgetId: "list2",
            type: "LIST_WIDGET",
            widgetName: "List2",
            parentId: "0",
            renderMode: "CANVAS",
            parentColumnSpace: 2,
            parentRowSpace: 3,
            leftColumn: 2,
            rightColumn: 3,
            topRow: 1,
            bottomRow: 3,
            isLoading: false,
            listData: [],
            version: 16,
            disablePropertyPane: false,
            template: {},
          },
        },
        {
          List1: "List2",
        },
        [
          {
            widgetId: "list2",
            type: "LIST_WIDGET",
            widgetName: "List2",
            parentId: "0",
            renderMode: "CANVAS",
            parentColumnSpace: 2,
            parentRowSpace: 3,
            leftColumn: 2,
            rightColumn: 3,
            topRow: 1,
            bottomRow: 3,
            isLoading: false,
            listData: [],
            version: 16,
            disablePropertyPane: false,
            template: {},
          },
        ],
      );
  
      expect(result.list2.template["Text2"].text).toStrictEqual(
        "{{List2.listData.map((currentItem) => currentItem.text)}}",
      );
      expect(get(result, "list2.dynamicBindingPathList.0.key")).toStrictEqual(
        "template.Text2.text",
      );
    });
  
    it("should returns correct close model reference name after executing handleSpecificCasesWhilePasting", async () => {
      const result = handleSpecificCasesWhilePasting(
        {
          widgetName: "Modal1Copy",
          rightColumn: 24,
          detachFromLayout: true,
          widgetId: "k441huwm77",
          topRow: 34,
          bottomRow: 58,
          parentRowSpace: 10,
          canOutsideClickClose: true,
          type: "MODAL_WIDGET",
          canEscapeKeyClose: true,
          version: 1,
          parentId: "0",
          shouldScrollContents: true,
          isLoading: false,
          parentColumnSpace: 17.21875,
          size: "MODAL_SMALL",
          leftColumn: 0,
          children: ["ihxw5r23hd"],
          renderMode: "CANVAS",
        },
        {
          k441huwm77: {
            widgetName: "Modal1Copy",
            rightColumn: 24,
            detachFromLayout: true,
            widgetId: "k441huwm77",
            topRow: 34,
            bottomRow: 58,
            parentRowSpace: 10,
            canOutsideClickClose: true,
            type: "MODAL_WIDGET",
            canEscapeKeyClose: true,
            version: 1,
            parentId: "0",
            shouldScrollContents: true,
            isLoading: false,
            parentColumnSpace: 17.21875,
            size: "MODAL_SMALL",
            leftColumn: 0,
            children: ["ihxw5r23hd"],
            renderMode: "CANVAS",
          },
          suhkuyfpk3: {
            widgetName: "Icon1Copy",
            rightColumn: 64,
            onClick: "{{closeModal('Modal1')}}",
            color: "#040627",
            iconName: "cross",
            widgetId: "suhkuyfpk3",
            topRow: 1,
            bottomRow: 5,
            isVisible: true,
            type: "ICON_WIDGET",
            version: 1,
            parentId: "ihxw5r23hd",
            isLoading: false,
            leftColumn: 56,
            iconSize: 24,
            renderMode: "CANVAS",
            parentColumnSpace: 2,
            parentRowSpace: 3,
          },
          twnxjwy3r1: {
            widgetName: "Button1Copy",
            rightColumn: 48,
            onClick: "{{closeModal('Modal1')}}",
            isDefaultClickDisabled: true,
            widgetId: "twnxjwy3r1",
            buttonStyle: "SECONDARY_BUTTON",
            topRow: 16,
            bottomRow: 20,
            isVisible: true,
            type: "BUTTON_WIDGET",
            version: 1,
            parentId: "ihxw5r23hd",
            isLoading: false,
            dynamicTriggerPathList: [
              {
                key: "onClick",
              },
            ],
            leftColumn: 36,
            dynamicBindingPathList: [],
            text: "Cancel",
            isDisabled: false,
            renderMode: "CANVAS",
            parentColumnSpace: 2,
            parentRowSpace: 3,
          },
        },
        {
          Modal1: "Modal1Copy",
          Canvas1: "Canvas1Copy",
          Icon1: "Icon1Copy",
          Text1: "Text1Copy",
          Button1: "Button1Copy",
          Button2: "Button2Copy",
        },
        [
          {
            widgetName: "Modal1Copy",
            rightColumn: 24,
            detachFromLayout: true,
            widgetId: "k441huwm77",
            topRow: 34,
            bottomRow: 58,
            parentRowSpace: 10,
            canOutsideClickClose: true,
            type: "MODAL_WIDGET",
            canEscapeKeyClose: true,
            version: 1,
            parentId: "0",
            shouldScrollContents: true,
            isLoading: false,
            parentColumnSpace: 17.21875,
            size: "MODAL_SMALL",
            leftColumn: 0,
            children: ["ihxw5r23hd"],
            renderMode: "CANVAS",
          },
          {
            widgetName: "Icon1Copy",
            rightColumn: 64,
            onClick: "{{closeModal('Modal1')}}",
            color: "#040627",
            iconName: "cross",
            widgetId: "suhkuyfpk3",
            topRow: 1,
            bottomRow: 5,
            isVisible: true,
            type: "ICON_WIDGET",
            version: 1,
            parentId: "ihxw5r23hd",
            isLoading: false,
            leftColumn: 56,
            iconSize: 24,
            renderMode: "CANVAS",
            parentColumnSpace: 2,
            parentRowSpace: 3,
          },
          {
            widgetName: "Button1Copy",
            rightColumn: 48,
            onClick: "{{closeModal('Modal1')}}",
            isDefaultClickDisabled: true,
            widgetId: "twnxjwy3r1",
            buttonStyle: "SECONDARY_BUTTON",
            topRow: 16,
            bottomRow: 20,
            isVisible: true,
            type: "BUTTON_WIDGET",
            version: 1,
            parentId: "ihxw5r23hd",
            isLoading: false,
            dynamicTriggerPathList: [
              {
                key: "onClick",
              },
            ],
            leftColumn: 36,
            dynamicBindingPathList: [],
            text: "Cancel",
            isDisabled: false,
            renderMode: "CANVAS",
            parentColumnSpace: 2,
            parentRowSpace: 3,
          },
        ],
      );
      expect(result["suhkuyfpk3"].onClick).toStrictEqual(
        "{{closeModal('Modal1Copy')}}",
      );
      expect(result["twnxjwy3r1"].onClick).toStrictEqual(
        "{{closeModal('Modal1Copy')}}",
      );
    });
  });
  