From ca2668f1259c8919dc9a43a3bb5322880b771c51 Mon Sep 17 00:00:00 2001
From: Asmaloth <borna.dobrovic1@gmail.com>
Date: Thu, 11 Jan 2024 15:48:13 +0100
Subject: [PATCH 1/8] fix(pr): added solutions for batch 6 tasks 1 and 3

---
 .../pageBuilder/blocks/pageBlockPreview.cy.ts | 72 +++++++++++++++++++
 .../menus/pagesListMenuItemType.cy.ts         |  6 +-
 cypress-tests/cypress/support/commands.js     |  2 +
 .../cypress/support/login/visitWebsite.ts     | 14 ++++
 .../pageBuilder/pbCreateCategoryAndBlocks.ts  | 36 +++++++++-
 .../support/pageBuilder/pbUpdatePageBlock.ts  | 59 +++++++++++++++
 6 files changed, 184 insertions(+), 5 deletions(-)
 create mode 100644 cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
 create mode 100644 cypress-tests/cypress/support/login/visitWebsite.ts
 create mode 100644 cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts

diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
new file mode 100644
index 00000000000..d8413fc4e4b
--- /dev/null
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
@@ -0,0 +1,72 @@
+import { customAlphabet } from "nanoid";
+
+context("Page Builder - Blocks", () => {
+    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
+    beforeEach(() => {
+        cy.login();
+        cy.pbDeleteAllBlocks();
+        cy.pbDeleteAllBlockCategories();
+        cy.pbDeleteAllTemplates();
+    });
+
+    // Data used for creating multiple block categories.
+    const blockName = ["Block1Name"];
+    const headerTitle = "Header test";
+    const headerTitleUpdate = "Edited Header Text";
+    const templateData = "tester";
+
+    const blockCategoryData = {
+        name: nanoid(10).toLowerCase(),
+        slug: nanoid(10).toLowerCase(),
+        icon: "icon-name",
+        description: nanoid(10).toLowerCase()
+    };
+
+    it("Should be able to programatically create and assert a block exists with a proper heading", () => {
+        cy.pbCreateCategoryAndBlocks({
+            blockCategory: blockCategoryData,
+            blockNames: blockName,
+            headerText: headerTitle
+        });
+        cy.visit("/page-builder/page-blocks");
+        // Asserts the programatically created block contains the correct data.
+        cy.contains(blockCategoryData.name).click();
+        cy.contains(blockName[0]).should("exist");
+        cy.contains(headerTitle).should("exist");
+
+        // Edits the current header for headerTitleUpdate.
+        cy.findByTestId("pb-blocks-list-block-edit-btn").click();
+        cy.get('pb-block:contains("Header test")').click();
+        cy.get('[contenteditable="true"]').clear().type(headerTitleUpdate);
+        cy.contains("Save Changes").click();
+
+        // Asserts the newly edited header/block contains the right information.
+        cy.contains(blockCategoryData.name).click();
+        cy.contains(blockName[0]).should("exist");
+        cy.contains(headerTitleUpdate).should("exist");
+
+        // Navigate to the template page and create a new template.
+        cy.visit("/page-builder/page-templates");
+        cy.findAllByTestId("pb-templates-list-new-template-btn").click();
+        cy.findByRole("textbox", { name: "Title" }).type(templateData);
+        cy.findByRole("textbox", { name: "Slug" }).type(templateData);
+        cy.findByRole("textbox", { name: "Description" }).type(templateData);
+        cy.findByRole("button", { name: "Create" }).click();
+
+        // Assert the block is being properly displayed.
+        cy.findByTestId("pb-content-add-block-button").click();
+        cy.findByTestId("pb-editor-page-blocks-list-item-block-1-name").contains(headerTitleUpdate);
+
+        // Add the block to the template.
+        cy.contains(blockCategoryData.name).click();
+        cy.get('button[label="Click to Add"]').click({ force: true });
+        cy.contains("Save Changes").click();
+
+        // Assert the template is being displayed properly on the left and then the right side of the screen.
+        cy.findByTestId("default-data-list")
+            .find("li.mdc-list-item")
+            .should("contain", templateData);
+        cy.findByTestId("default-data-list").find("li.mdc-list-item").first().click();
+        cy.get('[data-testid="pb-page-templates-form"]').contains(headerTitleUpdate);
+    });
+});
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/menus/pagesListMenuItemType.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/menus/pagesListMenuItemType.cy.ts
index 48e3d06d3fe..5247f92d8bf 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/menus/pagesListMenuItemType.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/menus/pagesListMenuItemType.cy.ts
@@ -84,7 +84,7 @@ describe("Page Builder - List Menu Item Types", () => {
         cy.findByText("Menu saved successfully.");
     });
     it(`Step 2: assert that menu item and pages are shown (descending order)`, () => {
-        cy.visit(Cypress.env("WEBSITE_URL") + `/page-${id}-${0}/`);
+        cy.visitWebsite(`/page-${id}-${0}/`);
 
         cy.reloadUntil(() => {
             // We wait until the document contains the newly added menu.
@@ -122,7 +122,7 @@ describe("Page Builder - List Menu Item Types", () => {
     });
 
     it(`Step 4: assert that menu item and pages are shown (ascending order)`, () => {
-        cy.visit(Cypress.env("WEBSITE_URL") + `/page-${id}-${0}/`);
+        cy.visitWebsite(`/page-${id}-${0}/`);
 
         cy.reloadUntil(() => {
             // We wait until the document contains the newly added menu.
@@ -154,7 +154,7 @@ describe("Page Builder - List Menu Item Types", () => {
     });
 
     it(`Step 6: assert that the pages list menu item does not exist`, () => {
-        cy.visit(Cypress.env("WEBSITE_URL") + `/page-${id}-${0}/`);
+        cy.visitWebsite(`/page-${id}-${0}/`);
 
         cy.reloadUntil(() => {
             // We wait until the document contains the newly added menu.
diff --git a/cypress-tests/cypress/support/commands.js b/cypress-tests/cypress/support/commands.js
index e8d92d8aedb..a3c379784ce 100644
--- a/cypress-tests/cypress/support/commands.js
+++ b/cypress-tests/cypress/support/commands.js
@@ -17,6 +17,7 @@ import "./pageBuilder/pbCreateCategoryAndBlocks";
 import "./pageBuilder/pbUpdatePage";
 import "./pageBuilder/pbCreateCategory";
 import "./pageBuilder/pbDeleteAllCategories";
+import "./pageBuilder/pbUpdatePageBlock";
 import "./pageBuilder/pbPublishPage";
 import "./pageBuilder/pbDeleteAllPages";
 import "./pageBuilder/pbDeletePage";
@@ -29,6 +30,7 @@ import "./pageBuilder/pbDeleteAllBlockCategories";
 import "./pageBuilder/pbListBlockCategories";
 import "./pageBuilder/pbCreateCategory";
 import "./pageBuilder/pbDeleteCategory";
+import "./login/visitWebsite";
 import "./headlessCms/cmsCreateContentModel";
 import "./headlessCms/cmsUpdateContentModel";
 import "./headlessCms/cmsDeleteContentModel";
diff --git a/cypress-tests/cypress/support/login/visitWebsite.ts b/cypress-tests/cypress/support/login/visitWebsite.ts
new file mode 100644
index 00000000000..f95810b92a9
--- /dev/null
+++ b/cypress-tests/cypress/support/login/visitWebsite.ts
@@ -0,0 +1,14 @@
+import "../utils";
+
+declare global {
+    // eslint-disable-next-line @typescript-eslint/no-namespace
+    namespace Cypress {
+        interface Chainable {
+            visitWebsite(url: string): Promise<void>;
+        }
+    }
+}
+
+Cypress.Commands.add("visitWebsite", url => {
+    cy.visit(Cypress.env("WEBSITE_URL") + url);
+});
diff --git a/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts b/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts
index 5f521d912dc..569644eb57f 100644
--- a/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts
+++ b/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts
@@ -3,6 +3,7 @@ import { gqlClient } from "../utils";
 interface CreateCategoryAndBlocksParams {
     blockCategory: Record<string, any>;
     blockNames: string[];
+    headerText?: string;
 }
 
 declare global {
@@ -16,6 +17,37 @@ declare global {
     }
 }
 
+const blockData = (headerText?: string) => ({
+    type: "heading",
+    data: {
+        text: {
+            desktop: {
+                type: "heading",
+                alignment: "left",
+                tag: "h1"
+            },
+            data: {
+                text: `{\"root\":{\"children\":[{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"${headerText}\",\"type\":\"text\",\"version\":1}],\"direction\":\"ltr\",\"format\":\"\",\"indent\":0,\"type\":\"heading-element\",\"version\":1,\"tag\":\"h1\",\"styles\":[{\"styleId\":\"heading1\",\"type\":\"typography\"}]}],\"direction\":\"ltr\",\"format\":\"\",\"indent\":0,\"type\":\"root\",\"version\":1}}`
+            }
+        },
+        settings: {
+            margin: {
+                desktop: {
+                    all: "0px"
+                }
+            },
+            padding: {
+                desktop: {
+                    all: "0px"
+                }
+            }
+        }
+    },
+    elements: [],
+    path: ["WoVi5gTm84", "2rYVcjPC07"],
+    id: "YQNWzGUybC"
+});
+
 const CREATE_BLOCK_CATEGORY_MUTATION = /* GraphQL */ `
     mutation CreateBlockCategory($data: PbBlockCategoryInput!) {
         pageBuilder {
@@ -67,7 +99,7 @@ const CRATE_BLOCK_MUTATION = /* GraphQL */ `
     }
 `;
 
-Cypress.Commands.add("pbCreateCategoryAndBlocks", ({ blockCategory, blockNames }) => {
+Cypress.Commands.add("pbCreateCategoryAndBlocks", ({ blockCategory, blockNames, headerText }) => {
     cy.login().then(user => {
         const createCategoryPromise = gqlClient
             .request({
@@ -93,7 +125,7 @@ Cypress.Commands.add("pbCreateCategoryAndBlocks", ({ blockCategory, blockNames }
                                     id: "xyz",
                                     type: "block",
                                     data: {},
-                                    elements: []
+                                    elements: headerText ? [blockData(headerText)] : []
                                 }
                             }
                         },
diff --git a/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts b/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts
new file mode 100644
index 00000000000..25510d9776d
--- /dev/null
+++ b/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts
@@ -0,0 +1,59 @@
+import { gqlClient } from "../utils";
+
+declare global {
+    // eslint-disable-next-line @typescript-eslint/no-namespace
+    namespace Cypress {
+        interface Chainable {
+            pbUpdatePageBlock(id: string, data: any): Promise<any>;
+        }
+    }
+}
+const UPDATE_PAGE_BLOCK = /* GraphQL */ `
+    mutation UpdatePageBlock($id: ID!, $data: PbUpdatePageBlockInput!) {
+        pageBuilder {
+            pageBlock: updatePageBlock(id: $id, data: $data) {
+                data {
+                    id
+                    blockCategory
+                    name
+                    content
+                    createdOn
+                    createdBy {
+                        id
+                        displayName
+                        type
+                    }
+                }
+                error {
+                    code
+                    message
+                    data
+                }
+            }
+        }
+    }
+`;
+
+Cypress.Commands.add("pbUpdatePageBlock", (id, data) => {
+    return cy.login().then(user => {
+        return gqlClient
+            .request({
+                query: UPDATE_PAGE_BLOCK,
+                variables: {
+                    id,
+                    data: {
+                        blockCategory: data.slug,
+                        name: data.name,
+                        content: {
+                            id: "xyz",
+                            type: "block",
+                            data: {},
+                            elements: [data.content.elements]
+                        }
+                    }
+                },
+                authToken: user.idToken.jwtToken
+            })
+            .then(response => response.pageBuilder.pageTemplate);
+    });
+});

From 139f53ceffaf5e69f8351f681455c6ee5d25905d Mon Sep 17 00:00:00 2001
From: Asmaloth <borna.dobrovic1@gmail.com>
Date: Sun, 14 Jan 2024 14:38:30 +0100
Subject: [PATCH 2/8] fix(pr): added solutions for batch 6 task 2

---
 .../pageBuilder/blocks/pageBlockPreview.cy.ts | 13 ++++-----
 .../admin/pageBuilder/blocks/pageBlocks.cy.ts | 27 +++++++++----------
 .../pageBuilder/blocks/pageBlocksCrud.cy.ts   |  7 +++--
 .../blocks/pageBlocksExportImport.cy.ts       | 24 +++++++----------
 .../category/pageCategoriesCrud.cy.ts         | 19 +++++++------
 .../admin/pageBuilder/menus/menuCrud.cy.ts    |  7 +++--
 .../admin/pageBuilder/menus/menuItems.cy.ts   | 12 ++++-----
 .../templates/pageTemplatesCrud.cy.ts         |  7 +++--
 .../templates/pageTemplatesDialogSearch.cy.ts | 25 +++++++++--------
 .../templates/pageTemplatesExportImport.cy.ts | 25 +++++++++--------
 .../templates/pageTemplatesSearch.cy.ts       | 26 +++++++++---------
 .../templates/pageTemplatesSorting.cy.ts      | 19 +++++++------
 .../templates/templatesVisible.cy.ts          |  9 +++----
 .../blocks/pageBlocksExportImport.cy.ts       | 18 ++++++-------
 14 files changed, 109 insertions(+), 129 deletions(-)

diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
index d8413fc4e4b..b4cdcaece36 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
@@ -1,25 +1,21 @@
-import { customAlphabet } from "nanoid";
-
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 context("Page Builder - Blocks", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
     beforeEach(() => {
         cy.login();
         cy.pbDeleteAllBlocks();
         cy.pbDeleteAllBlockCategories();
         cy.pbDeleteAllTemplates();
     });
-
-    // Data used for creating multiple block categories.
     const blockName = ["Block1Name"];
     const headerTitle = "Header test";
     const headerTitleUpdate = "Edited Header Text";
     const templateData = "tester";
 
     const blockCategoryData = {
-        name: nanoid(10).toLowerCase(),
-        slug: nanoid(10).toLowerCase(),
+        name: generateAlphaLowerCaseId(10),
+        slug: generateAlphaLowerCaseId(10),
         icon: "icon-name",
-        description: nanoid(10).toLowerCase()
+        description: generateAlphaLowerCaseId(10)
     };
 
     it("Should be able to programatically create and assert a block exists with a proper heading", () => {
@@ -28,6 +24,7 @@ context("Page Builder - Blocks", () => {
             blockNames: blockName,
             headerText: headerTitle
         });
+
         cy.visit("/page-builder/page-blocks");
         // Asserts the programatically created block contains the correct data.
         cy.contains(blockCategoryData.name).click();
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocks.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocks.cy.ts
index c5430410ef8..9aa8fcdbf4e 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocks.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocks.cy.ts
@@ -1,7 +1,6 @@
-import { customAlphabet } from "nanoid";
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Page Builder - Blocks", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
     beforeEach(() => {
         cy.login();
         cy.pbDeleteAllBlocks();
@@ -15,31 +14,31 @@ context("Page Builder - Blocks", () => {
     const blockNames4 = ["!#$%&/()="];
 
     const blockCategoryData1 = {
-        name: nanoid(10).toLowerCase(),
-        slug: nanoid(10).toLowerCase(),
+        name: generateAlphaLowerCaseId(10),
+        slug: generateAlphaLowerCaseId(10),
         icon: "icon-name",
-        description: nanoid(10).toLowerCase()
+        description: generateAlphaLowerCaseId(10)
     };
 
     const blockCategoryData2 = {
-        name: nanoid(10).toLowerCase(),
-        slug: nanoid(10).toLowerCase(),
+        name: generateAlphaLowerCaseId(10),
+        slug: generateAlphaLowerCaseId(10),
         icon: "icon-name",
-        description: nanoid(10).toLowerCase()
+        description: generateAlphaLowerCaseId(10)
     };
 
     const blockCategoryData3 = {
-        name: nanoid(10).toLowerCase(),
-        slug: nanoid(10).toLowerCase(),
+        name: generateAlphaLowerCaseId(10),
+        slug: generateAlphaLowerCaseId(10),
         icon: "icon-name",
-        description: nanoid(10).toLowerCase()
+        description: generateAlphaLowerCaseId(10)
     };
 
     const blockCategoryData4 = {
-        name: nanoid(10).toLowerCase(),
-        slug: nanoid(10).toLowerCase(),
+        name: generateAlphaLowerCaseId(10),
+        slug: generateAlphaLowerCaseId(10),
         icon: "icon-name",
-        description: nanoid(10).toLowerCase()
+        description: generateAlphaLowerCaseId(10)
     };
 
     it("Should be able to use the search bar as expected", () => {
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocksCrud.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocksCrud.cy.ts
index fe35a5cdd31..fefaada8873 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocksCrud.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocksCrud.cy.ts
@@ -1,9 +1,8 @@
-import { customAlphabet } from "nanoid";
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Page Builder - Blocks", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
-    const blockCategoryName = nanoid(10); // Generate a random 10-character lowercase string
-    const blockCategorySlug = nanoid(10); // Generate another random 10-character lowercase string
+    const blockCategoryName = generateAlphaLowerCaseId(10); // Generate a random 10-character lowercase string
+    const blockCategorySlug = generateAlphaLowerCaseId(10); // Generate another random 10-character lowercase string
 
     beforeEach(() => {
         cy.login();
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocksExportImport.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocksExportImport.cy.ts
index ead2e937481..209a1261aff 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocksExportImport.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocksExportImport.cy.ts
@@ -1,8 +1,6 @@
-import { customAlphabet } from "nanoid";
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Page Builder - Blocks Export/Import", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
-
     beforeEach(() => {
         cy.login();
         cy.pbDeleteAllBlocks();
@@ -10,31 +8,29 @@ context("Page Builder - Blocks Export/Import", () => {
     });
 
     const blockNames1 = ["Block1Name"];
-
     const blockNames2 = ["Block1Name", "Block2Name"];
-
     const blockNames3 = ["Block1Name", "Block2Name", "Block3Name"];
 
     //Data used for creating multible block categories
     const blockCategoryData1 = {
-        name: nanoid(10).toLowerCase(),
-        slug: nanoid(10).toLowerCase(),
+        name: generateAlphaLowerCaseId(10),
+        slug: generateAlphaLowerCaseId(10),
         icon: "icon-name",
-        description: nanoid(10).toLowerCase()
+        description: generateAlphaLowerCaseId(10)
     };
 
     const blockCategoryData2 = {
-        name: nanoid(10).toLowerCase(),
-        slug: nanoid(10).toLowerCase(),
+        name: generateAlphaLowerCaseId(10),
+        slug: generateAlphaLowerCaseId(10),
         icon: "icon-name",
-        description: nanoid(10).toLowerCase()
+        description: generateAlphaLowerCaseId(10)
     };
 
     const blockCategoryData3 = {
-        name: nanoid(10).toLowerCase(),
-        slug: nanoid(10).toLowerCase(),
+        name: generateAlphaLowerCaseId(10),
+        slug: generateAlphaLowerCaseId(10),
         icon: "icon-name",
-        description: nanoid(10).toLowerCase()
+        description: generateAlphaLowerCaseId(10)
     };
 
     it("Test the importation and exportation of all blocks", () => {
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/category/pageCategoriesCrud.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/category/pageCategoriesCrud.cy.ts
index e871f131208..b96ad50e27c 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/category/pageCategoriesCrud.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/category/pageCategoriesCrud.cy.ts
@@ -1,15 +1,14 @@
-import { customAlphabet } from "nanoid";
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Page Builder - Categories CRUD", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
-    const categoryName = nanoid(6);
-    const categoryNameEdited = nanoid(6);
-    const categorySlug = nanoid(6);
-    const categoryUrl = "/" + nanoid(6) + "/";
-    const categoryUrlEdited = "/" + nanoid(6) + "/";
-    const categoryNameValidate = nanoid(6);
-    const categorySlugValidate = nanoid(6);
-    const categoryUrlValidate = "/" + nanoid(6) + "/";
+    const categoryName = generateAlphaLowerCaseId(6);
+    const categoryNameEdited = generateAlphaLowerCaseId(6);
+    const categorySlug = generateAlphaLowerCaseId(6);
+    const categoryUrl = "/" + generateAlphaLowerCaseId(6) + "/";
+    const categoryUrlEdited = "/" + generateAlphaLowerCaseId(6) + "/";
+    const categoryNameValidate = generateAlphaLowerCaseId(6);
+    const categorySlugValidate = generateAlphaLowerCaseId(6);
+    const categoryUrlValidate = "/" + generateAlphaLowerCaseId(6) + "/";
 
     beforeEach(() => {
         cy.login();
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/menus/menuCrud.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/menus/menuCrud.cy.ts
index 7920a8dea7f..8190f3d60fb 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/menus/menuCrud.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/menus/menuCrud.cy.ts
@@ -1,9 +1,8 @@
-import { customAlphabet } from "nanoid";
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Page Builder - Menu CRUD", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
-    const menuName = nanoid(10);
-    const menuSlug = nanoid(10);
+    const menuName = generateAlphaLowerCaseId(10);
+    const menuSlug = generateAlphaLowerCaseId(10);
 
     const menuNameEdit = "Testing Menu123";
     const menuDescEdit = "This is an edited description.";
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/menus/menuItems.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/menus/menuItems.cy.ts
index 2bd8a3411b0..162e9214dcc 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/menus/menuItems.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/menus/menuItems.cy.ts
@@ -1,19 +1,17 @@
-import { customAlphabet } from "nanoid";
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Page Builder - Menu Items", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
-
-    const pageListName = nanoid(10);
+    const pageListName = generateAlphaLowerCaseId(10);
     const pageListNameEdit = pageListName + "-edit";
 
-    const linkName = nanoid(10);
+    const linkName = generateAlphaLowerCaseId(10);
     const linkURL = `/${linkName}/`;
     const linkNameEdit = linkName + "-edit";
     const linkURLEdit = `/${linkNameEdit}/`;
 
-    const folderName = nanoid(10);
+    const folderName = generateAlphaLowerCaseId(10);
     const folderNameEdit = folderName + "-edit";
-    const pageNameNew = nanoid(10);
+    const pageNameNew = generateAlphaLowerCaseId(10);
     const pageNameNewEdit = pageNameNew + "-edit";
 
     const menuData = {
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesCrud.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesCrud.cy.ts
index 0396446ebcf..c86f001b0e2 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesCrud.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesCrud.cy.ts
@@ -1,9 +1,8 @@
-import { customAlphabet } from "nanoid";
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Page Builder - Template CRUD", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
-    const templateName = nanoid(10);
-    const templateNameEdit = nanoid(10);
+    const templateName = generateAlphaLowerCaseId(10);
+    const templateNameEdit = generateAlphaLowerCaseId(10);
     beforeEach(() => {
         cy.login();
         cy.pbDeleteAllTemplates();
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesDialogSearch.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesDialogSearch.cy.ts
index 8418a812957..d4d8913b3fe 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesDialogSearch.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesDialogSearch.cy.ts
@@ -1,40 +1,39 @@
-import { customAlphabet } from "nanoid";
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Page Builder - Page Templates Dialog Search", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
-    const titleString1 = nanoid(6);
-    const titleString2 = nanoid(6);
-    const titleString3 = nanoid(6);
+    const titleString1 = generateAlphaLowerCaseId(10);
+    const titleString2 = generateAlphaLowerCaseId(10);
+    const titleString3 = generateAlphaLowerCaseId(10);
     const titleString4 = "!#$%&/()=?*";
 
     const pageTemplateData1 = {
         title: titleString1,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
     };
     const pageTemplateData2 = {
         title: titleString2,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
     };
     const pageTemplateData3 = {
         title: titleString3,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
     };
     const pageTemplateData4 = {
         title: titleString4,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesExportImport.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesExportImport.cy.ts
index 12d1cd1b025..c9aed80c595 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesExportImport.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesExportImport.cy.ts
@@ -1,40 +1,39 @@
-import { customAlphabet } from "nanoid";
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Page Builder - Template Export&Import", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
     let url = "";
-    const titleString1 = nanoid(6);
-    const titleString2 = nanoid(6);
-    const titleString3 = nanoid(6);
+    const titleString1 = generateAlphaLowerCaseId(10);
+    const titleString2 = generateAlphaLowerCaseId(10);
+    const titleString3 = generateAlphaLowerCaseId(10);
     const titleString4 = "!#$%&/()=?*";
     const pageTemplateData1 = {
         title: titleString1,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
     };
     const pageTemplateData2 = {
         title: titleString2,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
     };
     const pageTemplateData3 = {
         title: titleString3,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
     };
     const pageTemplateData4 = {
         title: titleString4,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesSearch.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesSearch.cy.ts
index ff021bd74c4..7efd66f0e4e 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesSearch.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesSearch.cy.ts
@@ -1,39 +1,37 @@
-import { customAlphabet } from "nanoid";
-
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 context("Page Builder - Template Search", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
-    const titleString1 = nanoid(6);
-    const titleString2 = nanoid(6);
-    const titleString3 = nanoid(6);
+    const titleString1 = generateAlphaLowerCaseId(10);
+    const titleString2 = generateAlphaLowerCaseId(10);
+    const titleString3 = generateAlphaLowerCaseId(10);
     const titleString4 = "!#$%&/()=?*";
     const pageTemplateData1 = {
         title: titleString1,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
     };
     const pageTemplateData2 = {
         title: titleString2,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
     };
     const pageTemplateData3 = {
         title: titleString3,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
     };
     const pageTemplateData4 = {
         title: titleString4,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesSorting.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesSorting.cy.ts
index 8c03f1ea847..c314b019191 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesSorting.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/templates/pageTemplatesSorting.cy.ts
@@ -1,7 +1,6 @@
-import { customAlphabet } from "nanoid";
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Page Builder - Template Sorting", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
     const titleString1 = "ABC";
     const titleString2 = "DEF";
     const titleString3 = "GHI";
@@ -9,32 +8,32 @@ context("Page Builder - Template Sorting", () => {
 
     const pageTemplateData1 = {
         title: titleString1,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
     };
     const pageTemplateData2 = {
         title: titleString2,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
     };
     const pageTemplateData3 = {
         title: titleString3,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
     };
     const pageTemplateData4 = {
         title: titleString4,
-        slug: nanoid(6),
-        description: nanoid(6),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/templates/templatesVisible.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/templates/templatesVisible.cy.ts
index c2c2931f7e8..c840292966e 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/templates/templatesVisible.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/templates/templatesVisible.cy.ts
@@ -1,11 +1,10 @@
-import { customAlphabet } from "nanoid";
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Page Builder - Template Visibility", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
     const pageTemplateData1 = {
-        title: nanoid(6),
-        slug: nanoid(6),
-        description: nanoid(6),
+        title: generateAlphaLowerCaseId(10),
+        slug: generateAlphaLowerCaseId(10),
+        description: generateAlphaLowerCaseId(10),
         tags: [],
         layout: "static",
         pageCategory: "static"
diff --git a/cypress-tests/cypress/integration/admin/pageBuilder/blocks/pageBlocksExportImport.cy.ts b/cypress-tests/cypress/integration/admin/pageBuilder/blocks/pageBlocksExportImport.cy.ts
index cb3fed5cd1b..8690438d40f 100644
--- a/cypress-tests/cypress/integration/admin/pageBuilder/blocks/pageBlocksExportImport.cy.ts
+++ b/cypress-tests/cypress/integration/admin/pageBuilder/blocks/pageBlocksExportImport.cy.ts
@@ -17,24 +17,24 @@ context("Page Builder - Blocks Export/Import", () => {
 
     //Data used for creating multible block categories
     const blockCategoryData1 = {
-        name: nanoid(10).toLowerCase(),
-        slug: nanoid(10).toLowerCase(),
+        name: generateAlphaLowerCaseId(10),
+        slug: generateAlphaLowerCaseId(10),
         icon: "icon-name",
-        description: nanoid(10).toLowerCase()
+        description: generateAlphaLowerCaseId(10)
     };
 
     const blockCategoryData2 = {
-        name: nanoid(10).toLowerCase(),
-        slug: nanoid(10).toLowerCase(),
+        name: generateAlphaLowerCaseId(10),
+        slug: generateAlphaLowerCaseId(10),
         icon: "icon-name",
-        description: nanoid(10).toLowerCase()
+        description: generateAlphaLowerCaseId(10)
     };
 
     const blockCategoryData3 = {
-        name: nanoid(10).toLowerCase(),
-        slug: nanoid(10).toLowerCase(),
+        name: generateAlphaLowerCaseId(10),
+        slug: generateAlphaLowerCaseId(10),
         icon: "icon-name",
-        description: nanoid(10).toLowerCase()
+        description: generateAlphaLowerCaseId(10)
     };
 
     it("Test the importation and exportation of all blocks", () => {

From 61a39d08a1bd3701996fa4afd0a6e7fe848e1f3b Mon Sep 17 00:00:00 2001
From: Asmaloth <borna.dobrovic1@gmail.com>
Date: Sun, 14 Jan 2024 15:36:56 +0100
Subject: [PATCH 3/8] fix(pr): refactored batch 6 task 1 for better readability

---
 .../pageBuilder/blocks/pageBlockPreview.cy.ts |   7 +-
 .../pageBuilder/blocks/pageBlocksCrud.cy.ts   |   4 +-
 .../blocks/pageBlocksExportImport.cy.ts       | 122 ------------------
 .../pageBuilder/pbCreateCategoryAndBlocks.ts  |  35 +++--
 4 files changed, 30 insertions(+), 138 deletions(-)
 delete mode 100644 cypress-tests/cypress/integration/admin/pageBuilder/blocks/pageBlocksExportImport.cy.ts

diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
index b4cdcaece36..dabafff2087 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
@@ -22,7 +22,10 @@ context("Page Builder - Blocks", () => {
         cy.pbCreateCategoryAndBlocks({
             blockCategory: blockCategoryData,
             blockNames: blockName,
-            headerText: headerTitle
+            block: {
+                type: "heading",
+                text: headerTitle
+            }
         });
 
         cy.visit("/page-builder/page-blocks");
@@ -34,7 +37,7 @@ context("Page Builder - Blocks", () => {
         // Edits the current header for headerTitleUpdate.
         cy.findByTestId("pb-blocks-list-block-edit-btn").click();
         cy.get('pb-block:contains("Header test")').click();
-        cy.get('[contenteditable="true"]').clear().type(headerTitleUpdate);
+        cy.get('[contenteditable="true"]').clear().type(headerTitleUpdate).click();
         cy.contains("Save Changes").click();
 
         // Asserts the newly edited header/block contains the right information.
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocksCrud.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocksCrud.cy.ts
index fefaada8873..419829941d0 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocksCrud.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlocksCrud.cy.ts
@@ -1,8 +1,8 @@
 import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Page Builder - Blocks", () => {
-    const blockCategoryName = generateAlphaLowerCaseId(10); // Generate a random 10-character lowercase string
-    const blockCategorySlug = generateAlphaLowerCaseId(10); // Generate another random 10-character lowercase string
+    const blockCategoryName = generateAlphaLowerCaseId(10);
+    const blockCategorySlug = generateAlphaLowerCaseId(10);
 
     beforeEach(() => {
         cy.login();
diff --git a/cypress-tests/cypress/integration/admin/pageBuilder/blocks/pageBlocksExportImport.cy.ts b/cypress-tests/cypress/integration/admin/pageBuilder/blocks/pageBlocksExportImport.cy.ts
deleted file mode 100644
index 8690438d40f..00000000000
--- a/cypress-tests/cypress/integration/admin/pageBuilder/blocks/pageBlocksExportImport.cy.ts
+++ /dev/null
@@ -1,122 +0,0 @@
-import { customAlphabet } from "nanoid";
-
-context("Page Builder - Blocks Export/Import", () => {
-    const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
-
-    beforeEach(() => {
-        cy.login();
-        cy.pbDeleteAllBlocks();
-        cy.pbDeleteAllBlockCategories();
-    });
-
-    const blockNames1 = ["Block1Name"];
-
-    const blockNames2 = ["Block1Name", "Block2Name"];
-
-    const blockNames3 = ["Block1Name", "Block2Name", "Block3Name"];
-
-    //Data used for creating multible block categories
-    const blockCategoryData1 = {
-        name: generateAlphaLowerCaseId(10),
-        slug: generateAlphaLowerCaseId(10),
-        icon: "icon-name",
-        description: generateAlphaLowerCaseId(10)
-    };
-
-    const blockCategoryData2 = {
-        name: generateAlphaLowerCaseId(10),
-        slug: generateAlphaLowerCaseId(10),
-        icon: "icon-name",
-        description: generateAlphaLowerCaseId(10)
-    };
-
-    const blockCategoryData3 = {
-        name: generateAlphaLowerCaseId(10),
-        slug: generateAlphaLowerCaseId(10),
-        icon: "icon-name",
-        description: generateAlphaLowerCaseId(10)
-    };
-
-    it("Test the importation and exportation of all blocks", () => {
-        cy.visit("/page-builder/page-blocks");
-        // Exports all created data and saves the exported string value.
-        cy.pbCreateCategoryAndBlocks({
-            blockCategory: blockCategoryData1,
-            blockNames: blockNames1
-        });
-        cy.pbCreateCategoryAndBlocks({
-            blockCategory: blockCategoryData2,
-            blockNames: blockNames2
-        });
-        cy.pbCreateCategoryAndBlocks({
-            blockCategory: blockCategoryData3,
-            blockNames: blockNames3
-        });
-
-        cy.findByPlaceholderText("Search blocks").should("exist");
-        cy.findByTestId("pb-blocks-list-options-menu").click();
-        cy.findByText("Export all blocks").click();
-        cy.findByText("Your export is now ready!").should("exist");
-
-        cy.get("pb-blocks-export-dialog-export-url")
-            .invoke("text")
-            .then(text => {
-                const url = text.trim();
-                console.log(url);
-                cy.pbDeleteAllBlockCategories();
-                cy.pbDeleteAllBlocks();
-
-                cy.visit("/page-builder/page-blocks");
-                cy.findByPlaceholderText("Search blocks").should("exist");
-                cy.findByTestId("pb-blocks-list-options-menu").click();
-                cy.findByRole("menuitem", { name: "Import blocks" }).click();
-                cy.contains("Paste File URL").should("exist").click();
-                cy.contains("File URL").type(url);
-                cy.contains("Continue").click();
-                cy.findByText("All blocks have been imported").should("exist");
-                cy.contains("Continue").click();
-
-                // Validation of imported blocks and categories.
-                cy.contains(blockCategoryData1.name).should("exist");
-                cy.contains(blockCategoryData2.name).should("exist");
-                cy.contains(blockCategoryData3.name).should("exist");
-
-                cy.contains(blockCategoryData1.name).click();
-                cy.contains(blockNames1[0]).should("exist");
-                cy.contains(blockCategoryData1.name).click();
-                cy.contains(blockNames2[0]).should("exist");
-                cy.contains(blockCategoryData1.name).click();
-                cy.contains(blockNames3[0]).should("exist");
-            });
-    });
-
-    it("Test the importation and exportation functionality of the import block button", () => {
-        cy.visit("/page-builder/page-blocks");
-        cy.pbCreateCategoryAndBlocks({
-            blockCategory: blockCategoryData1,
-            blockNames: blockNames1
-        });
-
-        cy.contains(blockCategoryData1.name).click();
-        cy.findByTestId("pb-blocks-list-block-export-btn").click();
-        cy.findByText("Your export is now ready!").should("exist");
-        cy.get("span.link-text.mdc-typography--body2")
-            .invoke("text")
-            .then(url => {
-                cy.pbDeleteAllBlockCategories();
-                cy.pbDeleteAllBlocks();
-
-                cy.visit("/page-builder/page-blocks");
-                cy.findByTestId("pb-blocks-list-options-menu").click();
-                cy.findByRole("menuitem", { name: "Import blocks" }).click();
-                cy.contains("Paste File URL").should("exist").click();
-                cy.contains("File URL").type(url);
-                cy.contains("Continue").click();
-                cy.findByText("All blocks have been imported").should("exist");
-                cy.contains("Continue").click();
-
-                cy.visit("/page-builder/page-blocks");
-                cy.contains(blockCategoryData1.name).should("exist");
-            });
-    });
-});
diff --git a/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts b/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts
index 569644eb57f..da30e94236c 100644
--- a/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts
+++ b/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts
@@ -3,9 +3,14 @@ import { gqlClient } from "../utils";
 interface CreateCategoryAndBlocksParams {
     blockCategory: Record<string, any>;
     blockNames: string[];
-    headerText?: string;
+    block?: Block;
 }
 
+type Block = {
+    type: string;
+    text: string;
+};
+
 declare global {
     // eslint-disable-next-line @typescript-eslint/no-namespace
     namespace Cypress {
@@ -17,9 +22,8 @@ declare global {
     }
 }
 
-const blockData = (headerText?: string) => ({
-    type: "heading",
-    data: {
+const createHeadingBlock = (blockText: string) => {
+    return {
         text: {
             desktop: {
                 type: "heading",
@@ -27,7 +31,7 @@ const blockData = (headerText?: string) => ({
                 tag: "h1"
             },
             data: {
-                text: `{\"root\":{\"children\":[{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"${headerText}\",\"type\":\"text\",\"version\":1}],\"direction\":\"ltr\",\"format\":\"\",\"indent\":0,\"type\":\"heading-element\",\"version\":1,\"tag\":\"h1\",\"styles\":[{\"styleId\":\"heading1\",\"type\":\"typography\"}]}],\"direction\":\"ltr\",\"format\":\"\",\"indent\":0,\"type\":\"root\",\"version\":1}}`
+                text: `{"root":{"children":[{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"${blockText}","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"heading-element","version":1,"tag":"h1","styles":[{"styleId":"heading1","type":"typography"}]}],"direction":"ltr","format":"","indent":0,"type":"root","version":1}}`
             }
         },
         settings: {
@@ -42,11 +46,18 @@ const blockData = (headerText?: string) => ({
                 }
             }
         }
-    },
-    elements: [],
-    path: ["WoVi5gTm84", "2rYVcjPC07"],
-    id: "YQNWzGUybC"
-});
+    };
+};
+
+const blockData = (blockText: string, blockType: string) => {
+    switch (blockType) {
+        case "heading":
+            return {
+                type: "heading",
+                data: createHeadingBlock(blockText)
+            };
+    }
+};
 
 const CREATE_BLOCK_CATEGORY_MUTATION = /* GraphQL */ `
     mutation CreateBlockCategory($data: PbBlockCategoryInput!) {
@@ -99,7 +110,7 @@ const CRATE_BLOCK_MUTATION = /* GraphQL */ `
     }
 `;
 
-Cypress.Commands.add("pbCreateCategoryAndBlocks", ({ blockCategory, blockNames, headerText }) => {
+Cypress.Commands.add("pbCreateCategoryAndBlocks", ({ blockCategory, blockNames, block }) => {
     cy.login().then(user => {
         const createCategoryPromise = gqlClient
             .request({
@@ -125,7 +136,7 @@ Cypress.Commands.add("pbCreateCategoryAndBlocks", ({ blockCategory, blockNames,
                                     id: "xyz",
                                     type: "block",
                                     data: {},
-                                    elements: headerText ? [blockData(headerText)] : []
+                                    elements: block ? [blockData(block.text, block.type)] : []
                                 }
                             }
                         },

From 4f24857f4c236ab7fb45c32852eac96b01240263 Mon Sep 17 00:00:00 2001
From: Asmaloth <borna.dobrovic1@gmail.com>
Date: Tue, 16 Jan 2024 11:52:04 +0100
Subject: [PATCH 4/8] fix(pr): made additional changes for batch 6

---
 .../admin/formBuilder/forms/createForm.cy.ts  |  8 +--
 .../pageBuilder/blocks/pageBlockPreview.cy.ts |  2 +-
 .../menus/pagesListMenuItemType.cy.js         |  6 +-
 cypress-tests/cypress/support/commands.js     |  2 +-
 .../pageBuilder/pbCreateCategoryAndBlocks.ts  | 57 +++++--------------
 .../createHeadingBlock.ts                     | 29 ++++++++++
 cypress-tests/cypress/support/utils.ts        |  4 +-
 .../support/{login => }/visitWebsite.ts       |  2 +-
 cypress-tests/package.json                    |  4 +-
 9 files changed, 57 insertions(+), 57 deletions(-)
 create mode 100644 cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks/createHeadingBlock.ts
 rename cypress-tests/cypress/support/{login => }/visitWebsite.ts (94%)

diff --git a/cypress-tests/cypress/e2e/admin/formBuilder/forms/createForm.cy.ts b/cypress-tests/cypress/e2e/admin/formBuilder/forms/createForm.cy.ts
index 74c76dd7bd1..1fb37b66c5d 100644
--- a/cypress-tests/cypress/e2e/admin/formBuilder/forms/createForm.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/formBuilder/forms/createForm.cy.ts
@@ -1,13 +1,11 @@
-import { customAlphabet } from "nanoid";
-
-const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz");
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 context("Forms Creation", () => {
     beforeEach(() => cy.login());
 
     describe("Create Form", () => {
-        const newFormTitle = `Test form 1 ${nanoid(10)}`;
-        const newFormTitle2 = `Test form 2 ${nanoid(10)}`;
+        const newFormTitle = `Test form 1 ${generateAlphaLowerCaseId(10)}`;
+        const newFormTitle2 = `Test form 2 ${generateAlphaLowerCaseId(10)}`;
 
         it("should be able to create form, rename it, publish it, create new revision and delete it", () => {
             cy.visit("/form-builder/forms");
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
index dabafff2087..2e47c58b841 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
@@ -22,7 +22,7 @@ context("Page Builder - Blocks", () => {
         cy.pbCreateCategoryAndBlocks({
             blockCategory: blockCategoryData,
             blockNames: blockName,
-            block: {
+            content: {
                 type: "heading",
                 text: headerTitle
             }
diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/menus/pagesListMenuItemType.cy.js b/cypress-tests/cypress/e2e/admin/pageBuilder/menus/pagesListMenuItemType.cy.js
index e271a861a72..902f3174195 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/menus/pagesListMenuItemType.cy.js
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/menus/pagesListMenuItemType.cy.js
@@ -92,7 +92,7 @@ describe.skip("Menus Module", () => {
     });
 
     it(`Step 2: assert that menu item and pages are shown (descending order)`, () => {
-        cy.visit(Cypress.env("WEBSITE_URL") + `/page-${id}-${0}/`);
+        cy.visitWebsite(`/page-${id}-${0}/`);
 
         cy.reloadUntil(() => {
             // We wait until the document contains the newly added menu.
@@ -130,7 +130,7 @@ describe.skip("Menus Module", () => {
     });
 
     it(`Step 4: assert that menu item and pages are shown (ascending order)`, () => {
-        cy.visit(Cypress.env("WEBSITE_URL") + `/page-${id}-${0}/`);
+        cy.visitWebsite(`/page-${id}-${0}/`);
 
         cy.reloadUntil(() => {
             // We wait until the document contains the newly added menu.
@@ -162,7 +162,7 @@ describe.skip("Menus Module", () => {
     });
 
     it(`Step 6: assert that the pages list menu item does not exist`, () => {
-        cy.visit(Cypress.env("WEBSITE_URL") + `/page-${id}-${0}/`);
+        cy.visitWebsite(`/page-${id}-${0}/`);
 
         cy.reloadUntil(() => {
             // We wait until the document contains the newly added menu.
diff --git a/cypress-tests/cypress/support/commands.js b/cypress-tests/cypress/support/commands.js
index a3c379784ce..78a86b95761 100644
--- a/cypress-tests/cypress/support/commands.js
+++ b/cypress-tests/cypress/support/commands.js
@@ -30,7 +30,7 @@ import "./pageBuilder/pbDeleteAllBlockCategories";
 import "./pageBuilder/pbListBlockCategories";
 import "./pageBuilder/pbCreateCategory";
 import "./pageBuilder/pbDeleteCategory";
-import "./login/visitWebsite";
+import "./visitWebsite";
 import "./headlessCms/cmsCreateContentModel";
 import "./headlessCms/cmsUpdateContentModel";
 import "./headlessCms/cmsDeleteContentModel";
diff --git a/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts b/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts
index da30e94236c..146c81fa006 100644
--- a/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts
+++ b/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts
@@ -1,13 +1,13 @@
 import { gqlClient } from "../utils";
-
+import { createHeadingBlock } from "./pbCreateCategoryAndBlocks/createHeadingBlock";
 interface CreateCategoryAndBlocksParams {
     blockCategory: Record<string, any>;
     blockNames: string[];
-    block?: Block;
+    content?: Content;
 }
 
-type Block = {
-    type: string;
+type Content = {
+    type: "heading";
     text: string;
 };
 
@@ -22,40 +22,17 @@ declare global {
     }
 }
 
-const createHeadingBlock = (blockText: string) => {
-    return {
-        text: {
-            desktop: {
-                type: "heading",
-                alignment: "left",
-                tag: "h1"
-            },
-            data: {
-                text: `{"root":{"children":[{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"${blockText}","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"heading-element","version":1,"tag":"h1","styles":[{"styleId":"heading1","type":"typography"}]}],"direction":"ltr","format":"","indent":0,"type":"root","version":1}}`
-            }
-        },
-        settings: {
-            margin: {
-                desktop: {
-                    all: "0px"
-                }
-            },
-            padding: {
-                desktop: {
-                    all: "0px"
-                }
-            }
-        }
-    };
-};
-
-const blockData = (blockText: string, blockType: string) => {
-    switch (blockType) {
+const contentData = (contentText: string, contentType: string) => {
+    switch (contentType) {
         case "heading":
             return {
-                type: "heading",
-                data: createHeadingBlock(blockText)
+                type: "block",
+                data: {},
+                elements: [createHeadingBlock(contentText)]
             };
+
+        default:
+            return {};
     }
 };
 
@@ -110,7 +87,7 @@ const CRATE_BLOCK_MUTATION = /* GraphQL */ `
     }
 `;
 
-Cypress.Commands.add("pbCreateCategoryAndBlocks", ({ blockCategory, blockNames, block }) => {
+Cypress.Commands.add("pbCreateCategoryAndBlocks", ({ blockCategory, blockNames, content }) => {
     cy.login().then(user => {
         const createCategoryPromise = gqlClient
             .request({
@@ -129,15 +106,11 @@ Cypress.Commands.add("pbCreateCategoryAndBlocks", ({ blockCategory, blockNames,
                     gqlClient.request({
                         query: CRATE_BLOCK_MUTATION,
                         variables: {
+                            id: "xyz",
                             data: {
                                 name: blockName,
                                 blockCategory: categorySlug,
-                                content: {
-                                    id: "xyz",
-                                    type: "block",
-                                    data: {},
-                                    elements: block ? [blockData(block.text, block.type)] : []
-                                }
+                                content: content ? contentData(content.text, content.type) : {}
                             }
                         },
                         authToken: user.idToken.jwtToken
diff --git a/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks/createHeadingBlock.ts b/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks/createHeadingBlock.ts
new file mode 100644
index 00000000000..bacab41711c
--- /dev/null
+++ b/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks/createHeadingBlock.ts
@@ -0,0 +1,29 @@
+export const createHeadingBlock = (blockText: string) => {
+    return {
+        type: "heading",
+        data: {
+            text: {
+                desktop: {
+                    type: "heading",
+                    alignment: "left",
+                    tag: "h1"
+                },
+                data: {
+                    text: `{"root":{"children":[{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"${blockText}","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"heading-element","version":1,"tag":"h1","styles":[{"styleId":"heading1","type":"typography"}]}],"direction":"ltr","format":"","indent":0,"type":"root","version":1}}`
+                }
+            },
+            settings: {
+                margin: {
+                    desktop: {
+                        all: "0px"
+                    }
+                },
+                padding: {
+                    desktop: {
+                        all: "0px"
+                    }
+                }
+            }
+        }
+    };
+};
diff --git a/cypress-tests/cypress/support/utils.ts b/cypress-tests/cypress/support/utils.ts
index 1742da21140..d8252e18357 100644
--- a/cypress-tests/cypress/support/utils.ts
+++ b/cypress-tests/cypress/support/utils.ts
@@ -1,6 +1,6 @@
 import { GraphQLClient } from "graphql-request";
-import { customAlphabet } from "nanoid";
 import { getSuperAdminUser, User } from "./login";
+import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
 
 const DEFAULT_TENANT_ID = "root";
 
@@ -107,5 +107,5 @@ export const createGqlQuery = <TReturn, TVariables = Record<string, never>>(
 };
 
 export const generateId = () => {
-    return customAlphabet("abcdefghijklmnopqrstuvwxyz", 10)();
+    return generateAlphaLowerCaseId(10);
 };
diff --git a/cypress-tests/cypress/support/login/visitWebsite.ts b/cypress-tests/cypress/support/visitWebsite.ts
similarity index 94%
rename from cypress-tests/cypress/support/login/visitWebsite.ts
rename to cypress-tests/cypress/support/visitWebsite.ts
index f95810b92a9..e30f2c047fc 100644
--- a/cypress-tests/cypress/support/login/visitWebsite.ts
+++ b/cypress-tests/cypress/support/visitWebsite.ts
@@ -1,4 +1,4 @@
-import "../utils";
+import "./utils";
 
 declare global {
     // eslint-disable-next-line @typescript-eslint/no-namespace
diff --git a/cypress-tests/package.json b/cypress-tests/package.json
index 8cec83edc8f..b5d6424ef4a 100644
--- a/cypress-tests/package.json
+++ b/cypress-tests/package.json
@@ -19,8 +19,8 @@
     "lodash": "^4.17.11",
     "nanoid": "^3.0.0",
     "node-fetch": "^2.6.1",
-    "typescript": "4.7.4",
-    "uniqid": "^5.2.0"
+    "uniqid": "^5.2.0",
+    "typescript": "4.7.4"
   },
   "scripts": {
     "cypress:open": "yarn cypress open",

From 730b1fc803cce24cc31459cae150f48952781ec5 Mon Sep 17 00:00:00 2001
From: Asmaloth <borna.dobrovic1@gmail.com>
Date: Thu, 18 Jan 2024 17:24:16 +0100
Subject: [PATCH 5/8] fix(pr): made most of the changes as stated in the pr
 review

---
 .../pageBuilder/blocks/pageBlockPreview.cy.ts | 10 +++-
 .../pageBuilder/pbCreateCategoryAndBlocks.ts  | 11 ++---
 .../createHeadingBlock.ts                     | 48 +++++++++++--------
 cypress-tests/package.json                    |  4 +-
 4 files changed, 41 insertions(+), 32 deletions(-)

diff --git a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
index 2e47c58b841..ef4fb7a2e5d 100644
--- a/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
+++ b/cypress-tests/cypress/e2e/admin/pageBuilder/blocks/pageBlockPreview.cy.ts
@@ -1,5 +1,6 @@
 import { generateAlphaLowerCaseId } from "@webiny/utils/generateId";
-context("Page Builder - Blocks", () => {
+
+context("Page Builder - Block Preview", () => {
     beforeEach(() => {
         cy.login();
         cy.pbDeleteAllBlocks();
@@ -29,8 +30,13 @@ context("Page Builder - Blocks", () => {
         });
 
         cy.visit("/page-builder/page-blocks");
+
         // Asserts the programatically created block contains the correct data.
-        cy.contains(blockCategoryData.name).click();
+        cy.findByTestId("default-data-list").within(() => {
+            cy.get("li")
+                .first()
+                .within(() => cy.contains(blockCategoryData.name).should("exist").click());
+        });
         cy.contains(blockName[0]).should("exist");
         cy.contains(headerTitle).should("exist");
 
diff --git a/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts b/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts
index 146c81fa006..95ea2b35f54 100644
--- a/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts
+++ b/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks.ts
@@ -1,15 +1,16 @@
 import { gqlClient } from "../utils";
 import { createHeadingBlock } from "./pbCreateCategoryAndBlocks/createHeadingBlock";
+
 interface CreateCategoryAndBlocksParams {
     blockCategory: Record<string, any>;
     blockNames: string[];
     content?: Content;
 }
 
-type Content = {
+interface Content {
     type: "heading";
     text: string;
-};
+}
 
 declare global {
     // eslint-disable-next-line @typescript-eslint/no-namespace
@@ -25,11 +26,7 @@ declare global {
 const contentData = (contentText: string, contentType: string) => {
     switch (contentType) {
         case "heading":
-            return {
-                type: "block",
-                data: {},
-                elements: [createHeadingBlock(contentText)]
-            };
+            return createHeadingBlock(contentText);
 
         default:
             return {};
diff --git a/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks/createHeadingBlock.ts b/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks/createHeadingBlock.ts
index bacab41711c..3e50973bc2f 100644
--- a/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks/createHeadingBlock.ts
+++ b/cypress-tests/cypress/support/pageBuilder/pbCreateCategoryAndBlocks/createHeadingBlock.ts
@@ -1,29 +1,35 @@
 export const createHeadingBlock = (blockText: string) => {
     return {
-        type: "heading",
-        data: {
-            text: {
-                desktop: {
-                    type: "heading",
-                    alignment: "left",
-                    tag: "h1"
-                },
+        type: "block",
+        data: {},
+        elements: [
+            {
+                type: "heading",
                 data: {
-                    text: `{"root":{"children":[{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"${blockText}","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"heading-element","version":1,"tag":"h1","styles":[{"styleId":"heading1","type":"typography"}]}],"direction":"ltr","format":"","indent":0,"type":"root","version":1}}`
-                }
-            },
-            settings: {
-                margin: {
-                    desktop: {
-                        all: "0px"
-                    }
-                },
-                padding: {
-                    desktop: {
-                        all: "0px"
+                    text: {
+                        desktop: {
+                            type: "heading",
+                            alignment: "left",
+                            tag: "h1"
+                        },
+                        data: {
+                            text: `{"root":{"children":[{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"${blockText}","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"heading-element","version":1,"tag":"h1","styles":[{"styleId":"heading1","type":"typography"}]}],"direction":"ltr","format":"","indent":0,"type":"root","version":1}}`
+                        }
+                    },
+                    settings: {
+                        margin: {
+                            desktop: {
+                                all: "0px"
+                            }
+                        },
+                        padding: {
+                            desktop: {
+                                all: "0px"
+                            }
+                        }
                     }
                 }
             }
-        }
+        ]
     };
 };
diff --git a/cypress-tests/package.json b/cypress-tests/package.json
index b5d6424ef4a..8cec83edc8f 100644
--- a/cypress-tests/package.json
+++ b/cypress-tests/package.json
@@ -19,8 +19,8 @@
     "lodash": "^4.17.11",
     "nanoid": "^3.0.0",
     "node-fetch": "^2.6.1",
-    "uniqid": "^5.2.0",
-    "typescript": "4.7.4"
+    "typescript": "4.7.4",
+    "uniqid": "^5.2.0"
   },
   "scripts": {
     "cypress:open": "yarn cypress open",

From 95618d3d0adc7b7c35dbe8aac4e92815f41b730a Mon Sep 17 00:00:00 2001
From: Asmaloth <borna.dobrovic1@gmail.com>
Date: Fri, 19 Jan 2024 10:15:55 +0100
Subject: [PATCH 6/8] fix(pr): made the final changes described in the pr

---
 .../support/pageBuilder/pbUpdatePageBlock.ts  | 39 +++++++------------
 1 file changed, 15 insertions(+), 24 deletions(-)

diff --git a/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts b/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts
index 25510d9776d..dc58ff25438 100644
--- a/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts
+++ b/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts
@@ -1,4 +1,4 @@
-import { gqlClient } from "../utils";
+import { createGqlQuery, GqlResponse } from "../utils";
 
 declare global {
     // eslint-disable-next-line @typescript-eslint/no-namespace
@@ -34,26 +34,17 @@ const UPDATE_PAGE_BLOCK = /* GraphQL */ `
     }
 `;
 
-Cypress.Commands.add("pbUpdatePageBlock", (id, data) => {
-    return cy.login().then(user => {
-        return gqlClient
-            .request({
-                query: UPDATE_PAGE_BLOCK,
-                variables: {
-                    id,
-                    data: {
-                        blockCategory: data.slug,
-                        name: data.name,
-                        content: {
-                            id: "xyz",
-                            type: "block",
-                            data: {},
-                            elements: [data.content.elements]
-                        }
-                    }
-                },
-                authToken: user.idToken.jwtToken
-            })
-            .then(response => response.pageBuilder.pageTemplate);
-    });
-});
+export const pbUpdatePageBlock = createGqlQuery<GqlResponse<null>, { id: string }>(
+    UPDATE_PAGE_BLOCK
+);
+
+declare global {
+    // eslint-disable-next-line @typescript-eslint/no-namespace
+    namespace Cypress {
+        interface Chainable {
+            pbDeletePage: typeof pbUpdatePageBlock;
+        }
+    }
+}
+
+Cypress.Commands.add("pbUpdatePageBlock", pbUpdatePageBlock);

From c3d659da6cb3ac31b6e3071157a9a191848dfaa5 Mon Sep 17 00:00:00 2001
From: Asmaloth <borna.dobrovic1@gmail.com>
Date: Fri, 19 Jan 2024 10:23:37 +0100
Subject: [PATCH 7/8] fix(pr): made additional changes to last commit

---
 .../support/pageBuilder/pbUpdatePageBlock.ts   | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts b/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts
index dc58ff25438..13bc9e06c81 100644
--- a/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts
+++ b/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts
@@ -1,13 +1,5 @@
 import { createGqlQuery, GqlResponse } from "../utils";
 
-declare global {
-    // eslint-disable-next-line @typescript-eslint/no-namespace
-    namespace Cypress {
-        interface Chainable {
-            pbUpdatePageBlock(id: string, data: any): Promise<any>;
-        }
-    }
-}
 const UPDATE_PAGE_BLOCK = /* GraphQL */ `
     mutation UpdatePageBlock($id: ID!, $data: PbUpdatePageBlockInput!) {
         pageBuilder {
@@ -34,17 +26,17 @@ const UPDATE_PAGE_BLOCK = /* GraphQL */ `
     }
 `;
 
-export const pbUpdatePageBlock = createGqlQuery<GqlResponse<null>, { id: string }>(
-    UPDATE_PAGE_BLOCK
-);
-
 declare global {
     // eslint-disable-next-line @typescript-eslint/no-namespace
     namespace Cypress {
         interface Chainable {
-            pbDeletePage: typeof pbUpdatePageBlock;
+            pbUpdatePageBlock: typeof pbUpdatePageBlock;
         }
     }
 }
 
+export const pbUpdatePageBlock = createGqlQuery<GqlResponse<null>, { id: string }>(
+    UPDATE_PAGE_BLOCK
+);
+
 Cypress.Commands.add("pbUpdatePageBlock", pbUpdatePageBlock);

From 8cd3def8199ff91db928527950725ee1c1bba8e6 Mon Sep 17 00:00:00 2001
From: Asmaloth <borna.dobrovic1@gmail.com>
Date: Fri, 19 Jan 2024 11:48:54 +0100
Subject: [PATCH 8/8] fix(pr): fixed the remaining bugs related to
 pbUpdatePageBlock

---
 cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts b/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts
index 13bc9e06c81..b541b7512f8 100644
--- a/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts
+++ b/cypress-tests/cypress/support/pageBuilder/pbUpdatePageBlock.ts
@@ -35,7 +35,7 @@ declare global {
     }
 }
 
-export const pbUpdatePageBlock = createGqlQuery<GqlResponse<null>, { id: string }>(
+export const pbUpdatePageBlock = createGqlQuery<GqlResponse<null>, { id: string; data: object }>(
     UPDATE_PAGE_BLOCK
 );