Skip to content

Commit

Permalink
updated custom commands
Browse files Browse the repository at this point in the history
  • Loading branch information
geodem127 committed Jan 15, 2025
2 parents 6b783cd + 4edd15b commit 9d8097c
Show file tree
Hide file tree
Showing 11 changed files with 155 additions and 49 deletions.
5 changes: 1 addition & 4 deletions cypress/e2e/blocks/tests/blocks.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,14 @@ const TIMEOUT = { timeout: 30_000 };
describe("All Blocks Tests", () => {
before(() => {
cy.deleteContentModels(["Cypress Test Block", "Cypress Test Variant"]);
AllBlocksPage.visit();
});

after(() => {
cy.deleteContentModels(["Cypress Test Block", "Cypress Test Variant"]);
});

it("should show and traverse onboarding flow", () => {
cy.visit("/blocks");
AllBlocksPage.visit();
cy.get('[data-cy="onboarding-dialog"]', TIMEOUT).should("be.visible");
const totalSteps = 4;
for (let i = 0; i < totalSteps; i++) {
Expand All @@ -31,13 +30,11 @@ describe("All Blocks Tests", () => {
AllBlocksPage.createBlock(CypressTestBlock);
cy.contains(CypressTestBlock, TIMEOUT).should("exist");
SchemaPage.visit();

SchemaPage.addSingleLineTextFieldWithDefaultValue(
CypressTestBlock,
"Foo",
"Default Foo"
);

AllBlocksPage.visit();
});

Expand Down
2 changes: 1 addition & 1 deletion cypress/e2e/content/actions.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,6 @@ describe("Actions in content editor", () => {

cy.getBySelector("CreateItemSaveButton").click();

cy.contains("Created Item", { timeout: 30_000 }).should("exist");
cy.contains("Created Item", { timeout: 60_000 }).should("exist");
});
});
8 changes: 5 additions & 3 deletions cypress/e2e/content/comments.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
describe("Content Item: Comments", () => {
before(() => {
cy.waitOn("/v1/content/models*", () => {
cy.waitOn("/v1/comments*", () => {
cy.waitOn("**/v1/content/models*", () => {
cy.waitOn("**/v1/comments*", () => {
cy.visit("/content/6-556370-8sh47g/7-b939a4-457q19");
});
});
Expand All @@ -10,7 +10,9 @@ describe("Content Item: Comments", () => {

it("Creates an initial comment", () => {
cy.getBySelector("OpenCommentsButton").first().click();
cy.get("#commentInputField").click().type("This is a new comment.");
cy.get("#commentInputField").type("This is a new comment.", {
timeout: 60_000,
});
cy.getBySelector("SubmitNewComment").click();
cy.intercept("/v1/comments/*").as("getAllComments");
cy.wait("@getAllComments");
Expand Down
4 changes: 2 additions & 2 deletions cypress/e2e/content/content.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ describe("Content Specs", () => {

describe("editing content", () => {
before(() => {
cy.waitOn("/v1/content/models*", () => {
cy.waitOn("**/v1/content/models*", () => {
cy.visit("/content/6-556370-8sh47g/7-b939a4-457q19");
});
cy.getBySelector("DuoModeToggle").click();
cy.getBySelector("DuoModeToggle").click({ timeout: 60_000 });
});

it("Text Field", () => {
Expand Down
4 changes: 2 additions & 2 deletions cypress/e2e/content/headTags.spec.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// assumes no Head Tags as starting state
describe("Head Tags", () => {
it("creates and deletes new head tag", () => {
cy.waitOn("/v1/content/models*", () => {
cy.waitOn("**/v1/content/models*", () => {
cy.visit("/content/6-556370-8sh47g/7-b939a4-457q19/head");
});

cy.contains("Create Head Tag").click();
cy.contains("Create Head Tag").click({ timeout: 60_000 });

cy.get("[data-cy=newTagCard]")
.last()
Expand Down
4 changes: 2 additions & 2 deletions cypress/e2e/content/item-list-table.spec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
describe("Content item list table", () => {
it("Resolves internal link zuids", () => {
cy.waitOn("/search/items*", () => {
cy.waitOn("/v1/content/models*", () => {
cy.waitOn("**/search/items*", () => {
cy.waitOn("**/v1/content/models*", () => {
cy.visit("/content/6-a1a600-k0b6f0");
});
});
Expand Down
18 changes: 9 additions & 9 deletions cypress/e2e/content/meta.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ describe("Content Meta", () => {
});

it("Does not validate meta description for dataset items", () => {
cy.waitOn("/v1/content/models*", () => {
cy.waitOn("/v1/env/nav", () => {
cy.waitOn("/v1/search/items*", () => {
cy.waitOn("**/v1/content/models*", () => {
cy.waitOn("**/v1/env/nav", () => {
cy.waitOn("**/v1/search/items*", () => {
cy.visit("/content/6-675028-84dq4s/new");
});
});
Expand All @@ -81,9 +81,9 @@ describe("Content Meta", () => {
});

it("Auto applies page parent when creating an item", () => {
cy.waitOn("/v1/content/models*", () => {
cy.waitOn("/v1/env/nav", () => {
cy.waitOn("/v1/search/items*", () => {
cy.waitOn("**/v1/content/models*", () => {
cy.waitOn("**/v1/env/nav", () => {
cy.waitOn("**/v1/search/items*", () => {
cy.visit("/content/6-0c960c-d1n0kx/new");
});
});
Expand All @@ -104,9 +104,9 @@ describe("Content Meta", () => {
});

it("Supports a dedicated Twitter title, description and image", () => {
cy.waitOn("/v1/content/models*", () => {
cy.waitOn("/v1/env/nav", () => {
cy.waitOn("/v1/search/items*", () => {
cy.waitOn("**/v1/content/models*", () => {
cy.waitOn("**/v1/env/nav", () => {
cy.waitOn("**/v1/search/items*", () => {
cy.visit("/content/6-b6cde1aa9f-wftv50/7-92ab81c5a8-bhvb0l/meta");
});
});
Expand Down
2 changes: 1 addition & 1 deletion cypress/e2e/content/multi-lang.spec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
describe("multi-lang", () => {
it("Check if multi lang exist", () => {
cy.waitOn(
"/v1/content/models/6-a4d6e6f087-1jmlbx/items/7-b8da98dea8-1nwkc9",
"**/v1/content/models/6-a4d6e6f087-1jmlbx/items/7-b8da98dea8-1nwkc9",
() => {
cy.visit("/content/6-a4d6e6f087-1jmlbx/7-b8da98dea8-1nwkc9");
}
Expand Down
143 changes: 125 additions & 18 deletions cypress/e2e/schema/field.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ const SELECTORS = {
FIELD_SELECT_BOOLEAN: "FieldItem_yes_no",
FIELD_SELECT_ONE_TO_ONE: "FieldItem_one_to_one",
FIELD_SELECT_CURRENCY: "FieldItem_currency",
FIELD_SELECT_BLOCK_SELECTOR: "FieldItem_block_selector",
MEDIA_CHECKBOX_LIMIT: "MediaCheckbox_limit",
MEDIA_CHECKBOX_LOCK: "MediaCheckbox_group_id",
DROPDOWN_ADD_OPTION: "DropdownAddOption",
Expand Down Expand Up @@ -72,8 +73,65 @@ const TEST_DATA = {
name: "cypress_test___fields",
listed: true,
},
testGroupFields: {
description: "Cypress Field Test - Group with visible fields in list",
label: "Cypress Field Test - Group with visible fields in list",
listed: true,
name: "cypress_field_test___group_with_visible_fields_in_list",
parentZUID: "7-b939a4-457q19",
type: "pageset",
},
};

const FIELD_DATA = [
{
contentModelZUID: "",
datatype: "wysiwyg_basic",
description: "",
label: "wysiwyg basic",
name: "wysiwyg_basic",
required: false,
settings: { list: true, defaultValue: null },
defaultValue: null,
list: true,
sort: 0,
},
{
contentModelZUID: "",
datatype: "text",
description: "",
label: "title",
name: "title",
required: false,
settings: { list: true, defaultValue: null },
defaultValue: null,
list: true,
sort: 1,
},
{
contentModelZUID: "",
datatype: "one_to_one",
description: "",
label: "test related field filtering",
name: "test_related_field_filtering",
relatedFieldZUID: "12-ead9f091fe-74n0c5",
relatedModelZUID: "6-ce3ba0-lps847",
required: false,
settings: { list: true, defaultValue: null },
sort: 2,
},
{
contentModelZUID: "",
datatype: "dropdown",
description: "",
label: "dropdown1",
name: "dropdown1",
required: false,
settings: { list: true, defaultValue: null, options: { "": "" } },
sort: 3,
},
];

/**
* Schema Fields E2E tests
*/
Expand All @@ -82,25 +140,52 @@ describe("Schema: Fields", () => {

before(() => {
cy.apiRequest({ url: `${ENDPOINT}/content/models` }).then((resData) => {
const schhemaModel = resData?.data?.find(
(item) => item?.label === TEST_DATA?.schema?.label
const schemaModels = resData?.data?.filter((item) =>
[TEST_DATA?.schema?.label, TEST_DATA?.testGroupFields?.label]?.includes(
item?.label
)
);
if (!!schhemaModel) {
cy.deleteContentModels([TEST_DATA?.schema?.label]);
if (!!schemaModels?.length) {
cy.deleteContentModels([
TEST_DATA?.schema?.label,
TEST_DATA?.testGroupFields?.label,
]);
}
cy.createContentModel(TEST_DATA?.schema);

cy.createContentModel(TEST_DATA?.testGroupFields).then((res) => {
const modelZUID = res?.data?.ZUID;
const fieldList = FIELD_DATA?.map((field) => {
return {
...field,
contentModelZUID: modelZUID,
};
});

fieldList.forEach((field) => {
cy.apiRequest({
method: "POST",
url: `${ENDPOINT}/content/models/${modelZUID}/fields`,
body: field,
});
});
});
});
});

after(() => {
cy.deleteContentModels([TEST_DATA?.schema?.label]);
cy.deleteContentModels([
TEST_DATA?.schema?.label,
TEST_DATA?.testGroupFields?.label,
]);
});

beforeEach(() => {
openSchemaModel(TEST_DATA?.schema?.label);
});
// beforeEach(() => {
// openSchemaModel(TEST_DATA?.schema?.label);
// });

it("Opens Add Field Modal via button click", () => {
openSchemaModel(TEST_DATA?.schema?.label);
// Open the modal
cy.getBySelector(SELECTORS.ADD_FIELD_BTN).click(TIMEOUT);
cy.getBySelector(SELECTORS.ADD_FIELD_MODAL).should("exist");
Expand Down Expand Up @@ -290,7 +375,9 @@ describe("Schema: Fields", () => {
cy.getBySelector(SELECTORS.INPUT_LABEL).clear().type(fieldLabel);

// Select a related model
cy.getBySelector(SELECTORS.AUTOCOMPLETE_MODEL_ZUID).type("cypress");
cy.getBySelector(SELECTORS.AUTOCOMPLETE_MODEL_ZUID).type(
TEST_DATA?.testGroupFields?.label
);
cy.get("[role=listbox] [role=option]").first().click();

// Select a related field
Expand Down Expand Up @@ -353,6 +440,34 @@ describe("Schema: Fields", () => {
cy.getBySelector(`Field_${fieldName}`).should("exist");
});

it.skip("Creates a Block field", () => {
// cy.intercept("**/fields?showDeleted=true").as("getFields");

const fieldLabel = `Block Selector ${suffix}`;
const fieldName = `block_selector_${suffix}`;

// Open the add field modal
cy.getBySelector(SELECTORS.ADD_FIELD_BTN).click(TIMEOUT);
cy.getBySelector(SELECTORS.ADD_FIELD_MODAL).should("exist");

// Select one-to-one relationship field
cy.getBySelector(SELECTORS.FIELD_SELECT_BLOCK_SELECTOR).click(TIMEOUT);

// Fill up fields
cy.getBySelector(SELECTORS.INPUT_LABEL).type(fieldLabel);
cy.get("input[name='label']").should("exist").and("have.value", fieldLabel);
cy.get("input[name='name']").should("exist").and("have.value", fieldName);

// Click done
cy.getBySelector(SELECTORS.SAVE_FIELD_BUTTON).click();
cy.getBySelector(SELECTORS.ADD_FIELD_MODAL).should("not.exist");

// cy.wait("@getFields");

// Check if field exists
cy.getBySelector(`Field_${fieldName}`).should("exist");
});

it("Creates a field via add another field button", () => {
const values = {
number: {
Expand Down Expand Up @@ -681,16 +796,8 @@ describe("Schema: Fields", () => {

function openSchemaModel(label) {
cy.visit("/schema");
cy.get('[data-cy="schema-nav-templateset"] li')
cy.get('[data-cy="schema-nav-templateset"] li', TIMEOUT)
.contains(TEST_DATA?.schema?.label)
.scrollIntoView()
.click(TIMEOUT);
}

Cypress.Commands.add("openSchemaModelzz", (label) => {
cy.visit("/schema");
cy.get('[data-cy="schema-nav-templateset"] li')
.contains(TEST_DATA?.schema?.label)
.scrollIntoView()
.click(TIMEOUT);
});
4 changes: 2 additions & 2 deletions cypress/e2e/schema/pages/SchemaPage.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ class SchemaPage {
}

addSingleLineTextFieldWithDefaultValue(modelName, fieldName, defaultValue) {
cy.intercept("POST", "**/content/models/*/fields").as("createFields");
cy.contains(modelName).click(TIMEOUT);
this.addFieldButton.click(TIMEOUT);
cy.get('[data-cy="FieldItem_text"]')
Expand All @@ -47,8 +46,9 @@ class SchemaPage {
this.rulesTabButton.click();
cy.getBySelector("DefaultValueCheckbox").click();
cy.getBySelector("DefaultValueInput").type(defaultValue);
cy.intercept("POST", "**/content/models/*/fields").as("createFields");
cy.getBySelector("FieldFormAddFieldBtn").click();
cy.wait(["@createFields"]);
cy.wait(["@createFields"], { timeout: 60_000 });
}
}

Expand Down
Loading

0 comments on commit 9d8097c

Please sign in to comment.