refactor: remove deprecated table widget tests (#38733)

This commit is contained in:
Rahul Barwal 2025-01-20 10:23:06 +05:30 committed by GitHub
parent 2a2e37a256
commit 185fefcc26
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
29 changed files with 0 additions and 3206 deletions

View File

@ -1,182 +0,0 @@
import * as _ from "../../../../../support/Objects/ObjectsCore";
import EditorNavigation, {
EntityType,
} from "../../../../../support/Pages/EditorNavigation";
describe(
"Verify various Table property bugs",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tablev1NewDsl");
});
it("1. Adding Data to Table Widget", function () {
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
_.propPane.UpdatePropertyFieldValue(
"Table data",
JSON.stringify(this.dataSet.TableURLColumnType),
);
_.assertHelper.AssertNetworkStatus("@updateLayout", 200);
_.agHelper.PressEscape();
//Bug 13299 - Verify Display Text does not contain garbage value for URL column type when empty
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
_.table.ChangeColumnType("image", "URL");
_.propPane.UpdatePropertyFieldValue(
"Display text",
`{{currentRow.image.toString().includes('7') ? currentRow.image.toString().split('full/')[1] : "" }}`,
);
_.deployMode.DeployApp();
//_.table.SelectTableRow(1)
_.table.ReadTableRowColumnData(0, 0).then(($cellData) => {
expect($cellData).contains("cube-logo_S50__hLNq.jpeg");
});
_.table.ReadTableRowColumnData(1, 0).then(($cellData) => {
expect($cellData).to.eq(
"https://docs.appsmith.com/img/Appsmith-Login-Screen-Shows-SAML.jpg",
);
});
_.table.ReadTableRowColumnData(2, 0).then(($cellData) => {
expect($cellData).contains("zapier-logo_odZ9wZQ3vY.jpeg");
});
_.table.ReadTableRowColumnData(3, 0).then(($cellData) => {
expect($cellData).to.eq(
"https://docs.appsmith.com/img/replyto-logo_6yaZHFIeU.jpeg",
);
});
_.table.AssertURLColumnNavigation(
0,
0,
"https://docs.appsmith.com/img/cube-logo_S50__hLNq.jpeg",
);
_.deployMode.NavigateBacktoEditor();
});
it("2. Bug 13299 - Verify Display Text does not contain garbage value for URL column type when null", function () {
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
_.agHelper.GetNClick(_.table._columnSettings("image", "Edit"));
_.propPane.UpdatePropertyFieldValue(
"Display text",
`{{currentRow.image.toString().includes('7') ? currentRow.image.toString().split('full/')[1] : null }}`,
);
_.deployMode.DeployApp();
_.table.ReadTableRowColumnData(0, 0).then(($cellData) => {
expect($cellData).contains("cube-logo_S50__hLNq.jpeg");
});
_.table.ReadTableRowColumnData(1, 0).then(($cellData) => {
expect($cellData).to.eq(
"https://docs.appsmith.com/img/Appsmith-Login-Screen-Shows-SAML.jpg",
);
});
_.table.ReadTableRowColumnData(2, 0).then(($cellData) => {
expect($cellData).contains("zapier-logo_odZ9wZQ3vY.jpeg");
});
_.table.ReadTableRowColumnData(3, 0).then(($cellData) => {
expect($cellData).to.eq(
"https://docs.appsmith.com/img/replyto-logo_6yaZHFIeU.jpeg",
);
});
_.table.AssertURLColumnNavigation(
1,
0,
"https://docs.appsmith.com/img/Appsmith-Login-Screen-Shows-SAML.jpg",
);
_.deployMode.NavigateBacktoEditor();
});
it("3. Bug 13299 - Verify Display Text does not contain garbage value for URL column type when undefined", function () {
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
_.agHelper.GetNClick(_.table._columnSettings("image", "Edit"));
_.propPane.UpdatePropertyFieldValue(
"Display text",
`{{currentRow.image.toString().includes('7') ? currentRow.image.toString().split('full/')[1] : undefined }}`,
);
_.deployMode.DeployApp();
_.table.ReadTableRowColumnData(0, 0).then(($cellData) => {
expect($cellData).contains("cube-logo_S50__hLNq.jpeg");
});
_.table.ReadTableRowColumnData(1, 0).then(($cellData) => {
expect($cellData).to.eq(
"https://docs.appsmith.com/img/Appsmith-Login-Screen-Shows-SAML.jpg",
);
});
_.table.ReadTableRowColumnData(2, 0).then(($cellData) => {
expect($cellData).contains("zapier-logo_odZ9wZQ3vY.jpeg");
});
_.table.ReadTableRowColumnData(3, 0).then(($cellData) => {
expect($cellData).to.eq(
"https://docs.appsmith.com/img/replyto-logo_6yaZHFIeU.jpeg",
);
});
_.table.AssertURLColumnNavigation(
0,
0,
"https://docs.appsmith.com/img/cube-logo_S50__hLNq.jpeg",
);
_.deployMode.NavigateBacktoEditor();
});
it("4. should allow ISO 8601 format date and not throw a disallowed validation error", () => {
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
_.propPane.UpdatePropertyFieldValue(
"Table data",
'[{ "dateValue": "2023-02-02T13:39:38.367857Z" }]',
);
cy.wait(500);
_.propPane.OpenTableColumnSettings("dateValue");
// select date option from column type setting field
_.propPane.SelectPropertiesDropDown("Column type", "Date");
// select ISO 8601 date format
cy.get(".t--property-control-originaldateformat").click();
cy.contains("ISO 8601").click();
cy.get(".t--property-control-originaldateformat")
.find(".t--js-toggle")
.click();
// we should not see an error after ISO 8061 is selected
cy.get(
".t--property-control-originaldateformat .t--codemirror-has-error",
).should("not.exist");
//check the selected format value
cy.get(".t--property-control-originaldateformat").contains(
"YYYY-MM-DDTHH:mm:ss.SSSZ",
);
//give a corrupted date format
_.propPane.UpdatePropertyFieldValue(
"Original Date Format",
"YYYY-MM-DDTHH:mm:ss.SSSsZ",
);
//we should now see an error with an incorrect date format
cy.get(
".t--property-control-originaldateformat .t--codemirror-has-error",
).should("exist");
});
},
);

View File

@ -1,123 +0,0 @@
import * as _ from "../../../../../support/Objects/ObjectsCore";
import EditorNavigation, {
EntityType,
} from "../../../../../support/Pages/EditorNavigation";
describe(
"Verify various Table_Filter combinations",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tablev1NewDsl");
});
it("1. Adding Data to Table Widget", function () {
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
_.propPane.UpdatePropertyFieldValue(
"Table data",
JSON.stringify(this.dataSet.TableInput),
);
_.assertHelper.AssertNetworkStatus("@updateLayout", 200);
_.agHelper.PressEscape();
_.deployMode.DeployApp();
});
it("2. Table Widget Search Functionality", function () {
_.table.ReadTableRowColumnData(1, 3, "v1", 2000).then((cellData) => {
expect(cellData).to.eq("Lindsay Ferguson");
_.table.SearchTable(cellData);
_.table.ReadTableRowColumnData(0, 3).then((afterSearch) => {
expect(afterSearch).to.eq("Lindsay Ferguson");
});
});
_.table.RemoveSearchTextNVerify("2381224");
_.table.SearchTable("7434532");
_.table.ReadTableRowColumnData(0, 3).then((afterSearch) => {
expect(afterSearch).to.eq("Byron Fields");
});
_.table.RemoveSearchTextNVerify("2381224");
});
it("3. Verify Table Filter for 'contain'", function () {
_.table.OpenNFilterTable("userName", "contains", "Lindsay");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Lindsay Ferguson");
});
_.table.RemoveFilterNVerify("2381224");
});
it("4. Verify Table Filter for 'does not contain'", function () {
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Tuna Salad");
});
_.table.OpenNFilterTable("productName", "does not contain", "Tuna");
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Beef steak");
});
_.table.RemoveFilterNVerify("2381224");
});
it("5. Verify Table Filter for 'starts with'", function () {
_.table.ReadTableRowColumnData(4, 4).then(($cellData) => {
expect($cellData).to.eq("Avocado Panini");
});
_.table.OpenNFilterTable("productName", "starts with", "Avo");
_.table.ReadTableRowColumnData(0, 4).then(($cellData) => {
expect($cellData).to.eq("Avocado Panini");
});
_.table.RemoveFilterNVerify("2381224");
});
it("6. Verify Table Filter for 'ends with' - case sensitive", function () {
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Tuna Salad");
});
_.table.OpenNFilterTable("productName", "ends with", "wich");
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Chicken Sandwich");
});
_.table.RemoveFilterNVerify("2381224");
});
it("7. Verify Table Filter for 'ends with' - case insenstive", function () {
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Tuna Salad");
});
_.table.OpenNFilterTable("productName", "ends with", "WICH");
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Chicken Sandwich");
});
_.table.RemoveFilterNVerify("2381224");
});
it("8. Verify Table Filter for 'ends with' - on wrong column", function () {
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Tuna Salad");
});
_.table.OpenNFilterTable("userName", "ends with", "WICH");
_.table.WaitForTableEmpty();
_.table.RemoveFilterNVerify("2381224");
});
it("9. Verify Table Filter for 'is exactly' - case sensitive", function () {
_.table.ReadTableRowColumnData(2, 4).then(($cellData) => {
expect($cellData).to.eq("Beef steak");
});
_.table.OpenNFilterTable("productName", "is exactly", "Beef steak");
_.table.ReadTableRowColumnData(0, 4).then(($cellData) => {
expect($cellData).to.eq("Beef steak");
});
_.table.RemoveFilterNVerify("2381224", true);
});
it("10. Verify Table Filter for 'is exactly' - case insensitive", function () {
_.table.ReadTableRowColumnData(2, 4).then(($cellData) => {
expect($cellData).to.eq("Beef steak");
});
_.table.OpenNFilterTable("productName", "is exactly", "Beef STEAK");
_.table.WaitForTableEmpty();
_.table.RemoveFilterNVerify("2381224", true);
});
},
);

View File

