This is an automated email from the ASF dual-hosted git repository.

porcelli pushed a commit to branch KOGITO-8015-feature-preview
in repository 
https://gitbox.apache.org/repos/asf/incubator-kie-tools-temporary-rnd-do-not-use.git

commit 1e1e5ebb9a31be388be78dd94a32426cf1214bdf
Author: Fabrizio Antonangeli <[email protected]>
AuthorDate: Tue May 23 21:51:41 2023 +0200

    KOGITO-8475: Adapt existing integration tests with new UI (#1661)
---
 .../it-tests/e2e/CreateNewFile.cy.ts               |  2 +-
 .../it-tests/e2e/RecentModel.cy.ts                 | 27 ++++++++--------------
 .../it-tests/support/commands.ts                   | 16 +++++++++++++
 .../it-tests/support/e2e.ts                        |  9 ++++++++
 packages/serverless-logic-web-tools/package.json   |  3 +--
 .../src/homepage/overView/NewModelCard.tsx         |  2 +-
 .../src/homepage/overView/Overview.tsx             |  2 +-
 .../src/homepage/pageTemplate/OnlineEditorPage.tsx |  4 +++-
 .../src/homepage/uiNav/HomePageNav.tsx             | 15 ++++++++++--
 9 files changed, 55 insertions(+), 25 deletions(-)

diff --git 
a/packages/serverless-logic-web-tools/it-tests/e2e/CreateNewFile.cy.ts 
b/packages/serverless-logic-web-tools/it-tests/e2e/CreateNewFile.cy.ts
index 69906ae52f..fc0202a150 100644
--- a/packages/serverless-logic-web-tools/it-tests/e2e/CreateNewFile.cy.ts
+++ b/packages/serverless-logic-web-tools/it-tests/e2e/CreateNewFile.cy.ts
@@ -28,7 +28,7 @@ describe("Serverless Logic Web Tools - Create and edit test", 
() => {
     cy.ouia({ ouiaId: "new-yard.yaml-button" }).should("have.text", "YAML");
 
     cy.ouia({ ouiaId: "Dashboard-card" }).find("button").should("have.length", 
1);
-    cy.ouia({ ouiaId: "new-dash.yaml-button" }).should("have.text", "New 
Dashboard");
+    cy.ouia({ ouiaId: "new-dash.yaml-button" }).should("have.text", "YAML");
   });
 
   it("should create a new JSON serverless workflow", () => {
diff --git a/packages/serverless-logic-web-tools/it-tests/e2e/RecentModel.cy.ts 
b/packages/serverless-logic-web-tools/it-tests/e2e/RecentModel.cy.ts
index 828904b575..55e6302268 100644
--- a/packages/serverless-logic-web-tools/it-tests/e2e/RecentModel.cy.ts
+++ b/packages/serverless-logic-web-tools/it-tests/e2e/RecentModel.cy.ts
@@ -13,8 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+import { deleteAllIndexedDBs } from "../support/e2e";
+
 describe("Serverless Logic Web Tools - Recent model test", () => {
   beforeEach(() => {
+    deleteAllIndexedDBs();
     cy.visit("/");
   });
 
@@ -39,8 +42,10 @@ describe("Serverless Logic Web Tools - Recent model test", 
() => {
 
     // open again from main page
     cy.ouia({ ouiaId: "app-title" }).click();
-    cy.ouia({ ouiaId: "recent-models-section" })
-      .find("article h3")
+    cy.goToSidebarLink({ ouiaId: "recent-models-nav" });
+
+    cy.ouia({ ouiaId: "OUIA-Generated-TableRow-2" })
+      .find("[data-label='Name'] > a")
       .eq(0)
       .should(($item) => expect($item.text().trim()).equal("testJsonFile"))
       .click();
@@ -56,20 +61,8 @@ describe("Serverless Logic Web Tools - Recent model test", 
() => {
     cy.ouia({ ouiaId: "kebab-sm" }).click();
     cy.ouia({ ouiaId: "delete-file-button" }).click();
 
-    // check the file is deleted (recent section is emtpy or the first item is 
not the file)
-    // cypress currently does not allow to clean browser db
-    cy.ouia({ ouiaId: "recent-models-section-body" })
-      .children()
-      .then(($div) => {
-        if ($div.hasClass("pf-l-bullseye")) {
-          cy.ouia({ ouiaId: "empty-recent-models-title" }).should("have.text", 
"Nothing here");
-        } else {
-          cy.ouia({ ouiaId: "recent-models-section" })
-            .find("article h3")
-            .eq(0)
-            .should(($item) => 
expect($item.text().trim()).not.equal("testJsonFile"))
-            .click();
-        }
-      });
+    // check the file is deleted (recent section is emtpy)
+    cy.goToSidebarLink({ ouiaId: "recent-models-nav" });
+    cy.get(".pf-l-bullseye").should("contain.text", "Nothing here");
   });
 });
diff --git a/packages/serverless-logic-web-tools/it-tests/support/commands.ts 
b/packages/serverless-logic-web-tools/it-tests/support/commands.ts
index fce89fa5be..9010d4aa90 100644
--- a/packages/serverless-logic-web-tools/it-tests/support/commands.ts
+++ b/packages/serverless-logic-web-tools/it-tests/support/commands.ts
@@ -39,6 +39,12 @@ declare namespace Cypress {
      * @param opts optional - config object
      */
     ouia<S = any>(locator: { ouiaType?: string; ouiaId?: string }, opts?: 
Record<string, any>): Chainable<S>;
+
+    /**
+     * Go to a link in the sidebar menu
+     * @param locator component id according to OUIA specification
+     */
+    goToSidebarLink(locator: { ouiaId: string }): void;
   }
 }
 
@@ -85,3 +91,13 @@ Cypress.Commands.add("ouia", { prevSubject: "optional" }, 
(subject, locator, opt
     cy.get(selector, options);
   }
 });
+
+Cypress.Commands.add("goToSidebarLink", { prevSubject: false }, (locator) => {
+  cy.get("#page-sidebar").then((pageSidebar) => {
+    if (!pageSidebar.is(":visible")) {
+      cy.get("#nav-toggle").click();
+    }
+    cy.ouia({ ouiaId: locator.ouiaId }).click();
+    cy.get("#nav-toggle").click();
+  });
+});
diff --git a/packages/serverless-logic-web-tools/it-tests/support/e2e.ts 
b/packages/serverless-logic-web-tools/it-tests/support/e2e.ts
index 7ae78aa6e8..a96aa28cc6 100644
--- a/packages/serverless-logic-web-tools/it-tests/support/e2e.ts
+++ b/packages/serverless-logic-web-tools/it-tests/support/e2e.ts
@@ -23,3 +23,12 @@ Cypress.on("uncaught:exception", (err, runnable) => {
   // failing the test
   return false;
 });
+
+/**
+ * Delete all indexed DBs
+ */
+export const deleteAllIndexedDBs = async () => {
+  Promise.all(
+    (await indexedDB.databases()).filter((db) => db.name).map(async (db) => 
indexedDB.deleteDatabase(db.name!))
+  );
+};
diff --git a/packages/serverless-logic-web-tools/package.json 
b/packages/serverless-logic-web-tools/package.json
index a37ebbafa6..b80490fa23 100644
--- a/packages/serverless-logic-web-tools/package.json
+++ b/packages/serverless-logic-web-tools/package.json
@@ -16,10 +16,9 @@
   "main": "dist/index.js",
   "scripts": {
     "build:dev": "rimraf dist && webpack --env dev",
-    "build:prod": "pnpm lint && pnpm test && rimraf dist && webpack",
+    "build:prod": "pnpm lint && pnpm test && rimraf dist && webpack && pnpm 
test:it",
     "cy:open": "cypress open --project it-tests --config baseUrl=$(build-env 
serverlessLogicWebTools.dev.cypressUrl)",
     "cy:run": "cypress run --headed -b chrome --project it-tests --config 
baseUrl=$(build-env serverlessLogicWebTools.dev.cypressUrl)",
-    "format": "prettier --write  './src/**/*.{tsx,ts,js}'",
     "lint": "run-script-if --bool \"$(build-env linters.run)\" --then 
\"kie-tools--eslint ./src\"",
     "postreport": "jrm ./dist-it-tests/junit-transformed.xml 
\"./dist-it-tests/junit-report*.xml\"",
     "start": "webpack serve --host 0.0.0.0 --env dev",
diff --git 
a/packages/serverless-logic-web-tools/src/homepage/overView/NewModelCard.tsx 
b/packages/serverless-logic-web-tools/src/homepage/overView/NewModelCard.tsx
index a9ac11041a..6fb9833fd5 100644
--- a/packages/serverless-logic-web-tools/src/homepage/overView/NewModelCard.tsx
+++ b/packages/serverless-logic-web-tools/src/homepage/overView/NewModelCard.tsx
@@ -40,7 +40,7 @@ export function NewModelCard(props: {
 
   return (
     <GridItem sm={12} md={4}>
-      <Card isFullHeight={true} isPlain={true} isCompact={true}>
+      <Card isFullHeight={true} isPlain={true} isCompact={true} 
ouiaId={`${props.title}-card`}>
         <CardTitle>
           <FileLabel style={{ fontSize: "0.6em" }} extension={(jsonExtension 
|| yamlExtension)!} />
         </CardTitle>
diff --git 
a/packages/serverless-logic-web-tools/src/homepage/overView/Overview.tsx 
b/packages/serverless-logic-web-tools/src/homepage/overView/Overview.tsx
index 62f2bc857e..b7f2758749 100644
--- a/packages/serverless-logic-web-tools/src/homepage/overView/Overview.tsx
+++ b/packages/serverless-logic-web-tools/src/homepage/overView/Overview.tsx
@@ -149,7 +149,7 @@ export function Overview(props: { isNavOpen: boolean }) {
                   />
                   <NewModelCard
                     title={"Dashboard"}
-                    yamlExtension={FileTypes.DASH_YML}
+                    yamlExtension={FileTypes.DASH_YAML}
                     description={"Define data visualization from data 
extracted from applications."}
                   />
                 </Grid>
diff --git 
a/packages/serverless-logic-web-tools/src/homepage/pageTemplate/OnlineEditorPage.tsx
 
b/packages/serverless-logic-web-tools/src/homepage/pageTemplate/OnlineEditorPage.tsx
index 733cf4dd84..e4b162b10b 100644
--- 
a/packages/serverless-logic-web-tools/src/homepage/pageTemplate/OnlineEditorPage.tsx
+++ 
b/packages/serverless-logic-web-tools/src/homepage/pageTemplate/OnlineEditorPage.tsx
@@ -125,7 +125,9 @@ export function OnlineEditorPage(props: 
OnlineEditorPageProps) {
           style={{ textDecoration: "none" }}
         >
           <Brand className="kogito-tools-common--brand" src="favicon.svg" 
alt="Kie logo"></Brand>
-          <div className="brand-name">{APP_NAME}</div>
+          <div className="brand-name" data-ouia-component-id="app-title">
+            {APP_NAME}
+          </div>
         </MastheadBrand>
       </MastheadMain>
       <MastheadContent>{headerToolbar}</MastheadContent>
diff --git 
a/packages/serverless-logic-web-tools/src/homepage/uiNav/HomePageNav.tsx 
b/packages/serverless-logic-web-tools/src/homepage/uiNav/HomePageNav.tsx
index dca5bfeac4..f5c665beb0 100644
--- a/packages/serverless-logic-web-tools/src/homepage/uiNav/HomePageNav.tsx
+++ b/packages/serverless-logic-web-tools/src/homepage/uiNav/HomePageNav.tsx
@@ -26,7 +26,12 @@ export function HomePageNav(props: { pathname: string }) {
     <>
       <Nav aria-label="Global NAV" theme="dark">
         <NavList>
-          <NavItem itemId={0} key={"Overview-nav"} isActive={props.pathname 
=== routes.home.path({})}>
+          <NavItem
+            itemId={0}
+            key={"Overview-nav"}
+            isActive={props.pathname === routes.home.path({})}
+            ouiaId="overview-nav"
+          >
             <Link to={routes.home.path({})}>Overview</Link>
           </NavItem>
 
@@ -38,11 +43,17 @@ export function HomePageNav(props: { pathname: string }) {
               matchPath(props.pathname, { path: 
routes.workspaceWithFiles.path({ workspaceId: ":workspaceId" }) })
                 ?.isExact
             }
+            ouiaId="recent-models-nav"
           >
             <Link to={routes.recentModels.path({})}>Recent Models</Link>
           </NavItem>
 
-          <NavItem itemId={2} key={"SampleCatalog-nav"} 
isActive={props.pathname === routes.sampleCatalog.path({})}>
+          <NavItem
+            itemId={2}
+            key={"SampleCatalog-nav"}
+            isActive={props.pathname === routes.sampleCatalog.path({})}
+            ouiaId="samples-catalog-nav"
+          >
             <Link to={routes.sampleCatalog.path({})}>Sample Catalog</Link>
           </NavItem>
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to