From a701e5da2877924b328aaa7464c74bbfd90bbb9d Mon Sep 17 00:00:00 2001 From: Arsalan Date: Tue, 21 Mar 2023 18:33:36 +0530 Subject: [PATCH 1/8] feat: upgraded react to version 18. --- app/client/package.json | 7 +++---- app/client/src/index.tsx | 6 ++++-- app/client/yarn.lock | 29 +++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/app/client/package.json b/app/client/package.json index 7bf8fd2f43f7..f95f79218c5e 100644 --- a/app/client/package.json +++ b/app/client/package.json @@ -127,7 +127,7 @@ "rc-select": "^14.1.9", "rc-tree-select": "^5.4.0", "re-reselect": "^3.4.0", - "react": "^17.0.2", + "react": "^18.2.0", "react-append-to-body": "^2.0.26", "react-beautiful-dnd": "^12.2.0", "react-custom-scrollbars": "^4.2.1", @@ -136,7 +136,7 @@ "react-dnd-html5-backend": "^9.3.4", "react-dnd-touch-backend": "^9.4.0", "react-documents": "^1.0.4", - "react-dom": "^17.0.2", + "react-dom": "^18.2.0", "react-full-screen": "^1.1.0", "react-fusioncharts": "^3.1.2", "react-google-recaptcha": "^2.1.0", @@ -194,7 +194,6 @@ "yjs": "^13.5.12", "zipcelx": "^1.6.2" }, - "browserslist": [ ">0.2%", "not dead", @@ -231,7 +230,7 @@ "@types/react": "^17.0.2", "@types/react-beautiful-dnd": "^11.0.4", "@types/react-custom-scrollbars": "^4.0.7", - "@types/react-dom": "^17.0.2", + "@types/react-dom": "^18.0.11", "@types/react-google-recaptcha": "^2.1.1", "@types/react-helmet": "^5.0.14", "@types/react-instantsearch-dom": "^6.3.0", diff --git a/app/client/src/index.tsx b/app/client/src/index.tsx index 3217132747cd..162887bb1b55 100755 --- a/app/client/src/index.tsx +++ b/app/client/src/index.tsx @@ -1,6 +1,6 @@ import React from "react"; import "./wdyr"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { Provider } from "react-redux"; import "./index.css"; import { ThemeProvider } from "styled-components"; @@ -67,7 +67,9 @@ const mapStateToProps = (state: AppState) => ({ const ThemedAppWithProps = connect(mapStateToProps)(ThemedApp); -ReactDOM.render(, document.getElementById("root")); +const container = document.getElementById("root") as HTMLElement; +const root = createRoot(container); +root.render(); // expose store when run in Cypress if ((window as any).Cypress) { diff --git a/app/client/yarn.lock b/app/client/yarn.lock index 3bb378631953..249e1e090588 100644 --- a/app/client/yarn.lock +++ b/app/client/yarn.lock @@ -5834,6 +5834,13 @@ dependencies: "@types/react" "^17" +"@types/react-dom@^18.0.11": + version "18.0.11" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.11.tgz#321351c1459bc9ca3d216aefc8a167beec334e33" + integrity sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw== + dependencies: + "@types/react" "*" + "@types/react-google-recaptcha@^2.1.1": version "2.1.1" resolved "https://registry.npmjs.org/@types/react-google-recaptcha/-/react-google-recaptcha-2.1.1.tgz" @@ -17675,6 +17682,14 @@ react-dom@^17.0.2: object-assign "^4.1.1" scheduler "^0.20.2" +react-dom@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + react-element-to-jsx-string@^14.3.4: version "14.3.4" resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.3.4.tgz#709125bc72f06800b68f9f4db485f2c7d31218a8" @@ -18172,6 +18187,13 @@ react@^17.0.2: loose-envify "^1.1.0" object-assign "^4.1.1" +react@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + read-cache@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" @@ -18984,6 +19006,13 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + schema-utils@2.7.0: version "2.7.0" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" From 9ef390f7a3fa610727045bf6e9007065d06e5dbc Mon Sep 17 00:00:00 2001 From: Arsalan Date: Wed, 22 Mar 2023 10:05:22 +0530 Subject: [PATCH 2/8] feat: updated test renderer library. --- app/client/package.json | 4 ++-- app/client/yarn.lock | 45 ++++++++++++++++++++++++++--------------- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/app/client/package.json b/app/client/package.json index f95f79218c5e..46dc00d7cb96 100644 --- a/app/client/package.json +++ b/app/client/package.json @@ -241,7 +241,7 @@ "@types/react-syntax-highlighter": "^13.5.2", "@types/react-table": "^7.0.13", "@types/react-tabs": "^2.3.1", - "@types/react-test-renderer": "^17.0.1", + "@types/react-test-renderer": "^18.0.0", "@types/react-window": "^1.8.2", "@types/redux-form": "^8.1.9", "@types/redux-mock-store": "^1.0.2", @@ -292,7 +292,7 @@ "prop-types": "^15.8.1", "raw-loader": "^4.0.2", "react-is": "^16.12.0", - "react-test-renderer": "^16.11.0", + "react-test-renderer": "^18.2.0", "redux-devtools": "^3.5.0", "redux-devtools-extension": "^2.13.8", "redux-mock-store": "^1.5.4", diff --git a/app/client/yarn.lock b/app/client/yarn.lock index 249e1e090588..8437d585c6d5 100644 --- a/app/client/yarn.lock +++ b/app/client/yarn.lock @@ -5940,12 +5940,19 @@ dependencies: "@types/react" "*" -"@types/react-test-renderer@>=16.9.0", "@types/react-test-renderer@^17.0.1": +"@types/react-test-renderer@>=16.9.0": version "17.0.1" resolved "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz" dependencies: "@types/react" "*" +"@types/react-test-renderer@^18.0.0": + version "18.0.0" + resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.0.tgz#7b7f69ca98821ea5501b21ba24ea7b6139da2243" + integrity sha512-C7/5FBJ3g3sqUahguGi03O79b8afNeSD6T8/GU50oQrJCU0bVCCGQHaGKUbg2Ce8VQEEqTw8/HiS6lXHHdgkdQ== + dependencies: + "@types/react" "*" + "@types/react-transition-group@*": version "4.4.0" resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.0.tgz" @@ -17792,10 +17799,15 @@ react-is@17.0.2: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^16.12.0, react-is@^16.13.1, react-is@^16.4.2, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.6, react-is@^16.9.0: +react-is@^16.12.0, react-is@^16.13.1, react-is@^16.4.2, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.9.0: version "16.13.1" resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" +"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + react-is@^17.0.1: version "17.0.1" resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz" @@ -18048,6 +18060,14 @@ react-select@^3.0.8: react-input-autosize "^2.2.2" react-transition-group "^4.3.0" +react-shallow-renderer@^16.15.0: + version "16.15.0" + resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" + integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== + dependencies: + object-assign "^4.1.1" + react-is "^16.12.0 || ^17.0.0 || ^18.0.0" + react-side-effect@^1.1.0: version "1.2.0" resolved "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.2.0.tgz" @@ -18095,14 +18115,14 @@ react-tabs@^3.0.0: clsx "^1.1.0" prop-types "^15.5.0" -react-test-renderer@^16.11.0: - version "16.13.1" - resolved "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.13.1.tgz" +react-test-renderer@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.2.0.tgz#1dd912bd908ff26da5b9fca4fd1c489b9523d37e" + integrity sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA== dependencies: - object-assign "^4.1.1" - prop-types "^15.6.2" - react-is "^16.8.6" - scheduler "^0.19.1" + react-is "^18.2.0" + react-shallow-renderer "^16.15.0" + scheduler "^0.23.0" react-textarea-autosize@^8.3.2: version "8.3.4" @@ -18991,13 +19011,6 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" -scheduler@^0.19.1: - version "0.19.1" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz" - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - scheduler@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" From 3e792db89ad6c8e0270f3de0a936683dec015bd5 Mon Sep 17 00:00:00 2001 From: Arsalan Date: Wed, 22 Mar 2023 13:28:23 +0530 Subject: [PATCH 3/8] feat: update react versions in packages. --- app/client/packages/storybook/package.json | 6 +++--- app/client/packages/wds/package.json | 6 +++--- app/client/yarn.lock | 9 +-------- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/app/client/packages/storybook/package.json b/app/client/packages/storybook/package.json index d0ae444d3aec..362f4f00f43e 100644 --- a/app/client/packages/storybook/package.json +++ b/app/client/packages/storybook/package.json @@ -21,7 +21,7 @@ "@storybook/react": "^6.5.16", "@storybook/testing-library": "^0.0.13", "@types/react": "^17.0.2", - "@types/react-dom": "^17.0.2", + "@types/react-dom": "^18.0.11", "autoprefixer": "^9.0.0", "babel-loader": "^8.3.0", "eslint-plugin-storybook": "^0.6.10", @@ -36,8 +36,8 @@ "@capsizecss/metrics": "^1.0.1", "@design-system/wds": "*", "colorjs.io": "^0.4.3", - "react": "^17.0.2", - "react-dom": "^17.0.2" + "react": "^18.2.0", + "react-dom": "^18.2.0" }, "scripts": { "storybook": "start-storybook -p 6006", diff --git a/app/client/packages/wds/package.json b/app/client/packages/wds/package.json index 411bf2fc2778..5d960152f90d 100644 --- a/app/client/packages/wds/package.json +++ b/app/client/packages/wds/package.json @@ -6,14 +6,14 @@ "license": "MIT", "devDependencies": { "@types/react": "^17.0.2", - "@types/react-dom": "^17.0.2" + "@types/react-dom": "^18.0.11" }, "dependencies": { "@capsizecss/core": "^3.1.0", "@capsizecss/metrics": "^1.0.1", "colorjs.io": "^0.4.3", - "react": "^17.0.2", - "react-dom": "^17.0.2" + "react": "^18.2.0", + "react-dom": "^18.2.0" }, "scripts": { "build:tokens": "npx ts-node ./src/utils/buildTokens.ts" diff --git a/app/client/yarn.lock b/app/client/yarn.lock index 8437d585c6d5..d47212a136e7 100644 --- a/app/client/yarn.lock +++ b/app/client/yarn.lock @@ -5827,13 +5827,6 @@ dependencies: "@types/react" "*" -"@types/react-dom@^17.0.2": - version "17.0.18" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.18.tgz#8f7af38f5d9b42f79162eea7492e5a1caff70dc2" - integrity sha512-rLVtIfbwyur2iFKykP2w0pl/1unw26b5td16d5xMgp7/yjTHomkyxPYChFoCr/FtEX1lN9wY6lFj1qvKdS5kDw== - dependencies: - "@types/react" "^17" - "@types/react-dom@^18.0.11": version "18.0.11" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.11.tgz#321351c1459bc9ca3d216aefc8a167beec334e33" @@ -5997,7 +5990,7 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@^17", "@types/react@^17.0.2": +"@types/react@^17.0.2": version "17.0.52" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.52.tgz#10d8b907b5c563ac014a541f289ae8eaa9bf2e9b" integrity sha512-vwk8QqVODi0VaZZpDXQCmEmiOuyjEFPY7Ttaw5vjM112LOq37yz1CDJGrRJwA1fYEq4Iitd5rnjd1yWAc/bT+A== From 25f592caab66c91b9679b7813a14cc15a23f2e8f Mon Sep 17 00:00:00 2001 From: Aishwarya UR Date: Fri, 24 Mar 2023 20:40:14 +0530 Subject: [PATCH 4/8] query rename fix --- app/client/cypress/support/Objects/CommonLocators.ts | 2 ++ app/client/cypress/support/Pages/AggregateHelper.ts | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/client/cypress/support/Objects/CommonLocators.ts b/app/client/cypress/support/Objects/CommonLocators.ts index 5dc292157683..9524c3b0aaab 100644 --- a/app/client/cypress/support/Objects/CommonLocators.ts +++ b/app/client/cypress/support/Objects/CommonLocators.ts @@ -4,6 +4,8 @@ export class CommonLocators { _loading = "#loading"; _spinner = ".bp3-spinner"; _runBtnSpinner = ".cs-spinner"; + _querytargetNameEdit = "div.t--action-name-edit-field"; + _dstargetNameEdit = "div.t--edit-datasource-name"; _queryName = ".t--action-name-edit-field span"; _queryNameTxt = ".t--action-name-edit-field input"; _emptyCanvasCta = "[data-cy='canvas-ctas']"; diff --git a/app/client/cypress/support/Pages/AggregateHelper.ts b/app/client/cypress/support/Pages/AggregateHelper.ts index 16aef5eeaa56..ce31b63ba6d4 100644 --- a/app/client/cypress/support/Pages/AggregateHelper.ts +++ b/app/client/cypress/support/Pages/AggregateHelper.ts @@ -111,9 +111,19 @@ export class AggregateHelper { } public RenameWithInPane(renameVal: string, IsQuery = true) { + const target = IsQuery + ? this.locator._querytargetNameEdit + : this.locator._dstargetNameEdit; const name = IsQuery ? this.locator._queryName : this.locator._dsName; const text = IsQuery ? this.locator._queryNameTxt : this.locator._dsNameTxt; - this.GetNClick(name, 0, true); + this.GetElement(target) + .invoke("attr", "class") + .then((classes: any) => { + if (!classes.includes("bp3-editable-text-editing")) { + this.GetNClick(name, 0, true); + } + }); + cy.get(text) .clear({ force: true }) .type(renameVal, { force: true, delay: 0 }) From cd7f073792accdf86e5002e348f9c30e2da8a380 Mon Sep 17 00:00:00 2001 From: Aishwarya UR Date: Fri, 24 Mar 2023 21:10:01 +0530 Subject: [PATCH 5/8] update --- app/client/packages/wds/package.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/client/packages/wds/package.json b/app/client/packages/wds/package.json index e021246b775d..2575a93eb5f2 100644 --- a/app/client/packages/wds/package.json +++ b/app/client/packages/wds/package.json @@ -11,7 +11,10 @@ }, "devDependencies": { "@types/react": "^17.0.2", - "@types/react-dom": "^18.0.11" + "@types/react-dom": "^18.0.11", + "eslint": "*", + "eslint-plugin-storybook": "^0.6.10", + "prettier": "*" }, "dependencies": { "@capsizecss/core": "^3.1.0", From f9b6804978542a83ce60cb7d2e80908780cca959 Mon Sep 17 00:00:00 2001 From: Aishwarya UR Date: Sat, 25 Mar 2023 00:33:48 +0530 Subject: [PATCH 6/8] Multiple spec fixes --- .../Application/EchoApiCMS_spec.js | 2 +- .../OtherUIFeatures/PageOnLoad_spec.ts | 32 +++++++------- .../Listv2_dataIdentifierProperty_spec.js | 42 ++++++++----------- .../ServerSideTests/QueryPane/Mongo_Spec.ts | 1 + app/client/cypress/support/ApiCommands.js | 5 ++- app/client/cypress/support/Pages/HomePage.ts | 3 +- 6 files changed, 41 insertions(+), 44 deletions(-) diff --git a/app/client/cypress/integration/Regression_TestSuite/Application/EchoApiCMS_spec.js b/app/client/cypress/integration/Regression_TestSuite/Application/EchoApiCMS_spec.js index 2629a298f20e..5cb429c90e50 100644 --- a/app/client/cypress/integration/Regression_TestSuite/Application/EchoApiCMS_spec.js +++ b/app/client/cypress/integration/Regression_TestSuite/Application/EchoApiCMS_spec.js @@ -82,7 +82,7 @@ describe("Content Management System App", function () { .find("textarea") .type("Task completed", { force: true }); cy.get(appPage.confirmButton).closest("div").click({ force: true }); - cy.get(appPage.closeButton).closest("div").click({ force: true }); + cy.get(appPage.closeButton).eq(0).closest("div").click({ force: true }); cy.xpath(appPage.pagebutton).click({ force: true }); //cy.xpath(appPage.datasourcesbutton).click({ force: true }); cy.CheckAndUnfoldEntityItem("Queries/JS"); diff --git a/app/client/cypress/integration/Regression_TestSuite/ClientSideTests/OtherUIFeatures/PageOnLoad_spec.ts b/app/client/cypress/integration/Regression_TestSuite/ClientSideTests/OtherUIFeatures/PageOnLoad_spec.ts index 7a5188b3d366..7d0d9765590a 100644 --- a/app/client/cypress/integration/Regression_TestSuite/ClientSideTests/OtherUIFeatures/PageOnLoad_spec.ts +++ b/app/client/cypress/integration/Regression_TestSuite/ClientSideTests/OtherUIFeatures/PageOnLoad_spec.ts @@ -1,27 +1,25 @@ -const dsl = require("../../../../fixtures/debuggerTableDsl.json"); -const explorer = require("../../../../locators/explorerlocators.json"); -const testdata = require("../../../../fixtures/testdata.json"); -import { ObjectsRegistry } from "../../../../support/Objects/Registry"; - -const debuggerHelper = ObjectsRegistry.DebuggerHelper; +import * as _ from "../../../../support/Objects/ObjectsCore"; describe("Check debugger logs state when there are onPageLoad actions", function () { before(() => { - cy.addDsl(dsl); + cy.fixture("debuggerTableDsl").then((val) => { + _.agHelper.AddDsl(val); + }); }); it("Check debugger logs state when there are onPageLoad actions", function () { - cy.openPropertyPane("tablewidget"); - cy.testJsontext("tabledata", "{{TestApi.data.users}}"); - cy.NavigateToAPI_Panel(); - cy.CreateAPI("TestApi"); - cy.enterDatasourceAndPath(testdata.baseUrl, testdata.methods); - cy.SaveAndRunAPI(); - cy.get(explorer.addWidget).click(); - cy.reload(); + _.entityExplorer.SelectEntityByName("Table1", "Widgets"); + _.propPane.UpdatePropertyFieldValue("Table Data", "{{TestApi.data.users}}"); + cy.fixture("datasources").then((datasourceFormData) => { + _.apiPage.CreateAndFillApi(datasourceFormData["mockApiUrl"], "TestApi"); + }); + _.apiPage.RunAPI(); + //cy.get(explorer.addWidget).click(); + _.agHelper.RefreshPage(); + _.agHelper.AssertElementVisible(_.debuggerHelper.locators._debuggerIcon); // Wait for the debugger icon to be visible cy.get(".t--debugger").should("be.visible"); // debuggerHelper.isErrorCount(0); - cy.wait("@postExecute"); - debuggerHelper.AssertErrorCount(1); + _.agHelper.ValidateNetworkStatus("@postExecute"); + _.debuggerHelper.AssertErrorCount(1); }); }); diff --git a/app/client/cypress/integration/Regression_TestSuite/ClientSideTests/Widgets/ListV2/Listv2_dataIdentifierProperty_spec.js b/app/client/cypress/integration/Regression_TestSuite/ClientSideTests/Widgets/ListV2/Listv2_dataIdentifierProperty_spec.js index 69f511df814c..4539b1db2cf4 100644 --- a/app/client/cypress/integration/Regression_TestSuite/ClientSideTests/Widgets/ListV2/Listv2_dataIdentifierProperty_spec.js +++ b/app/client/cypress/integration/Regression_TestSuite/ClientSideTests/Widgets/ListV2/Listv2_dataIdentifierProperty_spec.js @@ -3,10 +3,9 @@ const simpleListWithLargeDataDSL = require("../../../../../fixtures/Listv2/simpl const ListV2WithNullPrimaryKeyDSL = require("../../../../../fixtures/Listv2/ListV2WithNullPrimaryKey.json"); const widgetsPage = require("../../../../../locators/Widgets.json"); const commonlocators = require("../../../../../locators/commonlocators.json"); -import { ObjectsRegistry } from "../../../../../support/Objects/Registry"; +import * as _ from "../../../../../support/Objects/ObjectsCore"; const propertyControl = ".t--property-control"; -const agHelper = ObjectsRegistry.AggregateHelper; const widgetSelector = (name) => `[data-widgetname-cy="${name}"]`; @@ -43,11 +42,11 @@ const data = [ describe("List v2 - Data Identifier property", () => { beforeEach(() => { - agHelper.RestoreLocalStorageCache(); + _.agHelper.RestoreLocalStorageCache(); }); afterEach(() => { - agHelper.SaveLocalStorageCache(); + _.agHelper.SaveLocalStorageCache(); }); it("1. is present in the property pane", () => { @@ -176,21 +175,18 @@ describe("List v2 - Data Identifier property", () => { it("8. pagination should work for non unique data identifier", () => { cy.get(".rc-pagination").find("a").contains("2").click({ force: true }); - cy.get(widgetsPage.containerWidget).should("have.length", 2); }); it("9. Widgets get displayed when PrimaryKey doesn't exist - SSP", () => { cy.addDsl(ListV2WithNullPrimaryKeyDSL); - cy.createAndFillApi( - "https://api.punkapi.com/v2/beers?page={{List1.pageNo}}&per_page={{List1.pageSize}}", - "", - ); - cy.RunAPI(); - cy.SearchEntityandOpen("List1"); - cy.openPropertyPaneByWidgetName("Text2", "textwidget"); - - cy.testJsontext("text", "{{currentIndex}}"); + _.apiPage.CreateAndFillApi("https://api.punkapi.com/v2/beers?page={{List1.pageNo}}&per_page={{List1.pageSize}}"); + _.apiPage.RunAPI(); + _.entityExplorer.ExpandCollapseEntity("Widgets"); + _.entityExplorer.ExpandCollapseEntity("List1"); + _.entityExplorer.ExpandCollapseEntity("Container1"); + _.entityExplorer.SelectEntityByName("Text2"); + _.propPane.UpdatePropertyFieldValue("Text", "{{currentIndex}}") cy.get(`${widgetSelector("Text2")} ${commonlocators.bodyTextStyle}`) .first() @@ -207,9 +203,11 @@ describe("List v2 - Data Identifier property", () => { }); it("10. Widgets get displayed when PrimaryKey doesn't exist - Client-Side Pagination", () => { - cy.openPropertyPaneByWidgetName("Text4", "textwidget"); - - cy.testJsontext("text", "{{currentIndex}}"); + _.entityExplorer.ExpandCollapseEntity("Widgets"); + _.entityExplorer.ExpandCollapseEntity("List2"); + _.entityExplorer.ExpandCollapseEntity("Container2"); + _.entityExplorer.SelectEntityByName("Text4"); + _.propPane.UpdatePropertyFieldValue("Text", "{{currentIndex}}") cy.get(`${widgetSelector("Text4")} ${commonlocators.bodyTextStyle}`) .first() @@ -233,14 +231,10 @@ describe("List v2 - Data Identifier property", () => { }); it("11. Non unique data identifier should throw error- (data type issue)", () => { - cy.openPropertyPaneByWidgetName("List2", "listwidgetv2"); - - testJsontextClear("items"); - - cy.testJsontext("items", JSON.stringify(data)); - + _.entityExplorer.SelectEntityByName("List2"); + _.propPane.UpdatePropertyFieldValue("Items", JSON.stringify(data)); + _.propPane.UpdatePropertyFieldValue("Data Identifier", ""); // clicking on the data identifier dropdown - testJsontextClear("dataidentifier"); cy.get(`${propertyControl}-dataidentifier`) .find(".t--js-toggle") .click({ force: true }); diff --git a/app/client/cypress/integration/Regression_TestSuite/ServerSideTests/QueryPane/Mongo_Spec.ts b/app/client/cypress/integration/Regression_TestSuite/ServerSideTests/QueryPane/Mongo_Spec.ts index 38e0c3d1e3b3..74443b767e3e 100644 --- a/app/client/cypress/integration/Regression_TestSuite/ServerSideTests/QueryPane/Mongo_Spec.ts +++ b/app/client/cypress/integration/Regression_TestSuite/ServerSideTests/QueryPane/Mongo_Spec.ts @@ -36,6 +36,7 @@ describe("Validate Mongo Query Pane Validations", () => { dataSources.CreateDataSource("Mongo", false); agHelper.ValidateNetworkStatus("@getDatasourceStructure"); //Making sure table dropdown is populated + agHelper.Sleep(); agHelper.GetNClick(dataSources._selectTableDropdown); agHelper.GetNClickByContains(dataSources._dropdownOption, "friends"); diff --git a/app/client/cypress/support/ApiCommands.js b/app/client/cypress/support/ApiCommands.js index 03a83af4f04e..a83aad8e40d2 100644 --- a/app/client/cypress/support/ApiCommands.js +++ b/app/client/cypress/support/ApiCommands.js @@ -9,6 +9,9 @@ const commonlocators = require("../locators/commonlocators.json"); const apiwidget = require("../locators/apiWidgetslocator.json"); const explorer = require("../locators/explorerlocators.json"); +import { ObjectsRegistry } from "../support/Objects/Registry"; +let agHelper = ObjectsRegistry.AggregateHelper; + export const initLocalstorage = () => { cy.window().then((window) => { window.localStorage.setItem("ShowCommentsButtonToolTip", ""); @@ -59,7 +62,7 @@ Cypress.Commands.add("CreateAPI", (apiname) => { cy.wait("@createNewApi"); cy.get(apiwidget.resourceUrl).should("be.visible"); if (apiname) { - cy.renameWithInPane(apiname); + agHelper.RenameWithInPane(apiname); cy.WaitAutoSave(); } // Added because api name edit takes some time to diff --git a/app/client/cypress/support/Pages/HomePage.ts b/app/client/cypress/support/Pages/HomePage.ts index f0f03fff909b..78e107bdcd1c 100644 --- a/app/client/cypress/support/Pages/HomePage.ts +++ b/app/client/cypress/support/Pages/HomePage.ts @@ -154,7 +154,8 @@ export class HomePage { this.agHelper.AssertElementVisible(this._workspaceList(workspaceName)); this.agHelper.GetNClick(this._shareWorkspace(workspaceName), 0, true); cy.xpath(this._email).click({ force: true }).type(email); - cy.xpath(this._selectRole).first().click({ force: true }); + this.agHelper.PressEnter(); + cy.xpath(this._selectRole).first().click(); this.agHelper.Sleep(500); cy.xpath(this._userRole(role)).click({ force: true }); this.agHelper.ClickButton("Invite"); From 4ad977be768cbfb5829ee938b972516e4cb67f3a Mon Sep 17 00:00:00 2001 From: Aishwarya UR Date: Sat, 25 Mar 2023 00:51:37 +0530 Subject: [PATCH 7/8] formatted --- .../Widgets/ListV2/Listv2_dataIdentifierProperty_spec.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/client/cypress/integration/Regression_TestSuite/ClientSideTests/Widgets/ListV2/Listv2_dataIdentifierProperty_spec.js b/app/client/cypress/integration/Regression_TestSuite/ClientSideTests/Widgets/ListV2/Listv2_dataIdentifierProperty_spec.js index 4539b1db2cf4..6a96963aa538 100644 --- a/app/client/cypress/integration/Regression_TestSuite/ClientSideTests/Widgets/ListV2/Listv2_dataIdentifierProperty_spec.js +++ b/app/client/cypress/integration/Regression_TestSuite/ClientSideTests/Widgets/ListV2/Listv2_dataIdentifierProperty_spec.js @@ -180,13 +180,15 @@ describe("List v2 - Data Identifier property", () => { it("9. Widgets get displayed when PrimaryKey doesn't exist - SSP", () => { cy.addDsl(ListV2WithNullPrimaryKeyDSL); - _.apiPage.CreateAndFillApi("https://api.punkapi.com/v2/beers?page={{List1.pageNo}}&per_page={{List1.pageSize}}"); + _.apiPage.CreateAndFillApi( + "https://api.punkapi.com/v2/beers?page={{List1.pageNo}}&per_page={{List1.pageSize}}", + ); _.apiPage.RunAPI(); _.entityExplorer.ExpandCollapseEntity("Widgets"); _.entityExplorer.ExpandCollapseEntity("List1"); _.entityExplorer.ExpandCollapseEntity("Container1"); _.entityExplorer.SelectEntityByName("Text2"); - _.propPane.UpdatePropertyFieldValue("Text", "{{currentIndex}}") + _.propPane.UpdatePropertyFieldValue("Text", "{{currentIndex}}"); cy.get(`${widgetSelector("Text2")} ${commonlocators.bodyTextStyle}`) .first() @@ -207,7 +209,7 @@ describe("List v2 - Data Identifier property", () => { _.entityExplorer.ExpandCollapseEntity("List2"); _.entityExplorer.ExpandCollapseEntity("Container2"); _.entityExplorer.SelectEntityByName("Text4"); - _.propPane.UpdatePropertyFieldValue("Text", "{{currentIndex}}") + _.propPane.UpdatePropertyFieldValue("Text", "{{currentIndex}}"); cy.get(`${widgetSelector("Text4")} ${commonlocators.bodyTextStyle}`) .first() From e75cc5c3c572ccdd3518c56448921bbabab2f155 Mon Sep 17 00:00:00 2001 From: Aishwarya UR Date: Sat, 25 Mar 2023 02:06:25 +0530 Subject: [PATCH 8/8] revert this once all specs are fixed --- app/client/cypress_ci.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/client/cypress_ci.json b/app/client/cypress_ci.json index 9ad65f1668ed..a4c1d982da89 100644 --- a/app/client/cypress_ci.json +++ b/app/client/cypress_ci.json @@ -17,7 +17,7 @@ "viewportHeight": 1100, "viewportWidth": 1400, "retries": { - "runMode": 1, + "runMode": 0, "openMode": 0 } }