@ -1,224 +0,0 @@
import * as _ from "../../../../../support/Objects/ObjectsCore";
import EditorNavigation, {
EntityType,
} from "../../../../../support/Pages/EditorNavigation";
describe(
"Verify various Table_Filter combinations",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tablev1NewDsl");
});
it("1. Verify Table Filter for 'empty'", function () {
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
_.propPane.UpdatePropertyFieldValue(
"Table data",
JSON.stringify(this.dataSet.TableInput),
);
_.assertHelper.AssertNetworkStatus("@updateLayout", 200);
_.agHelper.PressEscape();
_.deployMode.DeployApp();
_.table.OpenNFilterTable("email", "empty");
_.table.WaitForTableEmpty();
_.table.RemoveFilterNVerify("2381224");
});
it("2. Verify Table Filter for 'not empty'", function () {
_.table.ReadTableRowColumnData(4, 5).then(($cellData) => {
expect($cellData).to.eq("7.99");
});
_.table.OpenNFilterTable("orderAmount", "not empty");
_.table.ReadTableRowColumnData(4, 5).then(($cellData) => {
expect($cellData).to.eq("7.99");
});
_.table.RemoveFilterNVerify("2381224");
});
it("3. Verify Table Filter - Where Edit - Change condition along with input value", function () {
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.OpenNFilterTable("orderAmount", "is exactly", "4.99");
_.table.ReadTableRowColumnData(1, 3).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
//Change condition - 1st time
_.agHelper.GetNClick(_.table._filterConditionDropdown);
cy.get(_.table._dropdownText).contains("empty").click();
_.agHelper.ClickButton("APPLY");
_.table.WaitForTableEmpty();
//Change condition - 2nd time
_.agHelper.GetNClick(_.table._filterConditionDropdown);
cy.get(_.table._dropdownText).contains("contains").click();
_.agHelper.GetNClick(_.table._filterInputValue, 0).type("19").wait(500);
_.agHelper.ClickButton("APPLY");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Tobias Funke");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("4. Verify Table Filter - Where Edit - Single Column, Condition & input value", function () {
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.OpenNFilterTable("productName", "contains", "e");
_.table.ReadTableRowColumnData(0, 4).then(($cellData) => {
expect($cellData).to.eq("Chicken Sandwich");
});
_.table.ReadTableRowColumnData(1, 4, "v1", 200).then(($cellData) => {
expect($cellData).to.eq("Beef steak");
});
_.table.ReadTableRowColumnData(2, 4, "v1", 200).then(($cellData) => {
expect($cellData).to.eq("Chicken Sandwich");
});
//Change condition - 1st time
_.agHelper.GetNClick(_.table._filterConditionDropdown);
cy.get(_.table._dropdownText).contains("does not contain").click();
_.agHelper.ClickButton("APPLY");
_.table.ReadTableRowColumnData(0, 4).then(($cellData) => {
expect($cellData).to.eq("Tuna Salad");
});
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Avocado Panini");
});
//Change condition - column value
_.agHelper.GetNClick(_.table._filterColumnsDropdown);
cy.get(_.table._dropdownText).contains("userName").click();
_.agHelper.GetNClick(_.table._filterConditionDropdown);
cy.get(_.table._dropdownText).contains("does not contain").click();
_.agHelper.ClickButton("APPLY");
_.table.WaitForTableEmpty();
//Change input value
_.agHelper
.GetNClick(_.table._filterInputValue, 0)
.clear()
.type("i")
.wait(500);
_.agHelper.ClickButton("APPLY");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("5. Verify Table Filter for OR operator - different row match", function () {
_.table.ReadTableRowColumnData(2, 3).then(($cellData) => {
expect($cellData).to.eq("Tobias Funke");
});
_.table.OpenNFilterTable("email", "contains", "on");
_.table.ReadTableRowColumnData(2, 3).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.table.OpenNFilterTable("productName", "ends with", "steak", "OR", 1);
_.table.ReadTableRowColumnData(2, 3).then(($cellData) => {
expect($cellData).to.eq("Tobias Funke");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("6. Verify Table Filter for OR operator - same row match", function () {
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.OpenNFilterTable("email", "contains", "hol");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.OpenNFilterTable("userName", "starts with", "ry", "OR", 1);
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("7. Verify Table Filter for OR operator - two 'ORs'", function () {
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.OpenNFilterTable("email", "starts with", "by");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.table.OpenNFilterTable("productName", "ends with", "ni", "OR", 1);
_.table.ReadTableRowColumnData(1, 3).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.OpenNFilterTable("userName", "contains", "law", "OR", 2);
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("8. Verify Table Filter for AND operator - different row match", function () {
_.table.ReadTableRowColumnData(3, 3).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.table.OpenNFilterTable("userName", "starts with", "b");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.table.OpenNFilterTable(
"productName",
"does not contain",
"WICH",
"AND",
1,
);
_.table.WaitForTableEmpty();
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("9. Verify Table Filter for AND operator - same row match", function () {
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.OpenNFilterTable("userName", "ends with", "s");
_.table.ReadTableRowColumnData(1, 3).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.OpenNFilterTable("orderAmount", "is exactly", "4.99", "AND", 1);
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("10. Verify Table Filter for AND operator - same row match - edit input text value", function () {
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.OpenNFilterTable("userName", "ends with", "s");
_.table.ReadTableRowColumnData(1, 3).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.OpenNFilterTable("orderAmount", "is exactly", "4.99", "AND", 1);
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.agHelper
.GetNClick(_.table._filterInputValue, 1)
.clear()
.type("7.99")
.wait(500);
_.agHelper.ClickButton("APPLY");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
},
);

View File

@ -1,257 +0,0 @@
import * as _ from "../../../../../support/Objects/ObjectsCore";
import EditorNavigation, {
EntityType,
} from "../../../../../support/Pages/EditorNavigation";
describe(
"Verify various Table_Filter combinations",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tablev1NewDsl");
});
it("1. Adding Data to Table Widget", function () {
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
_.propPane.UpdatePropertyFieldValue(
"Table data",
JSON.stringify(this.dataSet.TableInput),
);
_.assertHelper.AssertNetworkStatus("@updateLayout", 200);
_.agHelper.PressEscape();
_.deployMode.DeployApp();
});
it("2. Verify Table Filter for AND operator - same row match - Where Edit - input value", function () {
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.OpenNFilterTable("userName", "ends with", "s");
_.table.ReadTableRowColumnData(1, 3).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.OpenNFilterTable("orderAmount", "is exactly", "4.99", "AND", 1);
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.agHelper
.GetNClick(_.table._filterInputValue, 1)
.clear()
.type("7.99")
.wait(500);
_.agHelper.ClickButton("APPLY");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("3. Verify Table Filter for AND operator - two 'ANDs' - clearAll", function () {
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.OpenNFilterTable("id", "contains", "7434532");
_.table.ReadTableRowColumnData(1, 3).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.OpenNFilterTable("productName", "contains", "i", "AND", 1);
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.table.OpenNFilterTable("orderAmount", "starts with", "7", "AND", 2);
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("4. Verify Table Filter for AND operator - two 'ANDs' - removeOne filter condition + Bug 12638", function () {
_.table.OpenNFilterTable("id", "contains", "2");
_.table.ReadTableRowColumnData(1, 3).then(($cellData) => {
expect($cellData).to.eq("Lindsay Ferguson");
});
_.table.OpenNFilterTable("productName", "ends with", "WICH", "AND", 1);
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.OpenNFilterTable("userName", "does not contain", "son", "AND", 2);
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.table.RemoveFilterNVerify("7434532", false, true, 1);
//Bug 12638
_.table.ReadTableRowColumnData(1, 3).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("5. Verify Table Filter for AND operator - two 'ANDs' - removeOne filter twice + Bug 12638", function () {
_.table.OpenNFilterTable("id", "starts with", "2");
_.table.ReadTableRowColumnData(1, 3).then(($cellData) => {
expect($cellData).to.eq("Lindsay Ferguson");
});
_.table.OpenNFilterTable("productName", "ends with", "WICH", "AND", 1);
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.OpenNFilterTable("userName", "contains", "on", "AND", 2);
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.RemoveFilterNVerify("2381224", false, true, 1);
_.table.RemoveFilterNVerify("2381224", false, true, 0);
//Bug 12638 - verification to add here - once closed
_.table.ReadTableRowColumnData(1, 3).then(($cellData) => {
expect($cellData).to.eq("Lindsay Ferguson");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("6. Verify Table Filter for changing from AND -> OR -> AND", function () {
_.table.OpenNFilterTable("id", "contains", "7");
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Beef steak");
});
_.table.OpenNFilterTable("productName", "contains", "I", "AND", 1);
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Avocado Panini");
});
_.table.OpenNFilterTable("userName", "starts with", "r", "AND", 2);
_.table.ReadTableRowColumnData(0, 4).then(($cellData) => {
expect($cellData).to.eq("Avocado Panini");
});
_.agHelper.GetNClick(_.table._filterOperatorDropdown);
cy.get(_.table._dropdownText).contains("OR").click();
_.agHelper.ClickButton("APPLY");
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Tuna Salad");
});
_.agHelper.GetNClick(_.table._filterOperatorDropdown);
cy.get(_.table._dropdownText).contains("AND").click();
_.agHelper.ClickButton("APPLY");
_.table.ReadTableRowColumnData(0, 4).then(($cellData) => {
expect($cellData).to.eq("Avocado Panini");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("7. Verify Table Filter for changing from AND -> OR -> along with changing Where clause condions", function () {
_.table.OpenNFilterTable("id", "starts with", "2");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.ReadTableRowColumnData(1, 3, "v1", 200).then(($cellData) => {
expect($cellData).to.eq("Lindsay Ferguson");
});
_.table.OpenNFilterTable("orderAmount", "contains", "19", "OR", 1);
_.table.ReadTableRowColumnData(2, 3).then(($cellData) => {
expect($cellData).to.eq("Tobias Funke");
});
//Changing filter conditions of both where rows - 1st row
_.agHelper
.GetNClick(_.table._filterInputValue, 0)
.clear()
.type("7")
.wait(500);
_.agHelper.ClickButton("APPLY");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Tobias Funke");
});
_.table.ReadTableRowColumnData(1, 3, "v1", 200).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.table.ReadTableRowColumnData(2, 3, "v1", 200).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
//Changing filter conditions of both where rows - 2nd row
_.agHelper.GetNClick(_.table._filterConditionDropdown, 1);
cy.get(_.table._dropdownText).contains("does not contain").click();
_.agHelper.ClickButton("APPLY");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Michael Lawson");
});
_.table.ReadTableRowColumnData(1, 3, "v1", 200).then(($cellData) => {
expect($cellData).to.eq("Lindsay Ferguson");
});
_.table.ReadTableRowColumnData(2, 3, "v1", 200).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.table.ReadTableRowColumnData(3, 3, "v1", 200).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
//Changing OR to AND
_.agHelper.GetNClick(_.table._filterOperatorDropdown);
cy.get(_.table._dropdownText).contains("AND").click();
_.agHelper.ClickButton("APPLY");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.table.ReadTableRowColumnData(1, 3, "v1", 200).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
//Changing AND to OR
_.agHelper.GetNClick(_.table._filterOperatorDropdown);
cy.get(_.table._dropdownText).contains("OR").click();
_.agHelper.GetNClick(_.table._filterConditionDropdown, 1);
cy.get(_.table._dropdownText).contains("starts with").click();
_.agHelper
.GetNClick(_.table._filterInputValue, 1)
.clear()
.type("9")
.wait(500);
_.agHelper.ClickButton("APPLY");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Lindsay Ferguson");
});
_.table.ReadTableRowColumnData(1, 3, "v1", 200).then(($cellData) => {
expect($cellData).to.eq("Byron Fields");
});
_.table.ReadTableRowColumnData(2, 3, "v1", 200).then(($cellData) => {
expect($cellData).to.eq("Ryan Holmes");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
it("8. Verify Table Filter for changing from AND -> OR [Remove a filter] -> AND + Bug 12642", function () {
_.table.OpenNFilterTable("id", "contains", "7");
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Beef steak");
});
_.table.OpenNFilterTable("productName", "contains", "I", "AND", 1);
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Avocado Panini");
});
_.table.OpenNFilterTable("userName", "starts with", "r", "AND", 2);
_.table.ReadTableRowColumnData(0, 4).then(($cellData) => {
expect($cellData).to.eq("Avocado Panini");
});
_.agHelper.GetNClick(_.table._filterOperatorDropdown);
cy.get(_.table._dropdownText).contains("OR").click();
_.agHelper.ClickButton("APPLY");
_.table.ReadTableRowColumnData(1, 4).then(($cellData) => {
expect($cellData).to.eq("Tuna Salad");
});
_.table.RemoveFilterNVerify("7434532", false, true, 0); //Since TableV1 - revertion of operator upon removal of filter is not supported
_.table.ReadTableRowColumnData(0, 4).then(($cellData) => {
expect($cellData).to.eq("Avocado Panini");
});
_.table.RemoveFilterNVerify("2381224", true, false);
});
},
);

View File

@ -1,178 +0,0 @@
import * as _ from "../../../../../support/Objects/ObjectsCore";
import EditorNavigation, {
EntityType,
} from "../../../../../support/Pages/EditorNavigation";
describe(
"Verify various Table_Filter combinations",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tablev1NewDsl");
});
it("1. Verify Full table data - download csv and download Excel", function () {
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
_.propPane.UpdatePropertyFieldValue(
"Table data",
JSON.stringify(this.dataSet.TableInput),
);
_.assertHelper.AssertNetworkStatus("@updateLayout", 200);
_.agHelper.PressEscape();
_.deployMode.DeployApp();
_.table.DownloadFromTable("Download as CSV");
//This plugin works only from cypress ^9.2
//cy.verifyDownload("Table1.csv")
_.table.ValidateDownloadNVerify("Table1.csv", "Michael Lawson");
_.table.DownloadFromTable("Download as Excel");
_.table.ValidateDownloadNVerify("Table1.xlsx", "Michael Lawson");
});
it("2. Verify Searched data - download csv and download Excel", function () {
_.table.SearchTable("7434532");
_.table.ReadTableRowColumnData(0, 3).then((afterSearch) => {
expect(afterSearch).to.eq("Byron Fields");
});
_.table.DownloadFromTable("Download as CSV");
//This plugin works only from cypress ^9.2
//cy.verifyDownload("Table1.csv")
_.table.ValidateDownloadNVerify("Table1.csv", "byron.fields@reqres.in");
_.table.DownloadFromTable("Download as Excel");
_.table.ValidateDownloadNVerify("Table1.xlsx", "Ryan Holmes");
_.table.RemoveSearchTextNVerify("2381224");
_.table.DownloadFromTable("Download as CSV");
_.table.ValidateDownloadNVerify("Table1.csv", "2736212");
_.table.DownloadFromTable("Download as Excel");
_.table.ValidateDownloadNVerify("Table1.xlsx", "Beef steak");
});
it("3. Verify Filtered data - download csv and download Excel", function () {
_.table.OpenNFilterTable("id", "starts with", "6");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Tobias Funke");
});
_.table.CloseFilter();
_.table.DownloadFromTable("Download as CSV");
//This plugin works only from cypress ^9.2
//cy.verifyDownload("Table1.csv")
_.table.ValidateDownloadNVerify("Table1.csv", "Beef steak");
_.table.DownloadFromTable("Download as Excel");
_.table.ValidateDownloadNVerify("Table1.xlsx", "tobias.funke@reqres.in");
_.agHelper.GetNClick(_.table._filterBtn);
_.table.RemoveFilterNVerify("2381224", true, false);
_.table.DownloadFromTable("Download as CSV");
_.table.ValidateDownloadNVerify("Table1.csv", "Tuna Salad");
_.table.DownloadFromTable("Download as Excel");
_.table.ValidateDownloadNVerify("Table1.xlsx", "Avocado Panini");
});
it("4. Import TableFilter application & verify all filters for same FirstName (one word column) + Bug 13334", () => {
_.deployMode.NavigateBacktoEditor();
_.table.WaitUntilTableLoad();
_.homePage.NavigateToHome();
_.homePage.ImportApp("TableFilterImportApp.json");
_.homePage.AssertImportToast();
_.deployMode.DeployApp();
_.table.WaitUntilTableLoad();
//Contains
_.table.OpenNFilterTable("FirstName", "contains", "Della");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Alvarado");
});
filterOnlyCondition("does not contain", "49");
filterOnlyCondition("starts with", "1");
//Ends with - Open Bug 13334
filterOnlyCondition("ends with", "1");
filterOnlyCondition("is exactly", "1");
filterOnlyCondition("empty", "0");
filterOnlyCondition("not empty", "50");
filterOnlyCondition("starts with", "3", "ge");
_.table.ReadTableRowColumnData(0, 3).then(($cellData) => {
expect($cellData).to.eq("Chandler");
});
_.table.OpenNFilterTable("FullName", "ends with", "ross", "OR", 1);
_.agHelper
.GetText(_.table._showPageItemsCount)
.then(($count) => expect($count).contain("4"));
_.table.CloseFilter();
_.agHelper
.GetText(_.table._filtersCount)
.then(($count) => expect($count).contain("2"));
_.table.OpenFilter();
_.table.RemoveFilterNVerify("1", true, false);
});
it("5. Verify all filters for same FullName (two word column) + Bug 13334", () => {
//Contains
_.table.OpenNFilterTable("FullName", "contains", "torres");
_.table.ReadTableRowColumnData(0, 2).then(($cellData) => {
expect($cellData).to.eq("Virgie");
});
filterOnlyCondition("does not contain", "49");
filterOnlyCondition("starts with", "0");
filterOnlyCondition("ends with", "1");
filterOnlyCondition("is exactly", "0");
filterOnlyCondition("empty", "0");
filterOnlyCondition("not empty", "50");
filterOnlyCondition("contains", "1", "wolf");
_.table.ReadTableRowColumnData(0, 2).then(($cellData) => {
expect($cellData).to.eq("Teresa");
});
_.table.OpenNFilterTable("FirstName", "starts with", "wa", "OR", 1);
_.agHelper.Sleep();
_.agHelper
.GetText(_.table._showPageItemsCount)
.then(($count) => expect($count).contain("3"));
_.table.OpenNFilterTable("LastName", "ends with", "son", "OR", 2);
_.agHelper
.GetText(_.table._showPageItemsCount)
.then(($count) => expect($count).contain("10"));
_.table.CloseFilter();
_.agHelper
.GetText(_.table._filtersCount)
.then(($count) => expect($count).contain("3"));
_.table.OpenFilter();
_.table.RemoveFilterNVerify("1", true, false);
});
function filterOnlyCondition(
condition: string,
expectedCount: string,
input: string | "" = "",
) {
_.agHelper.GetNClick(_.table._filterConditionDropdown);
cy.get(_.table._dropdownText).contains(condition).click();
if (input)
_.agHelper
.GetNClick(_.table._filterInputValue, 0)
.type(input)
.wait(500);
_.agHelper.ClickButton("APPLY");
_.agHelper
.GetText(_.table._showPageItemsCount)
.then(($count) => expect($count).contain(expectedCount));
}
},
);

View File

@ -1,104 +0,0 @@
const widgetsPage = require("../../../../../locators/Widgets.json");
const commonlocators = require("../../../../../locators/commonlocators.json");
const testdata = require("../../../../../fixtures/testdata.json");
const color = "rgb(151, 0, 0)";
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Table Widget property pane feature validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableNewDsl");
});
it("1. Table widget with with modal popup", function () {
cy.openPropertyPane("tablewidget");
//update Table name with _
cy.widgetText(
"Table_1",
widgetsPage.tableWidget,
widgetsPage.widgetNameSpan,
);
cy.createModal("Modal", "onRowSelected");
_.table.SelectTableRow(1);
cy.get(".bp3-overlay-backdrop").click({ force: true });
_.table.SelectTableRow(2);
cy.get(".bp3-overlay-backdrop").click({ force: true });
});
it("2. Table widget with button colour change validation", function () {
cy.openPropertyPane("tablewidget");
// Open column details of "id".
cy.editColumn("id");
cy.get(widgetsPage.tableBtn).should("not.exist");
// Changing column data type to "Button"
cy.changeColumnType("Button", false);
// Changing the computed value (data) to "orderAmount"
cy.updateComputedValue(testdata.currentRowOrderAmt);
cy.changeColumnType("Button", false);
cy.get(widgetsPage.buttonColor)
.click({ force: true })
.clear()
.type(color, { delay: 0 });
cy.get(widgetsPage.tableBtn).should(
"have.css",
"background-color",
color,
);
cy.readTabledataPublish("2", "2").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("Tobias Funke");
});
});
it("3. Table widget icon type and colour validation", function () {
cy.openPropertyPane("tablewidget");
// Open column details of "id".
cy.get(commonlocators.editPropBackButton).click({ force: true });
cy.editColumn("id");
// Change Column type to icon Button
cy.changeColumnType("Icon button", false);
// Select Icon from Icon Control
cy.get(".t--property-control-icon .bp3-icon-caret-down").click({
force: true,
});
cy.get(".bp3-icon-add").first().click({
force: true,
});
cy.get(".t--widget-tablewidget .tbody .bp3-icon-add").should(
"be.visible",
);
cy.get(".bp3-overlay-backdrop").click({ force: true });
});
it("4. Table widget validation of a field without js ", function () {
cy.openPropertyPane("tablewidget");
cy.editColumn("email");
cy.clearPropertyValue(0);
//toggle js for visiblity
cy.get(".t--property-control-visible .t--js-toggle").click({
force: true,
});
cy.EnableAllCodeEditors();
cy.clearPropertyValue(1);
});
it("5. Table widget column reorder and reload function", function () {
cy.openPropertyPane("tablewidget");
cy.get(commonlocators.editPropBackButton).click({ force: true });
cy.hideColumn("email");
cy.hideColumn("userName");
cy.hideColumn("productName");
cy.hideColumn("orderAmount");
cy.readTabledataPublish("2", "2").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("Tobias Funke");
_.agHelper.RefreshPage();
cy.readTabledataPublish("2", "2").then((tabDataNew) => {
expect(tabDataNew).to.be.equal("Tobias Funke");
});
});
});
},
);

View File

@ -1,72 +0,0 @@
const widgetsPage = require("../../../../../locators/Widgets.json");
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Table Widget property pane feature validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableNewDsl");
});
it("1. Test to validate text color and text background", function () {
// Open property pane
cy.openPropertyPane("tablewidget");
//cy.moveToStyleTab();
// Click on text color input field
cy.selectColor("textcolor");
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(500);
cy.wait("@updateLayout");
// Verify the text color is green
cy.readTabledataValidateCSS("1", "0", "color", "rgb(219, 234, 254)");
// Change the text color and enter purple in input field
cy.get(widgetsPage.textColor)
.scrollIntoView()
.clear({ force: true })
.type("purple", { force: true, delay: 0 });
cy.wait("@updateLayout");
// Verify the text color is purple
cy.readTabledataValidateCSS("1", "0", "color", "rgb(128, 0, 128)");
// Click on cell background color
cy.selectColor("cellbackgroundcolor");
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(500);
// select the green color
cy.wait("@updateLayout");
_.agHelper.AssertAutoSave();
_.deployMode.DeployApp();
cy.wait(4000);
// Verify the cell background color is green
cy.readTabledataValidateCSS(
"1",
"1",
"background-color",
"rgb(219, 234, 254)",
);
_.deployMode.NavigateBacktoEditor();
cy.openPropertyPane("tablewidget");
// Change the cell background color and enter purple in input field
cy.get(
`${widgetsPage.cellBackground_tablev1} [data-testid='t--color-picker-input']`,
)
.clear({ force: true })
.type("purple", { force: true, delay: 0 });
cy.wait("@updateLayout");
_.agHelper.AssertAutoSave();
_.deployMode.DeployApp();
cy.wait(4000);
// Verify the cell background color is purple
cy.readTabledataValidateCSS(
"1",
"1",
"background-color",
"rgb(128, 0, 128)",
);
});
},
);

View File

@ -1,26 +0,0 @@
/* eslint-disable cypress/no-unnecessary-waiting */
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Table Widget Functionality with Hidden and Resized Columns",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableResizedColumnsDsl");
});
it("Table Widget Functionality with Hidden and Resized Columns", function () {
_.deployMode.DeployApp();
// Verify column header width should be equal to table width
cy.get(".t--widget-tablewidget")
.invoke("outerWidth")
.then((tableWidth) => {
cy.get(".t--widget-tablewidget .thead .tr")
.invoke("outerWidth")
.then((columnHeaderWidth) => {
expect(columnHeaderWidth).to.be.at.least(tableWidth);
});
});
});
},
);

View File

@ -1,115 +0,0 @@
/* eslint-disable cypress/no-unnecessary-waiting */
import EditorNavigation, {
EntityType,
} from "../../../../../support/Pages/EditorNavigation";
const commonlocators = require("../../../../../locators/commonlocators.json");
import {
agHelper,
apiPage,
entityExplorer,
propPane,
} from "../../../../../support/Objects/ObjectsCore";
describe(
"Test Create Api and Bind to Table widget",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
agHelper.AddDsl("tableTextPaginationDsl");
});
it("1. Create an API and Execute the API and bind with Table", function () {
// Create and execute an API and bind with table
apiPage.CreateAndFillApi(
this.dataSet.paginationUrl + this.dataSet.paginationParam,
);
agHelper.VerifyEvaluatedValue(
this.dataSet.paginationUrl + "mock-api?records=20&page=1&size=10",
);
apiPage.RunAPI();
//Test: Validate Table with API data and then add a column
// Open property pane
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
// Clear Table data and enter Apil data into table data
cy.testJsontext("tabledata", "{{Api1.data}}");
// Check Widget properties
cy.CheckWidgetProperties(commonlocators.serverSidePaginationCheckbox);
// Open Text1 in propert pane
EditorNavigation.SelectEntityByName("Text1", EntityType.Widget);
propPane.UpdatePropertyFieldValue("Text", "{{Table1.selectedRow.url}}");
// Open Table1 propert pane
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
// Compare table 1st index data with itself
cy.readTabledata("0", "0").then((tabData) => {
const tableData = tabData;
localStorage.setItem("tableDataPage1", tableData);
});
// Verify 1st index data
cy.readTabledata("0", "4").then((tabData) => {
const tableData = tabData;
expect(tableData).to.equal("1");
});
// add new column
cy.addColumn("CustomColumn");
//Test:Table widget toggle test for background color
// Open id property pane
cy.editColumn("id");
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(1000);
// Click on cell background JS button
propPane.EnterJSContext("Cell Background", "Green");
cy.get("[data-testid='t--property-pane-back-btn']").click({
force: true,
});
cy.wait("@updateLayout");
// verify the cell background color
cy.readTabledataValidateCSS(
"1",
"4",
"background-color",
"rgb(0, 128, 0)",
);
});
it("2. Edit column name and validate test for computed value based on column type selected", function () {
// opoen customColumn1 property pane
cy.editColumn("customColumn1");
// Enter Apil 1st user email data into customColumn1
cy.readTabledataPublish("1", "7").then((tabData) => {
const tabValue = tabData;
cy.updateComputedValue("{{Api1.data[0].email}}");
cy.readTabledataPublish("1", "7").then((tabData) => {
expect(tabData).not.to.be.equal(tabValue);
cy.log("computed value of plain text " + tabData);
});
});
cy.closePropertyPane();
//Test: Update table json data and check the column names updated
// Open table propert pane
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
cy.backFromPropertyPanel();
// Change the table data
cy.testJsontext(
"tabledata",
JSON.stringify(this.dataSet.TableInputUpdate),
);
cy.wait("@updateLayout");
// verify columns are visible or not in the propert pane
cy.tableColumnDataValidation("id");
cy.tableColumnDataValidation("email");
cy.tableColumnDataValidation("userName");
cy.tableColumnDataValidation("productName");
cy.tableColumnDataValidation("orderAmount");
cy.tableColumnDataValidation("customColumn1");
// Hide the columns in property pane
cy.hideColumn("email");
cy.hideColumn("userName");
cy.hideColumn("productName");
cy.hideColumn("orderAmount");
// verify customColumn is visible in the table
cy.get(".draggable-header:contains('CustomColumn')").should("be.visible");
cy.closePropertyPane();
});
},
);

View File

@ -1,54 +0,0 @@
import * as _ from "../../../../../support/Objects/ObjectsCore";
const commonlocators = require("../../../../../locators/commonlocators.json");
describe(
"Table Widget empty row color validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableNewDsl");
});
it("1. Validate cell background of columns", function () {
// Open property pane
cy.openPropertyPane("tablewidget");
// give general color to all table row
cy.selectColor("cellbackgroundcolor", -17);
cy.editColumn("id");
// Click on cell background color
cy.selectColor("cellbackground", -27);
cy.wait("@updateLayout");
cy.get(commonlocators.editPropBackButton).click({ force: true });
cy.wait(1000);
cy.editColumn("email");
cy.selectColor("cellbackground", -33);
cy.wait("@updateLayout");
cy.get(commonlocators.editPropBackButton).click({ force: true });
// Verify the cell background color of first column
cy.readTabledataValidateCSS(
"1",
"0",
"background-color",
"rgb(185, 28, 28)",
);
// Verify the cell background color of second column
cy.readTabledataValidateCSS(
"1",
"1",
"background-color",
"rgb(113, 113, 122)",
);
//Test 2. Validate empty row background
// first cell of first row should be transparent
cy.get(
".t--widget-tablewidget .tbody div[data-testid='empty-row-0-cell-0']",
).should("have.css", "background-color", "rgb(185, 28, 28)");
// second cell of first row should be transparent
cy.get(
".t--widget-tablewidget .tbody div[data-testid='empty-row-0-cell-1']",
).should("have.css", "background-color", "rgb(113, 113, 122)");
});
},
);

View File

@ -1,56 +0,0 @@
import EditorNavigation, {
EntityType,
} from "../../../../../support/Pages/EditorNavigation";
const widgetsPage = require("../../../../../locators/Widgets.json");
const commonlocators = require("../.././../../../locators/commonlocators.json");
const publish = require("../../../../../locators/publishWidgetspage.json");
import * as _ from "../../../../../support/Objects/ObjectsCore";
const dsl = require("../../../../../fixtures/tableAndTextDsl.json");
describe(
"Table Widget Filtered Table data in autocomplete",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableAndTextDsl");
});
it("Table Widget Functionality To Filter and search data", function () {
cy.openPropertyPane("tablewidget");
cy.get(publish.searchInput).first().type("query");
cy.get(publish.filterBtn).click();
cy.get(publish.attributeDropdown).click();
cy.get(publish.attributeValue).contains("task").click();
cy.get(publish.conditionDropdown).click();
cy.get(publish.attributeValue).contains("contains").click();
cy.get(publish.inputValue).type("bind");
cy.wait(500);
cy.get(widgetsPage.filterApplyBtn).click({ force: true });
cy.wait(500);
cy.get(".t--close-filter-btn").click({ force: true });
});
it("Table Widget Functionality to validate filtered table data", function () {
EditorNavigation.SelectEntityByName("Text1", EntityType.Widget);
cy.testJsontext("text", "{{Table1.filteredTableData[0].task}}");
cy.readTabledata("0", "1").then((tabData) => {
const tableData = tabData;
cy.get(commonlocators.labelTextStyle).should("have.text", tableData);
});
//Table Widget Functionality to validate filtered table data with actual table data
cy.readTabledata("0", "1").then((tabData) => {
const tableData = JSON.parse(dsl.dsl.children[0].tableData);
cy.get(commonlocators.labelTextStyle).should(
"have.text",
tableData[2].task,
);
});
});
afterEach(() => {
// put your clean up code if any
});
},
);

View File

@ -1,187 +0,0 @@
/* eslint-disable cypress/no-unnecessary-waiting */
const widgetsPage = require("../../../../../locators/Widgets.json");
const commonlocators = require("../../../../../locators/commonlocators.json");
const testdata = require("../../../../../fixtures/testdata.json");
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Table Widget property pane feature validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableNewDsl");
});
it("1. Test to validate table pagination is disabled", function () {
// Verify pagination is disabled
cy.get(".t--table-widget-prev-page").should("have.attr", "disabled");
cy.get(".t--table-widget-next-page").should("have.attr", "disabled");
cy.get(".t--table-widget-page-input input").should(
"have.attr",
"disabled",
);
});
it("2. Test to validate text allignment", function () {
// Open property pane
cy.openPropertyPane("tablewidget");
// Change the text align to center
cy.xpath(widgetsPage.textCenterAlign).first().click({ force: true });
// Verify the center text alignment
cy.readTabledataValidateCSS("1", "0", "justify-content", "center");
// Change the text align to right
cy.xpath(widgetsPage.rightAlign).first().click({ force: true });
// Verify the right text alignment
cy.readTabledataValidateCSS("1", "0", "justify-content", "flex-end");
// Change the text align to left
cy.xpath(widgetsPage.leftAlign).first().click({ force: true });
// verify the left text alignment
cy.readTabledataValidateCSS("1", "0", "justify-content", "flex-start");
});
it("3. Test to validate column heading allignment", function () {
// cy.openPropertyPane("tablewidget");
// Change the text align to center
cy.xpath(widgetsPage.textCenterAlign).first().click({ force: true });
// Verify the column headings are center aligned
cy.get(".draggable-header")
.first()
.should("have.css", "text-align", "center");
// Change the text align to right
cy.xpath(widgetsPage.rightAlign).first().click({ force: true });
// Verify the column headings are right aligned
cy.get(".draggable-header")
.first()
.should("have.css", "text-align", "right");
// Change the text align to left
cy.xpath(widgetsPage.leftAlign).first().click({ force: true });
// Verify the column headings are left aligned
cy.get(".draggable-header")
.first()
.should("have.css", "text-align", "left");
});
it("4. Test to validate text format", function () {
// Select the bold font style
cy.get(widgetsPage.bold).click({ force: true });
// Varify the font style is bold
cy.readTabledataValidateCSS("1", "0", "font-weight", "700");
// Change the font style to italic
cy.get(widgetsPage.italics).click({ force: true });
// Verify the font style is italic
cy.readTabledataValidateCSS("1", "0", "font-style", "italic");
// Change the font style to underline
cy.editColumn("id");
cy.get(widgetsPage.underline).click({ force: true });
// Verify the font style is underline
cy.readTabledataValidateCSS(
"1",
"0",
"text-decoration-line",
"underline",
);
});
it("5. Test to validate vertical allignment", function () {
cy.openPropertyPane("tablewidget");
// Select the top vertical alignment
cy.get(widgetsPage.verticalTop).click({ force: true });
// verify vertical alignment is top
cy.readTabledataValidateCSS("1", "0", "align-items", "flex-start");
// Change the vertical alignment to center
cy.get(widgetsPage.verticalCenter).last().click({ force: true });
// Verify the vertical alignment is centered
cy.readTabledataValidateCSS("1", "0", "align-items", "center");
// Change the vertical alignment to bottom
cy.get(widgetsPage.verticalBottom).last().click({ force: true });
// Verify the vertical alignment is bottom
cy.readTabledataValidateCSS("1", "0", "align-items", "flex-end");
});
it("6. Table widget toggle test for text alignment", function () {
// Click on text align JS
cy.get(widgetsPage.toggleTextAlign).first().click({ force: true });
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(1000);
// Change the text align value to right for michael and left for others
cy.toggleJsAndUpdate("tabledata", testdata.bindingGenAlign);
// Close propert pane
// Verify the text michael id is right aligned
cy.readTabledataValidateCSS("0", "0", "justify-content", "flex-end");
// Verify the 2nd id is left aligned
cy.readTabledataValidateCSS("1", "0", "justify-content", "flex-start");
});
it("7. Table widget change text size and validate", function () {
// Verify font size is 14px
cy.readTabledataValidateCSS("0", "0", "font-size", "14px");
// Click on text size JS
cy.get(widgetsPage.toggleTextAlign).first().click({ force: true });
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(1000);
// Open txe size dropdown options
cy.get(widgetsPage.textSize).last().click({ force: true });
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(1000);
// Select Heading 1 text size
cy.selectTxtSize("L");
// Verify the font size is 24px
cy.readTabledataValidateCSS("0", "0", "font-size", "20px");
// close propert pane
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(1000);
// Verify the font size is 24px
cy.readTabledataValidateCSS("0", "0", "font-size", "20px");
});
it("8. Test to validate open new tab icon shows when URL type data validate link text ", function () {
// Open property pane
cy.openPropertyPane("tablewidget");
// go back to 1st
cy.get(commonlocators.editPropBackButton).click({ force: true });
// Open email property pane
cy.editColumn("email");
// Change column type to url
cy.changeColumnType("URL", false);
//Check all the occurance
cy.get(".link-text").should("have.length", "3");
/*
cy.get(
`.t--widget-tablewidget .tbody .td[data-rowindex=1][data-colindex=1] .hidden-icon`,
)
.should("be.hidden")
.invoke("show");
cy.get(
`.t--widget-tablewidget .tbody .td[data-rowindex=1][data-colindex=1] .hidden-icon`,
).should("be.visible");
*/
});
it("9. Edit column name and test for table header changes", function () {
cy.get(commonlocators.editPropBackButton).click({ force: true });
// Open email property pane
cy.editColumn("email");
// CHange the Column email name to Email Address
cy.editColName("Email Address");
// verify changed email name is visible
cy.get(".draggable-header:contains('Email Address')").should(
"be.visible",
);
cy.get(commonlocators.editPropBackButton).click({ force: true });
});
it("10. Edit Row height and test table for changes", function () {
cy.openPropertyPane("tablewidget");
cy.get(widgetsPage.rowHeight).last().click({ force: true });
cy.get(".t--dropdown-option").contains("Short").click({ force: true });
cy.wait(2000);
_.deployMode.DeployApp();
cy.readTabledataValidateCSS("0", "1", "height", "19px", true);
});
},
);

View File

@ -1,40 +0,0 @@
import EditorNavigation, {
EntityType,
} from "../../../../../support/Pages/EditorNavigation";
const widgetsPage = require("../../../../../locators/Widgets.json");
import {
agHelper,
deployMode,
entityExplorer,
propPane,
table,
} from "../../../../../support/Objects/ObjectsCore";
/*
Selected row stays selected after data updation
if the primary column value isn't updated.
*/
describe(
"Table Widget row multi select validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
agHelper.AddDsl("multiSelectedRowUpdationDsl");
});
it("Test multi select column shows when enableMultirowselection is true and not when enableMultirowselection is off", function () {
agHelper.GetNClick(widgetsPage.buttonWidget);
cy.get(widgetsPage.buttonWidget).last().click();
deployMode.DeployApp();
agHelper.GetNClick(table._multirowselect, 1);
agHelper.GetNClick(table._multirowselect, 2);
agHelper.AssertElementLength(table._selectedrow, 2);
deployMode.NavigateBacktoEditor();
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
propPane.TogglePropertyState("Enable multi row selection", "Off");
deployMode.DeployApp();
agHelper.AssertElementAbsence(table._multirowselect);
});
},
);

View File

@ -1,66 +0,0 @@
const widgetsPage = require("../../../../../locators/Widgets.json");
const commonlocators = require("../../../../../locators/commonlocators.json");
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Table Widget row multi select validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableNewDsl");
});
it("1. Test multi select column shows when enable Multirowselection is true", function () {
cy.openPropertyPane("tablewidget");
cy.get(widgetsPage.toggleEnableMultirowselection_tablev1)
.first()
.click({ force: true });
cy.closePropertyPane("tablewidget");
cy.get(".t--table-multiselect-header").should("be.visible");
cy.get(".t--table-multiselect").should("be.visible");
//Test click on header cell selects all row
// click on header check cell
cy.get(".t--table-multiselect-header").first().click({ force: true });
// check if rows selected
cy.get(".tr").should("have.class", "selected-row");
//Test click on single row cell changes header select cell state
// un-select all rows
cy.get(".t--table-multiselect-header").first().click({ force: true });
// click on first row select box
cy.get(".t--table-multiselect").first().click({ force: true }).wait(500);
// check if header cell is in half check state
cy.get(".t--table-multiselect-header-half-check-svg").should(
"be.visible",
);
});
it("2. Test action configured on onRowSelected get triggered whenever a table row is selected", function () {
cy.openPropertyPane("tablewidget");
cy.getAlert("onRowSelected", "Row Selected");
// un select first row
cy.get(".t--table-multiselect").first().click({ force: true });
cy.get(commonlocators.toastmsg).should("not.exist");
// click on first row select box
cy.get(".t--table-multiselect").first().click({ force: true });
cy.get(commonlocators.toastmsg).contains("Row Selected");
});
it("3. It should deselected default Selected Row when the header cell is clicked", () => {
cy.openPropertyPane("tablewidget");
cy.testJsontext("defaultselectedrow", 0);
// click on header check cell
cy.get(".t--table-multiselect-header").first().click({
force: true,
});
// check if rows selected
cy.get(".tr").should("not.have.class", "selected-row");
// click on header check cell
cy.get(".t--table-multiselect-header").first().click({
force: true,
});
// check if rows is not selected
cy.get(".tr").should("have.class", "selected-row");
});
},
);

View File

@ -1,51 +0,0 @@
/* eslint-disable cypress/no-unnecessary-waiting */
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Validate Table Widget Table data",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("basicNumberDataTableDsl");
});
it("Check number key in table data convert table binding and header properly", function () {
cy.openPropertyPane("tablewidget");
// numeric table data
const tableData = [
{
1: "abc",
2: "bcd",
3: "cde",
Dec: "mon",
demo: "3",
demo_1: "1",
"test one": "1",
"test 3 4 9": "4",
rowIndex: "0",
},
{
1: "asd",
2: "dfg",
3: "jkl",
Dec: "mon2",
demo: "2",
demo_1: "1",
"test one": "2",
"test 3 4 9": "3",
rowIndex: "1",
},
];
// add data manually
cy.testJsontext("tabledata", JSON.stringify(tableData));
cy.contains('[role="columnheader"]', "_1").should("exist");
cy.contains('[role="columnheader"]', "_2").should("exist");
});
afterEach(() => {
// put your clean up code if any
});
},
);

View File

@ -1,229 +0,0 @@
const widgetsPage = require("../../../../../locators/Widgets.json");
const commonlocators = require("../../../../../locators/commonlocators.json");
const testdata = require("../../../../../fixtures/testdata.json");
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Table Widget property pane feature validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableNewDslWithPagination");
});
// To be done:
// Column Data type: Video
it("1. Check open section and column data in property pane", function () {
cy.openPropertyPane("tablewidget");
// Validate the columns are visible in the property pane
cy.tableColumnDataValidation("id");
cy.tableColumnDataValidation("email");
cy.tableColumnDataValidation("userName");
cy.tableColumnDataValidation("productName");
cy.tableColumnDataValidation("orderAmount");
// Updating the column name ; "id" > "TestUpdated"
cy.tableColumnPopertyUpdate("id", "TestUpdated");
// Add new column in the table with name "CustomColumn"
cy.addColumn("CustomColumn");
cy.tableColumnDataValidation("customColumn1"); //To be updated later
// Hide all other columns
cy.hideColumn("email");
cy.hideColumn("userName");
cy.hideColumn("productName");
cy.hideColumn("orderAmount");
// Verifying the newly added column
cy.get(".draggable-header:contains('CustomColumn')").should("be.visible");
});
it("2. Column Detail - Edit column name and validate test for computed value based on column type selected (Email, Number, Date)", function () {
cy.wait(1000);
cy.makeColumnVisible("email");
cy.makeColumnVisible("userName");
cy.makeColumnVisible("productName");
cy.makeColumnVisible("orderAmount");
cy.openPropertyPane("tablewidget");
// Open column detail to be edited by draggable id
cy.editColumn("id");
// Change the column name
cy.editColName("updatedId");
// Reading single cell value of the table and verify it's value.
cy.readTabledataPublish("1", "1").then((tabData) => {
const tabValue = tabData;
cy.log(tabData);
expect(tabData).to.not.equal("2736212");
// Changing the Computed value from "id" to "Email"
cy.updateComputedValue(testdata.currentRowEmail);
// Reading single cell value of the table and verify it's value.
cy.readTabledataPublish("1", "0").then((tabData2) => {
cy.log(tabData2);
expect(tabData2).to.be.equal(tabValue);
cy.log("computed value of plain text " + tabData2);
});
});
// Changing Column data type from "Plain text" to "Number"
cy.changeColumnType("Number", false);
cy.readTabledataPublish("1", "4").then((tabData) => {
cy.log(tabData);
expect(tabData).to.not.equal("lindsay.ferguson@reqres.in");
// Email to "orderAmount"
cy.updateComputedValue(testdata.currentRowOrderAmt);
cy.readTabledataPublish("1", "0").then((tabData2) => {
cy.log(tabData2);
expect(tabData2).to.be.equal(tabData);
cy.log("computed value of number is " + tabData2);
});
});
// Changing Column data type from "Number" to "Date"
cy.changeColumnType("Date", false);
// orderAmout to "Moment Date"
cy.updateComputedValue(testdata.momentDate);
cy.readTabledataPublish("1", "1").then((tabData) => {
expect(tabData).to.not.equal("9.99");
cy.log("computed value of Date is " + tabData);
});
// Changing Column data type from "URL" to "Video"
/* const videoVal = 'https://youtu.be/Sc-m3ceZyfk';
cy.changeColumnType("Video", false);
// "Moement "date" to "Video"
cy.updateComputedValue(videoVal);
// cy.testJson text("computedvalue", videoVal, )
// Verifying the href of the Video added.
cy.readTableLinkPublish("1", "1").then((hrefVal) => {
expect(hrefVal).to.be.equal(videoVal);
});*/
});
it("3. Column Detail - Edit column name and validate test for computed value based on column type selected (image, button , url)", function () {
// Changing Column data type from "Date" to "Image"
const imageVal = "http://host.docker.internal:4200/453-200x300.jpg";
cy.changeColumnType("Image", false);
// "Moement "date" to "Image"
cy.updateComputedValue(imageVal);
// Verifying the href of the image added.
cy.readTableLinkPublish("1", "0").then((hrefVal) => {
expect(hrefVal).to.be.contains(imageVal);
});
// change column data type to "icon button"
cy.changeColumnType("Icon button", false);
cy.wait(400);
cy.get(commonlocators.selectedIcon).should("have.text", "add");
cy.getTableDataSelector("0", "0").then((selector) => {
cy.get(selector + " button.bp3-button [data-icon=add]").should("exist");
});
// Changing Column data type from "Date" to "URl"
cy.readTabledataPublish("1", "1").then((actualEmail) => {
cy.changeColumnType("URL", false);
// "Image" to "url"
cy.updateComputedValue(testdata.currentRowEmail);
cy.readTabledataPublish("1", "0").then((tabData2) => {
expect(tabData2)
.to.equal("lindsay.ferguson@reqres.in")
.to.eq(actualEmail);
cy.log("computed value of URL is " + tabData2);
});
});
});
it("4. Test to validate text alignment", function () {
// Verifying Center Alignment
cy.xpath(widgetsPage.textCenterAlign).first().click({ force: true });
cy.readTabledataValidateCSS("1", "0", "justify-content", "center", true);
// Verifying Right Alignment
cy.xpath(widgetsPage.rightAlign).first().click({ force: true });
cy.readTabledataValidateCSS(
"1",
"0",
"justify-content",
"flex-end",
true,
);
// Verifying Left Alignment
cy.xpath(widgetsPage.leftAlign).first().click({ force: true });
cy.readTabledataValidateCSS(
"0",
"0",
"justify-content",
"flex-start",
true,
);
});
it("5. Test to validate vertical alignment", function () {
// Validate vertical alignemnt of Cell text to TOP
cy.get(widgetsPage.verticalTop).click({ force: true });
cy.readTabledataValidateCSS("1", "0", "align-items", "flex-start", true);
// Validate vertical alignemnt of Cell text to Center
cy.get(widgetsPage.verticalCenter).last().click({ force: true });
cy.readTabledataValidateCSS("1", "0", "align-items", "center", true);
// Validate vertical alignemnt of Cell text to Bottom
cy.get(widgetsPage.verticalBottom).last().click({ force: true });
cy.readTabledataValidateCSS("0", "0", "align-items", "flex-end", true);
});
it("6. Test to validate text color and text background", function () {
cy.openPropertyPane("tablewidget");
// Changing text color to rgb(219, 234, 254) and validate
cy.selectColor("textcolor");
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(5000);
cy.wait("@updateLayout");
cy.readTabledataValidateCSS("1", "0", "color", "rgb(219, 234, 254)");
// Changing text color to PURPLE and validate using JS
cy.get(widgetsPage.toggleJsColor).click({ force: true });
cy.wait(500);
cy.testCodeMirrorLast("purple");
cy.wait("@updateLayout");
cy.readTabledataValidateCSS("1", "0", "color", "rgb(128, 0, 128)");
cy.get(commonlocators.editPropBackButton).click();
// Changing Cell backgroud color to rgb(219, 234, 254) and validate
cy.selectColor("cellbackgroundcolor");
cy.readTabledataValidateCSS(
"0",
"0",
"background",
"rgb(219, 234, 254) none repeat scroll 0% 0% / auto padding-box border-box",
true,
);
// Changing Cell backgroud color to PURPLE and validate using JS
_.propPane.EnterJSContext("Cell background color", "purple");
cy.wait("@updateLayout");
cy.readTabledataValidateCSS(
"0",
"0",
"background",
"rgb(128, 0, 128) none repeat scroll 0% 0% / auto padding-box border-box",
true,
);
// close property pane
cy.closePropertyPane();
});
it("7. Table-Delete Verification", function () {
// Open property pane
cy.openPropertyPane("tablewidget");
// Delete the Table widget
cy.deleteWidget(widgetsPage.tableWidget);
_.deployMode.DeployApp();
// Verify the Table widget is deleted
cy.get(widgetsPage.tableWidget).should("not.exist");
});
},
);

View File

@ -1,189 +0,0 @@
const widgetsPage = require("../../../../../locators/Widgets.json");
const commonlocators = require("../../../../../locators/commonlocators.json");
import {
agHelper,
deployMode,
locators,
table,
} from "../../../../../support/Objects/ObjectsCore";
describe(
"Table Widget property pane feature validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
agHelper.AddDsl("tableNewDslWithPagination");
});
// To be done:
// Column Data type: Video
it("1. Verify On Row Selected Action", function () {
// Open property pane
cy.openPropertyPane("tablewidget");
// Select show message in the "on selected row" dropdown
cy.getAlert("onRowSelected", "Row is selected");
deployMode.DeployApp(locators._widgetInDeployed("tablewidget"));
table.WaitUntilTableLoad(0, 0, "v1");
// Select 1st row
table.SelectTableRow(1);
// Verify Row is selected by showing the message
agHelper.ValidateToastMessage("Row is selected");
deployMode.NavigateBacktoEditor();
});
it("2. Check On Page Change Action", function () {
// Open property pane
cy.openPropertyPane("tablewidget");
// Select show message in the "on selected row" dropdown
cy.getAlert("onPageChange", "Page Changed");
deployMode.DeployApp(locators._widgetInDeployed("tablewidget"));
table.WaitUntilTableLoad(0, 0, "v1");
cy.wait(2000);
// Change the page
cy.get(widgetsPage.nextPageButton).click({ force: true });
// Verify the page is changed
agHelper.ValidateToastMessage("Page Changed");
deployMode.NavigateBacktoEditor();
});
it("3. Verify On Search Text Change Action", function () {
// Open property pane
cy.openPropertyPane("tablewidget");
// Show Message on Search text change Action
cy.getAlert("onSearchTextChanged", "Search Text Changed");
deployMode.DeployApp(locators._widgetInDeployed("tablewidget"));
table.WaitUntilTableLoad(0, 0, "v1");
// Change the Search text
cy.get(widgetsPage.searchField).first().type("Hello");
// Verify the search text is changed
cy.get(commonlocators.toastmsg).contains("Search Text Changed");
deployMode.NavigateBacktoEditor();
});
it("4. Test to validate text format", function () {
cy.openPropertyPane("tablewidget");
cy.editColumn("id");
// Validate Bold text
cy.get(widgetsPage.bold).click({ force: true });
cy.wait(2000);
cy.reload();
cy.readTabledataValidateCSS("1", "0", "font-weight", "700");
// Validate Italic text
cy.get(widgetsPage.italics).click({ force: true });
cy.readTabledataValidateCSS("0", "0", "font-style", "italic");
});
it("5. Verify default search text", function () {
// Open property pane
cy.openPropertyPane("tablewidget");
cy.backFromPropertyPanel();
// Chage deat search text value to "data"
cy.testJsontext("defaultsearchtext", "data");
deployMode.DeployApp(locators._widgetInDeployed("tablewidget"));
table.WaitUntilTableLoad(0, 0, "v1");
// Verify the deaullt search text
cy.get(widgetsPage.searchField).should("have.value", "data");
deployMode.NavigateBacktoEditor();
});
it("6. Verify default selected row", function () {
// Open property pane
cy.openPropertyPane("tablewidget");
cy.backFromPropertyPanel();
cy.testJsontext("defaultsearchtext", "");
// Change default selected row value to 1
cy.get(widgetsPage.defaultSelectedRowField).type("1");
cy.wait(2000);
deployMode.DeployApp(locators._widgetInDeployed("tablewidget"));
table.WaitUntilTableLoad(0, 0, "v1");
// Verify the default selected row
cy.get(widgetsPage.selectedRow).should(
"have.css",
"background-color",
"rgb(227, 223, 251)",
);
deployMode.NavigateBacktoEditor();
});
it("7. Verify table column type button with button variant", function () {
// Open property pane
cy.openPropertyPane("tablewidget");
// Add new column in the table with name "CustomColumn"
cy.addColumn("CustomColumn");
cy.tableColumnDataValidation("customColumn1"); //To be updated later
cy.editColumn("customColumn1");
cy.changeColumnType("Button", false);
// default selected opts
cy.get(commonlocators.tableButtonVariant + " span span").should(
"have.text",
"Primary",
);
cy.getTableDataSelector("1", "5").then((selector) => {
cy.get(selector + " button").should(
"have.css",
"background-color",
"rgb(85, 61, 233)",
);
cy.get(selector + " button > span").should(
"have.css",
"color",
"rgb(255, 255, 255)",
);
});
cy.selectDropdownValue(
commonlocators.tableButtonVariant + " input",
"Secondary",
);
cy.get(commonlocators.tableButtonVariant + " span span").should(
"have.text",
"Secondary",
);
cy.getTableDataSelector("1", "5").then((selector) => {
cy.get(selector + " button").should(
"have.css",
"background-color",
"rgba(0, 0, 0, 0)",
);
cy.get(selector + " button > span").should(
"have.css",
"color",
"rgb(85, 61, 233)",
);
cy.get(selector + " button").should(
"have.css",
"border",
`1px solid rgb(85, 61, 233)`,
);
});
cy.selectDropdownValue(
commonlocators.tableButtonVariant + " input",
"Tertiary",
);
cy.get(commonlocators.tableButtonVariant + " span span").should(
"have.text",
"Tertiary",
);
cy.getTableDataSelector("1", "5").then((selector) => {
cy.get(selector + " button").should(
"have.css",
"background-color",
"rgba(0, 0, 0, 0)",
);
cy.get(selector + " button > span").should(
"have.css",
"color",
"rgb(85, 61, 233)",
);
cy.get(selector + " button").should(
"have.css",
"border",
"0px none rgb(24, 32, 38)",
);
});
cy.closePropertyPane();
});
},
);

View File

@ -1,41 +0,0 @@
const commonlocators = require("../../../../../locators/commonlocators.json");
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Table Widget property pane feature validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableNewDslWithPagination");
});
it("Verify table column type changes effect on menuButton and iconButton", function () {
cy.openPropertyPane("tablewidget");
cy.addColumn("CustomColumn");
cy.editColumn("customColumn1");
cy.changeColumnType("Menu button", false);
cy.wait(400);
cy.get(commonlocators.selectedIcon).should("have.text", "(none)");
cy.getTableDataSelector("1", "5").then((selector) => {
cy.get(selector + " button span.bp3-icon").should("not.exist");
});
cy.changeColumnType("Icon button", false);
cy.wait(400);
cy.get(commonlocators.selectedIcon).should("have.text", "add");
cy.getTableDataSelector("1", "5").then((selector) => {
cy.get(selector + " button span.bp3-icon-add").should("exist");
});
cy.changeColumnType("Menu button", false);
cy.wait(500);
cy.get(commonlocators.selectedIcon).should("have.text", "(none)");
cy.getTableDataSelector("1", "5").then((selector) => {
cy.get(selector + " button span.bp3-icon").should("not.exist");
});
cy.closePropertyPane();
});
},
);

View File

@ -1,105 +0,0 @@
import EditorNavigation, {
EntityType,
} from "../../../../../support/Pages/EditorNavigation";
const commonlocators = require("../../../../../locators/commonlocators.json");
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Test Create Api and Bind to Table widget",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableTextPaginationDsl");
});
it("1. Create an API and Execute the API and bind with Table", function () {
cy.createAndFillApi(
this.dataSet.paginationUrl,
this.dataSet.paginationParam,
);
_.agHelper.VerifyEvaluatedValue(
this.dataSet.paginationUrl + "mock-api?records=20&page=1&size=10",
);
cy.RunAPI();
});
it("2. Validate Table with API data and then add a column", function () {
// Open property pane
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
// Change the table data to Apil data users
cy.testJsontext("tabledata", "{{Api1.data}}");
// Check server sided pagination
cy.CheckWidgetProperties(commonlocators.serverSidePaginationCheckbox);
// Open property pane of Text1
EditorNavigation.SelectEntityByName("Text1", EntityType.Widget);
// Change the text value to selected url
cy.testJsontext("text", "{{Table1.selectedRow.url}}");
// Open property pane
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
// Copmre the table 1st index with itself
cy.readTabledata("0", "0").then((tabData) => {
const tableData = tabData;
localStorage.setItem("tableDataPage1", tableData);
});
cy.readTabledata("0", "4").then((tabData) => {
const tableData = tabData;
expect(tableData).to.equal("1");
});
// Add new column
cy.addColumn("CustomColumn");
});
it("3. Update table json data and check the column names updated and validate empty value", function () {
// Open property pane
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
// Change the table data
cy.testJsontext(
"tabledata",
JSON.stringify(this.dataSet.TableInputWithNull),
);
cy.wait("@updateLayout");
// Verify the columns are visible in property pane
cy.tableColumnDataValidation("id");
cy.tableColumnDataValidation("email");
cy.tableColumnDataValidation("userName");
cy.tableColumnDataValidation("productName");
cy.tableColumnDataValidation("orderAmount");
cy.tableColumnDataValidation("customColumn1");
// Hide the columns in the table from property pane
cy.hideColumn("id");
cy.hideColumn("email");
cy.hideColumn("userName");
cy.hideColumn("productName");
// Verify CustomColumn is visible
cy.get(".draggable-header:contains('CustomColumn')").should("be.visible");
// close property pane
cy.closePropertyPane();
// Validate the empty values
cy.readTabledataPublish("0", "0").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("");
});
});
it("4. Check Selected Row(s) Resets When Table data Changes", function () {
// Select 1st row
_.table.SelectTableRow(1);
cy.openPropertyPane("tablewidget");
// Empty first row
cy.testJsontext("tabledata", "[]");
cy.wait("@updateLayout");
const newTableData = [...this.dataSet.TableInput];
newTableData[0].userName = "";
// Change table data from empty to some
cy.testJsontext("tabledata", JSON.stringify(newTableData));
cy.wait("@updateLayout");
const selectedRowsSelector = `.t--widget-tablewidget .tbody .tr.selected-row`;
// Verify selected row resets on table data changes
cy.get(selectedRowsSelector).should(($p) => {
// should found 0 rows
expect($p).to.have.length(0);
});
});
},
);

View File

@ -1,58 +0,0 @@
/* eslint-disable cypress/no-unnecessary-waiting */
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Table Widget and Switch binding Functionality",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("swtchTableDsl");
});
it("Table Widget Data validation with Switch ON", function () {
cy.openPropertyPane("tablewidget");
cy.readTabledataPublish("1", "1").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("30");
cy.log("the value is" + tabValue);
});
cy.get(".t--switch-widget-active .bp3-control-indicator").click({
force: true,
});
cy.wait(5000);
cy.readTabledataPublish("1", "1").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("9");
cy.log("the value is" + tabValue);
});
cy.get(".t--switch-widget-inactive .bp3-control-indicator").click({
force: true,
});
cy.wait(5000);
cy.readTabledataPublish("1", "1").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("30");
cy.log("the value is" + tabValue);
});
});
it("Selected row and binding with Text widget", function () {
cy.wait(5000);
cy.get(".t--table-multiselect").eq(1).click({ force: true });
cy.get(".t--draggable-textwidget .bp3-ui-text span").should(
"contain.text",
"30",
);
cy.get(".t--table-multiselect").eq(0).click({ force: true });
cy.get(".t--draggable-textwidget .bp3-ui-text span").should(
"contain.text",
"29",
);
});
afterEach(() => {
// put your clean up code if any
});
},
);

View File

@ -1,365 +0,0 @@
const widgetsPage = require("../../../../../locators/Widgets.json");
const commonlocators = require("../../../../../locators/commonlocators.json");
import { agHelper, propPane } from "../../../../../support/Objects/ObjectsCore";
const testdata = require("../../../../../fixtures/testdata.json");
describe(
"Table Widget property pane feature validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
agHelper.AddDsl("tableNewDsl");
});
it("1. Table widget with Add button test and validation", function () {
cy.openPropertyPane("tablewidget");
// Open column details of "id".
cy.editColumn("id");
cy.get(widgetsPage.tableBtn).should("not.exist");
// Changing column data type to "Button"
cy.changeColumnType("Button", false);
// Changing the computed value (data) to "orderAmount"
cy.updateComputedValue(testdata.currentRowOrderAmt);
// Selecting button action to show message
cy.getAlert("onClick", "Successful ".concat(testdata.currentRowEmail));
// Close Property pane
cy.get(commonlocators.editPropBackButton).click({
force: true,
});
agHelper.Sleep();
// Validating the button action by clicking
cy.get(widgetsPage.tableBtn).last().click({ force: true });
// eslint-disable-next-line cypress/no-unnecessary-waiting
agHelper.Sleep();
// Validating the toast message
cy.get(widgetsPage.toastAction).should("be.visible");
cy.get(widgetsPage.toastActionText)
.last()
.invoke("text")
.then((text) => {
expect(text).to.equal("Successful tobias.funke@reqres.in");
});
// Open column details of "id".
cy.editColumn("id");
cy.get(widgetsPage.toggleOnClick).click({ force: true });
cy.get(".t--property-control-onclick").then(($el) => {
cy.updateCodeInput(
$el,
"{{showAlert('Successful' + currentRow.email).then(() => showAlert('second alert')) }}",
);
});
cy.get(commonlocators.editPropBackButton).click({
force: true,
});
// Validating the button action by clicking
cy.get(widgetsPage.tableBtn).last().click({ force: true });
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(3000);
cy.get(widgetsPage.toastActionText)
.last()
.invoke("text")
.then((text) => {
expect(text).to.equal("second alert");
});
});
it("2. Table Button color validation", function () {
cy.openPropertyPane("tablewidget");
// Open column details of "id".
cy.editColumn("id");
// Changing column data type to "Button"
/* cy.get(commonlocators.changeColType)
.last()
.click();
cy.get(".t--dropdown-option")
.children()
.contains("Plain text")
.click();
cy.changeColumnType("Button", false); */
const color1 = "rgb(255, 0, 0)";
cy.get(widgetsPage.buttonColor)
.click({ force: true })
.clear()
.type(color1, { force: true, delay: 0 });
cy.get(widgetsPage.tableBtn).should(
"have.css",
"background-color",
color1,
);
// Changing the color again to reproduce issue #9526
const color2 = "rgb(255, 255, 0)";
cy.get(widgetsPage.buttonColor)
.click({ force: true })
.clear()
// following wait is required to reproduce #9526
.wait(600)
.type(color2, { delay: 0 });
cy.get(widgetsPage.tableBtn).should(
"have.css",
"background-color",
color2,
);
});
it("3. Table widget triggeredRow property should be accessible", function () {
cy.get(commonlocators.TextInside).should("have.text", "Tobias Funke");
// Table widget triggeredRow property should be same even after sorting the table", function () {
//sort table date on second column
cy.get(".draggable-header ").first().click({ force: true });
cy.wait(1000);
cy.get(commonlocators.TextInside).should("have.text", "Tobias Funke");
});
it("4. Table widget add new icon button column", function () {
cy.get("[data-testid='t--property-pane-back-btn']").click({
force: true,
});
// hide id column
cy.makeColumnVisible("id");
cy.wait(1000);
// click on Add new Column.
//cy.get("[data-testid='t--property-pane-back-btn']").click({ force: true });
cy.get(".t--add-column-btn").click();
//Open New Custom Column
cy.editColumn("customColumn1");
// Change Column type to icon Button
cy.changeColumnType("Icon button", false);
// Select Icon from Icon Control
cy.get(".t--property-control-icon .bp3-icon-caret-down").click({
force: true,
});
cy.get(".bp3-icon-add").first().click({
force: true,
});
cy.get(".t--widget-tablewidget .tbody .bp3-icon-add").should("exist");
// disabled icon btn
cy.CheckWidgetProperties(commonlocators.disableCheckbox);
cy.getTableDataSelector("0", "4").then((selector) => {
cy.get(selector + " button.bp3-disabled").should("exist");
});
cy.UncheckWidgetProperties(commonlocators.disableCheckbox);
//Delete Column
cy.get("[data-testid='t--property-pane-back-btn']").click({
force: true,
});
cy.deleteColumn("customColumn1");
// Close Property pane
/*
cy.get(commonlocators.editPropCrossButton).click({
force: true,
});
*/
});
it("5. Table widget add new menu button column", function () {
cy.openPropertyPane("tablewidget");
// click on Add new Column.
cy.get(".t--add-column-btn").click();
//Open New Custom Column
cy.editColumn("customColumn1");
// Change Column type to icon Button
cy.changeColumnType("Menu button", false);
//Changing the text on the Menu button
cy.testJsontext("label", "Menu button");
// Select Icon from Icon Control
cy.get(".t--property-control-icon .bp3-icon-caret-down").click({
force: true,
});
cy.get(".bp3-icon-airplane").first().click({
force: true,
});
// validate icon
cy.get(".t--widget-tablewidget .tbody .bp3-icon-airplane").should(
"exist",
);
//cy.get(".editable-text-container").eq(1).click();
// validate label
cy.contains("Menu button").should("exist");
const color1 = "rgb(255, 255, 0)";
cy.get(widgetsPage.menuColor)
.click()
.clear()
.click({ force: true })
.type(color1, { delay: 0 });
cy.get(widgetsPage.tableBtn).should(
"have.css",
"background-color",
color1,
);
// Changing the color again to reproduce issue #9526
const color2 = "rgb(255, 0, 0)";
cy.get(widgetsPage.menuColor)
.clear()
.click({ force: true })
// following wait is required to reproduce #9526
.wait(500)
.type(color2, { delay: 0 });
cy.get(widgetsPage.tableBtn).should(
"have.css",
"background-color",
color2,
);
// Add a Menu item 1
cy.get(".t--add-menu-item-btn")
.click({
force: true,
})
.wait(500);
// Edit a Menu item
cy.get(".t--property-pane-section-menuitems .t--edit-column-btn")
.first()
.click({
force: true,
});
cy.wait(1000);
// update menu item background color
cy.get(widgetsPage.backgroundcolorPickerNew)
.type("#03b365", {
force: true,
})
.wait(500);
// Add action to the menu Item
cy.getAlert(
"onItemClick",
"Successful ".concat(testdata.currentRowEmail),
);
// Go back to table property pane
cy.get("[data-testid='t--property-pane-back-btn']").click({
force: true,
});
// Add a Menu item 2
cy.get(".t--add-menu-item-btn").click({
force: true,
});
// Edit a Menu item
cy.get(".t--property-pane-section-menuitems .t--edit-column-btn")
.last()
.click({
force: true,
});
// update menu item background color
cy.get(widgetsPage.backgroundcolorPickerNew)
.clear()
.type("#FFC13D", {
force: true,
})
.wait(500);
// Go back to table property pane
cy.get("[data-testid='t--property-pane-back-btn']").click({
force: true,
});
// Add a Menu item 3
cy.get(".t--add-menu-item-btn").click({
force: true,
});
// Edit a Menu item
cy.get(".t--property-pane-section-menuitems .t--edit-column-btn")
.last()
.click({
force: true,
});
// update menu item background color
cy.get(widgetsPage.backgroundcolorPickerNew)
.clear()
.type("#3366FF", {
force: true,
})
.wait(500);
// Go back to table property pane
cy.get("[data-testid='t--property-pane-back-btn']").click({
force: true,
});
// Close Property pane
cy.openPropertyPane("tablewidget");
// Click on the Menu button
cy.contains("Menu button").click({
force: true,
});
cy.wait(1000);
//Commenting below verification until fixed to overide flakiness
// // verify menu items background color
// cy.get(".bp3-menu-item")
// .eq(0)
// .should("have.css", "background-color", "rgb(3, 179, 101)");
// cy.get(".bp3-menu-item")
// .eq(1)
// .should("have.css", "background-color", "rgb(51, 102, 255)"); //"rgb(255, 193, 61)");
// cy.get(".bp3-menu-item")
// .eq(2)
// .should("have.css", "background-color", "rgb(255, 255, 255)");//"rgb(51, 102, 255)");
//cy.closePropertyPane();
cy.closePropertyPane();
// disable menu item 3
//cy.openPropertyPane("tablewidget");
//cy.editColumn("customColumn1");
// Edit a Menu item
cy.get(".t--property-pane-section-menuitems .t--edit-column-btn")
.last()
.click({
force: true,
});
cy.wait(1000);
cy.get(".t--property-control-disabled label input").click({
force: true,
});
//cy.closePropertyPane();
// Click on the Menu button
cy.clickButton("Menu button").wait(1000);
// check Menu Item 3 is disable
cy.get(".bp3-menu-item")
.eq(2)
.should("have.css", "background-color", "rgb(250, 250, 250)");
cy.get(".bp3-menu-item").eq(2).should("have.class", "bp3-disabled");
// Click on the Menu Item
cy.get(".bp3-menu-item").eq(0).click({
force: true,
});
// Validating the toast message
cy.get(widgetsPage.toastAction).should("be.visible");
cy.get(widgetsPage.toastActionText)
.last()
.invoke("text")
.then((text) => {
const someText = text;
expect(someText).to.equal("Successful tobias.funke@reqres.in");
});
});
it("6. Table widget test on button icon click, row should not get deselected", () => {
cy.get(widgetsPage.tableIconBtn).last().click({ force: true });
cy.get(commonlocators.TextInside).should("have.text", "Tobias Funke");
//click icon button again
cy.get(widgetsPage.tableIconBtn).last().click({ force: true });
cy.get(commonlocators.TextInside).should("have.text", "Tobias Funke");
cy.get("[data-testid='t--property-pane-back-btn']").click({
force: true,
});
cy.wait(500);
cy.get("[data-testid='t--property-pane-back-btn']").click({
force: true,
});
});
},
);

View File

@ -1,62 +0,0 @@
import {
PageLeftPane,
PagePaneSegment,
} from "../../../../../support/Pages/EditorNavigation";
const apiwidget = require("../../../../../locators/apiWidgetslocator.json");
const commonlocators = require("../../../../../locators/commonlocators.json");
const widgetsPage = require("../../../../../locators/Widgets.json");
import {
agHelper,
entityExplorer,
} from "../../../../../support/Objects/ObjectsCore";
describe(
"Test Suite to validate copy/paste table Widget",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
agHelper.AddDsl("tableNewDsl");
});
it("Copy paste table widget and valdiate application status", function () {
const modifierKey = Cypress.platform === "darwin" ? "meta" : "ctrl";
cy.openPropertyPane("tablewidget");
cy.widgetText(
"Table1",
widgetsPage.tableWidget,
widgetsPage.widgetNameSpan,
);
cy.get("body").type(`{${modifierKey}}c`);
// eslint-disable-next-line cypress/no-unnecessary-waiting
cy.wait(500);
cy.get(commonlocators.toastBody).first().contains("Copied");
cy.get("body").click();
cy.get("body").type(`{${modifierKey}}v`, { force: true });
cy.wait("@updateLayout").should(
"have.nested.property",
"response.body.responseMeta.status",
200,
);
cy.get(commonlocators.toastAction).should("be.visible");
//Check after copying new table widget should not have any warnings
cy.get('.t--widget-propertypane-toggle [name="warning"]').should(
"not.exist",
);
cy.get(commonlocators.toastAction).should("not.be.visible");
cy.wait(2000);
PageLeftPane.switchSegment(PagePaneSegment.UI);
entityExplorer.ActionContextMenuByEntityName({
entityNameinLeftSidebar: "Table1Copy",
action: "Show bindings",
});
cy.wait(200);
cy.get(apiwidget.propertyList).then(function ($lis) {
expect($lis).to.have.length(13);
expect($lis.eq(0)).to.contain("{{Table1Copy.selectedRow}}");
expect($lis.eq(1)).to.contain("{{Table1Copy.selectedRows}}");
});
});
},
);

View File

@ -1,28 +0,0 @@
import * as _ from "../../../../../support/Objects/ObjectsCore";
import EditorNavigation, {
EntityType,
} from "../../../../../support/Pages/EditorNavigation";
describe(
"Table Widget property pane deafult feature validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("defaultTableDsl");
});
it("Verify default table row Data", function () {
// Open property pane
cy.openPropertyPane("tablewidget");
cy.wait(2000);
EditorNavigation.SelectEntityByName("Table1", EntityType.Widget);
cy.wait(2000);
cy.readTabledataFromSpecificIndex("2", "0", 1).then((tabData) => {
const tabValue = tabData;
cy.log("the table is" + tabValue);
cy.get(".bp3-ui-text span").eq(0).should("have.text", tabData);
});
});
},
);

View File

@ -1,39 +0,0 @@
import * as _ from "../../../../../support/Objects/ObjectsCore";
const testdata = require("../../../../../fixtures/testdata.json");
describe(
"Table Widget property pane feature validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableNewDsl");
});
it("Test to add column", function () {
cy.openPropertyPane("tablewidget");
// Adding new column
cy.addColumn("CustomColumn");
cy.tableColumnDataValidation("customColumn1"); //To be updated later
// Hiding all other columns in the table from property pane
cy.hideColumn("email");
cy.hideColumn("userName");
cy.hideColumn("productName");
cy.hideColumn("orderAmount");
// Validating the newly added column
cy.get(".draggable-header:contains('CustomColumn')").should("be.visible");
//Test: Edit column name and validate test for computed value
// Open column detail by draggable id of the column
cy.editColumn("customColumn1");
// Validating single cell value
cy.readTabledataPublish("1", "2").then(() => {
// Chaging the computed value to "Emails"
cy.updateComputedValue(testdata.currentRowWithIdOutside);
// Validating single cell value
cy.readTabledataPublish("1", "1").then((tabData) => {
expect(tabData).to.be.equal("#lindsay.ferguson@reqres.in");
cy.log("computed value of plain text " + tabData);
});
});
});
},
);

View File

@ -1,21 +0,0 @@
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Table Widget property pane feature validation",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableAndTextDsl");
});
it("Table widget new menu button column should not deselect row", function () {
cy.openPropertyPane("tablewidget");
cy.get(".t--widget-textwidget").should("have.text", "0");
cy.contains("Open Menu").click({
force: true,
});
cy.wait(1000);
cy.get(".t--widget-textwidget").should("have.text", "0");
});
},
);

View File

@ -1,168 +0,0 @@
/* eslint-disable cypress/no-unnecessary-waiting */
const widgetsPage = require("../../../../../locators/Widgets.json");
const commonlocators = require("../../../../../locators/commonlocators.json");
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Table Widget Functionality",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableWidgetDsl");
});
it("Table Widget Functionality", function () {
cy.openPropertyPane("tablewidget");
/**
* @param{Text} Random Text
* @param{ChartWidget}Mouseover
* @param{ChartPre Css} Assertion
*/
cy.widgetText(
"Table1",
widgetsPage.tableWidget,
widgetsPage.widgetNameSpan,
);
cy.testJsontext("tabledata", JSON.stringify(this.dataSet.TableInput));
cy.wait("@updateLayout");
//cy.get(widgetsPage.ColumnAction).click({ force: true });
// cy.get(widgetsPage.tableOnRowSelected)
// .get(commonlocators.dropdownSelectButton)
// .first()
// .click({ force: true })
// .get(commonlocators.dropdownmenu)
// .children()
// .contains("Navigate to")
// .click();
// cy.wait("@updateLayout");
// cy.get(widgetsPage.tableOnRowSelected)
// .get(commonlocators.dropdownSelectButton)
// .first()
// .find("> .bp3-button-text")
// .should("have.text", "{{navigateTo()}}");
});
it("Table Widget Functionality To Verify The Data", function () {
cy.readTabledataPublish("1", "3").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("Lindsay Ferguson");
cy.log("the value is" + tabValue);
});
});
it("Table Widget Functionality To Show a Base64 Image", function () {
cy.openPropertyPane("tablewidget");
cy.editColumn("image");
cy.changeColumnType("Image", false);
_.table.SelectTableRow(1);
const index = 1;
const imageVal = this.dataSet.TableInput[index].image;
cy.readTableLinkPublish(index, "1").then((hrefVal) => {
expect(hrefVal).to.contain(imageVal);
});
});
it("Table Widget Functionality To Check if Table is Sortable", function () {
cy.get(commonlocators.editPropBackButton).click();
cy.openPropertyPane("tablewidget");
// Confirm if isSortable is true
cy.get(commonlocators.isSortable_tablev1).should("be.checked");
// Publish App
_.deployMode.DeployApp();
// Confirm Current order
cy.readTabledataPublish("1", "3").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("Lindsay Ferguson");
});
cy.readTabledataPublish("0", "3").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("Michael Lawson");
});
// Sort Username Column
cy.contains('[role="columnheader"]', "userName").first().click({
force: true,
});
cy.wait(1000);
// Confirm order after sort
cy.readTabledataPublish("1", "3").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("Ryan Holmes");
});
cy.readTabledataPublish("0", "3").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("Tobias Funke");
});
// Back to edit page
_.deployMode.NavigateBacktoEditor();
cy.openPropertyPane("tablewidget");
// Disable isSortable
// Confirm if isSortable is false
_.agHelper.CheckUncheck(commonlocators.isSortable_tablev1, false);
// Publish App
_.deployMode.DeployApp();
// Confirm Current order
cy.readTabledataPublish("1", "3").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("Lindsay Ferguson");
});
cy.readTabledataPublish("0", "3").then((tabData) => {
const tabValue = tabData;
expect(tabValue).to.be.equal("Michael Lawson");
});
// Confirm Sort is disable on Username Column
cy.contains('[role="columnheader"]', "userName").first().click({
force: true,
});
cy.wait(1000);
// Confirm order after sort
cy.readTabledataPublish("1", "3").then((tabData) => {
const tabValue = tabData;
expect(tabValue).not.to.be.equal("Ryan Holmes");
});
cy.readTabledataPublish("0", "3").then((tabData) => {
const tabValue = tabData;
expect(tabValue).not.to.be.equal("Tobias Funke");
});
});
/*
To enabled later
it("Table Widget Functionality To Verify The Visiblity mode functionality", function() {
_.deployMode.NavigateBacktoEditor();
_.table.SelectTableRow(1);
cy.readTabledataPublish("1", "3").then(tabData => {
const tabValue = tabData;
expect(tabValue).to.be.equal("Lindsay Ferguson");
cy.log("the value is" + tabValue);
cy.get(publish.visibilityMode).click();
cy.get(publish.visibilityOpt)
.contains("userName")
.click();
cy.get(publish.containerWidget).click();
cy.readTabledataPublish("1", "3").then(tabData => {
const tabValue = tabData;
expect(tabValue).to.not.equal("Lindsay Ferguson");
});
cy.get(publish.visibilityMode).click();
cy.get(publish.visibilityOpt)
.contains("userName")
.click();
cy.get(publish.containerWidget).click();
cy.readTabledataPublish("1", "3").then(tabData => {
const tabValue = tabData;
expect(tabValue).to.be.equal("Lindsay Ferguson");
});
});
});
*/
afterEach(() => {
// put your clean up code if any
});
},
);

View File

@ -1,55 +0,0 @@
import {
PageLeftPane,
PagePaneSegment,
} from "../../../../../support/Pages/EditorNavigation";
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Table Widget",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableNewDsl");
});
it("1. Table Widget Functionality To Check with changing schema of tabledata", () => {
let jsContext = `{{Switch1.isSwitchedOn?[{name: "joe"}]:[{employee_name: "john"}];}}`;
cy.wait(5000);
cy.dragAndDropToCanvas("switchwidget", { x: 200, y: 200 });
cy.wait(2000);
cy.openPropertyPane("tablewidget");
cy.get(".t--property-control-tabledata").then(($el) => {
cy.updateCodeInput($el, jsContext);
});
_.deployMode.DeployApp();
cy.getTableDataSelector("0", "0").then((element) => {
cy.get(element).should("be.visible");
});
cy.readTabledataPublish("0", "0").then((value) => {
expect(value).to.be.equal("joe");
});
cy.get(".t--switch-widget-active").first().click();
cy.get(".t--widget-tablewidget").scrollIntoView();
cy.wait(1000);
cy.getTableDataSelector("0", "0").then((element) => {
cy.get(element).should("be.visible");
});
cy.readTabledataPublish("0", "0").then((value) => {
expect(value).to.be.equal("john");
});
cy.get(".t--switch-widget-inactive").first().click();
cy.wait(1000);
cy.get(".t--widget-tablewidget").scrollIntoView();
cy.getTableDataSelector("0", "0").then((element) => {
cy.get(element).should("be.visible");
});
cy.readTabledataPublish("0", "0").then((value) => {
expect(value).to.be.equal("joe");
});
_.deployMode.NavigateBacktoEditor();
PageLeftPane.switchSegment(PagePaneSegment.UI);
_.entityExplorer.DeleteWidgetFromEntityExplorer("Switch1");
_.entityExplorer.DeleteWidgetFromEntityExplorer("Table1");
});
},
);

View File

@ -1,62 +0,0 @@
import * as _ from "../../../../../support/Objects/ObjectsCore";
const widgetsPage = require("../../../../../locators/Widgets.json");
import { seconds, testTimeout } from "../../../../../support/timeout";
describe(
"Table widget edge case scenario testing",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableWithTextWidgetDsl");
});
it("Check if the selectedRowIndices does not contain 2d array", function () {
testTimeout(seconds(120)); //2mins
cy.openPropertyPane("tablewidget");
//Enable Multi row select
cy.get(widgetsPage.toggleEnableMultirowselection_tablev1)
.first()
.click({ force: true });
//Change the value of default selected row
cy.updateCodeInput(".t--property-control-defaultselectedrow", "1");
//Disable Multi row select
cy.get(widgetsPage.toggleEnableMultirowselection_tablev1)
.first()
.click({ force: true });
cy.get(`${widgetsPage.textWidget} .bp3-ui-text`).should(
"have.text",
"[]",
);
//Enable Multi row select
cy.get(widgetsPage.toggleEnableMultirowselection_tablev1)
.first()
.click({ force: true });
cy.get(`${widgetsPage.textWidget} .bp3-ui-text`).should(
"have.text",
"[ 1]",
);
//Disable Multi row select
cy.get(widgetsPage.toggleEnableMultirowselection_tablev1)
.first()
.click({ force: true });
//Enable Multi row select
cy.get(widgetsPage.toggleEnableMultirowselection_tablev1)
.first()
.click({ force: true });
cy.get(`${widgetsPage.textWidget} .bp3-ui-text`).should(
"have.text",
"[ 1]",
);
});
},
);

View File

@ -1,49 +0,0 @@
const widgetsPage = require("../../../../../locators/Widgets.json");
const commonlocators = require("../../../../../locators/commonlocators.json");
import * as _ from "../../../../../support/Objects/ObjectsCore";
describe(
"Table widget edge case scenario testing",
{ tags: ["@tag.Widget", "@tag.Table", "@tag.Binding"] },
function () {
before(() => {
_.agHelper.AddDsl("tableWithTextWidgetDsl");
});
it("Check if the selectedRowIndices does not contain -1", function () {
cy.openPropertyPane("tablewidget");
//Update the property default selected row to blank
cy.updateCodeInput(".t--property-control-defaultselectedrow", "");
// ensure evaluated value popup does not show up
cy.get(commonlocators.evaluatedCurrentValue).should("not.exist");
//Check the value present in the textfield which is selectedRowIndices is blank
cy.get(`${widgetsPage.textWidget} .bp3-ui-text`).should("have.text", "");
//Enable the "Enable Multi Row selection"
cy.get(widgetsPage.toggleEnableMultirowselection_tablev1)
.first()
.click({ force: true });
//Check the value present in the textfield which is selectedRowIndices is []
cy.get(`${widgetsPage.textWidget} .bp3-ui-text`).should(
"have.text",
"[]",
);
//Select the 1st, 2nd and 3rd row
_.table.SelectTableRow(0);
_.table.SelectTableRow(1);
_.table.SelectTableRow(2);
//Check the value present in the textfield which is selectedRowIndices is [0,1,2]
cy.get(`${widgetsPage.textWidget} .bp3-ui-text`).should(
"have.text",
"[ 0, 1, 2]",
);
});
},
);
//