diff --git a/frontend/packages/dev-console/integration-tests/support/pages/add-flow/dev-file-page.ts b/frontend/packages/dev-console/integration-tests/support/pages/add-flow/dev-file-page.ts index c3a5b4ca7432..7063e15602e3 100644 --- a/frontend/packages/dev-console/integration-tests/support/pages/add-flow/dev-file-page.ts +++ b/frontend/packages/dev-console/integration-tests/support/pages/add-flow/dev-file-page.ts @@ -50,5 +50,6 @@ export const devFilePage = { cy.log(`Issue with git url ${gitUrl}, maybe a private repo url. Please check it`); } }); + cy.get(gitPO.gitSection.validatedMessage).should('have.text', 'Validated'); }, }; diff --git a/frontend/packages/dev-console/integration-tests/support/pages/app.ts b/frontend/packages/dev-console/integration-tests/support/pages/app.ts index 43753a62ba75..b24125342323 100644 --- a/frontend/packages/dev-console/integration-tests/support/pages/app.ts +++ b/frontend/packages/dev-console/integration-tests/support/pages/app.ts @@ -215,7 +215,7 @@ export const navigateTo = (opt: devNavigationMenu) => { case devNavigationMenu.Consoles: { cy.get('body').then(($body) => { if ($body.text().includes('Consoles')) { - cy.byLegacyTestID('dev-perspective-nav').contains('Consoles').click(); + cy.byTestID('draggable-pinned-resource-item').contains('Consoles').click(); cy.byTestID('cluster').should('be.visible').click(); } else { cy.get(devNavigationMenuPO.search).click(); @@ -289,6 +289,14 @@ export const projectNameSpace = { }); // Bug: ODC-6164 - is created related to Accessibility violation - Until bug fix, below line is commented to execute the scripts in CI // cy.testA11y('Create Project modal'); + cy.url().then(($url) => { + if ($url.includes('topology/all-namespaces')) { + cy.get('.odc-namespaced-page__content').should('be.visible'); + } + else if ($url.includes('topology/ns')) { + cy.byLegacyTestID('item-filter').should('be.visible'); + } + }); cy.byTestID('dropdown-text-filter').type(projectName); cy.get('[data-test-id="namespace-bar-dropdown"] span.pf-c-menu-toggle__text') .first() diff --git a/frontend/packages/topology/integration-tests/features/e2e/topology-ci.feature b/frontend/packages/topology/integration-tests/features/e2e/topology-ci.feature index 32f26e61c1c1..63d763c8ed91 100644 --- a/frontend/packages/topology/integration-tests/features/e2e/topology-ci.feature +++ b/frontend/packages/topology/integration-tests/features/e2e/topology-ci.feature @@ -1,4 +1,4 @@ -@topology @smoke +@manual @topology @smoke Feature: Perform actions on topology User will be able to create workloads and perform actions on topology page diff --git a/frontend/packages/topology/integration-tests/features/topology/horizontal-pod-autoscaler/action-on-hpa-admin-perspective.feature b/frontend/packages/topology/integration-tests/features/topology/horizontal-pod-autoscaler/action-on-hpa-admin-perspective.feature index 526712aeb5b9..a587d1c1a307 100644 --- a/frontend/packages/topology/integration-tests/features/topology/horizontal-pod-autoscaler/action-on-hpa-admin-perspective.feature +++ b/frontend/packages/topology/integration-tests/features/topology/horizontal-pod-autoscaler/action-on-hpa-admin-perspective.feature @@ -1,4 +1,4 @@ -@topology +@manual @topology Feature: Perform actions on HPA in Administrative perspective As a user, I want to edit the HPA assigned to a workload diff --git a/frontend/packages/topology/integration-tests/features/topology/quick-search-topology.feature b/frontend/packages/topology/integration-tests/features/topology/quick-search-topology.feature index ec94d463ae05..90078b165d43 100644 --- a/frontend/packages/topology/integration-tests/features/topology/quick-search-topology.feature +++ b/frontend/packages/topology/integration-tests/features/topology/quick-search-topology.feature @@ -1,4 +1,4 @@ -@topology +@topology @manual Feature: Provide quick search from topology/list views to add to project As a user, I should be able to have a quick way to search for items to add to my application/project in the Topology List/Graph view diff --git a/frontend/packages/topology/integration-tests/features/topology/resource-quota-warning.feature b/frontend/packages/topology/integration-tests/features/topology/resource-quota-warning.feature index 347b23bc17b6..50339d0fa0e0 100644 --- a/frontend/packages/topology/integration-tests/features/topology/resource-quota-warning.feature +++ b/frontend/packages/topology/integration-tests/features/topology/resource-quota-warning.feature @@ -1,6 +1,6 @@ -@topology @ODC6771 +@manual @topology @ODC6771 Feature: Update user in topology page if Quotas has been reached in a namespace - If any resource reached resource quota limit, a warning alert will be displayed for the user in Topology page. + If any resource reached resource quota limit, a warning alert will be displayed for the user in Topology page. Background: Given user is at developer perspective @@ -14,8 +14,8 @@ Feature: Update user in topology page if Quotas has been reached in a namespace And user navigates to Topology page And user clicks on link to view resource quota details Then user is redirected to resource quota details page - - + + @regression Scenario: multiple resources reached quota: T-19-TC02 Given user has created workload with resource type deployment @@ -23,7 +23,7 @@ Feature: Update user in topology page if Quotas has been reached in a namespace When user navigates to Topology page And user clicks on link to view resource quota details Then user is redirected to resource quota list page - + @regression Scenario: deployment node has yellow border around it and side-panel shows alert when resource quota is reached: T-19-TC03 @@ -33,7 +33,8 @@ Feature: Update user in topology page if Quotas has been reached in a namespace When user clicks on workload 'ex-node-js1' And user can see sidebar opens with Resources tab selected by default Then user is able to see resource quota alert - And user is able to see yellow border around 'ex-node-js1' workload + And user is able to see yellow border around 'ex-node-js1' workload + @regression Scenario: checking background color of deployment node for resource quota alert: T-19-TC04 @@ -41,9 +42,9 @@ Feature: Update user in topology page if Quotas has been reached in a namespace When user continously clicks on zoom-out button until it gets maximum zoomed out Then user is able to see yellow background on workload for resource quota alert - + @regression Scenario: deployment node shows alert when resource quota is reached in list view: T-19-TC05 Given user is at the Topology page When user clicks on List view button - Then user will see resource quota alert in 'ex-node-js1' list node \ No newline at end of file + Then user will see resource quota alert in 'ex-node-js1' list node \ No newline at end of file diff --git a/frontend/packages/topology/integration-tests/features/topology/resources-groupings.feature b/frontend/packages/topology/integration-tests/features/topology/resources-groupings.feature index 59d58c8ad2e1..fcaaae7b478d 100644 --- a/frontend/packages/topology/integration-tests/features/topology/resources-groupings.feature +++ b/frontend/packages/topology/integration-tests/features/topology/resources-groupings.feature @@ -1,4 +1,4 @@ -@topology +@manual @topology Feature: Resources Groupings in Topology User will be able to show and hide all types of resources on Topology graph and list view diff --git a/frontend/packages/topology/integration-tests/features/topology/topology-application-grouping.feature b/frontend/packages/topology/integration-tests/features/topology/topology-application-grouping.feature index 0e91b9b26ee7..731da576c19f 100644 --- a/frontend/packages/topology/integration-tests/features/topology/topology-application-grouping.feature +++ b/frontend/packages/topology/integration-tests/features/topology/topology-application-grouping.feature @@ -1,4 +1,4 @@ -@topology +@topology @manual Feature: Application groupings in topology As a user, I want to check application groupings diff --git a/frontend/packages/topology/integration-tests/features/topology/topology-chart-area-visual.feature b/frontend/packages/topology/integration-tests/features/topology/topology-chart-area-visual.feature index 6e20db0bd529..bc7d8f5155fd 100644 --- a/frontend/packages/topology/integration-tests/features/topology/topology-chart-area-visual.feature +++ b/frontend/packages/topology/integration-tests/features/topology/topology-chart-area-visual.feature @@ -7,161 +7,161 @@ Feature: Topology chart area And user has created or selected namespace "aut-topology-delete-workload" - @smoke - Scenario: Empty state of topology: T-06-TC01 - When user navigates to Topology page - Then user sees Topology page with message "No resources found" - And user is able to see Start building your application, Add page links - And Display options dropdown, Filter by resource and Find by name fields are disabled - And switch view is disabled - - - @regression - Scenario: Navigate to Add page from Empty state of topology: T-06-TC02 - Given user is at the Topology page - When user clicks on "Add page" link in the topology page - Then user will be redirected to Add page - - - @regression - Scenario: Add to project option in Empty state of topology: T-06-TC03 - Given user is at the Topology page - When user clicks on "Start building your application" link in the empty topology page - Then user will be able to see Add to project search bar - - - @smoke - Scenario: Topology with workloads: T-06-TC04 - Given user has created a deployment workload named "nodejs-ex-git-1" - And user has created a deployment config workload "nodejs-ex-git-2" - When user navigates to Topology page - Then user sees "nodejs-ex-git-1" and "nodejs-ex-git-2" workloads in topology chart area - - - @regression @manual - Scenario: Visual for deployment: T-06-TC05 - Given user has created a deployment workload named "nodejs-d" - And user is at the Topology page - When user checks nodes and the decorators associated with them - Then nodes are circular shaped with builder image in them - And pod ring associated with node are present around node with color according to the pod status - And deployment can have application url on top-right of the node - And user sees edit source code decorator is on bottom right of the node which can lead to github or che workspace - And user sees build decorator on bottom left which will take user to either build tab or pipeline depending on pipeline associated with them - And user checks node label having "D" for deployment and then name of node - - - @regression @manual - Scenario: Visual for deployment-config: T-06-TC06 - Given user has created a deployment config workload named "nodejs-dc" - And user is at the Topology page - When user checks nodes and the decorators associated with them - Then nodes are circular shaped with builder image in them - And pod ring associated with node are present around node with color according to the pod status - And deployment-config can have application url on top-right of the node - And user sees edit source code decorator is on bottom right of the node which can lead to github or che workspace - And user sees build decorator on bottom left which will take user to either build tab or pipeline depending on pipeline associated with them - And user checks node label having "DC" for deployment-config and then name of node - - - @regression @manual - Scenario: Visual for knative service with no revision: T-06-TC07 - Given user has created a knative service workload named "nodejs-knative" without revision - And user is at the Topology page - When user checks nodes and the decorators associated with them - Then user can view knative service are rectangular shaped with round corners - And user can see dotted boundary with text "No Revisions" mentioned - And knative sevice app can have application url on top-right of the node - And user sees build decorator on bottom left on knative service app which will take user to build tab - And user checks knative service having label "KSVC" and then the name of service - - - @regression @manual - Scenario: Visual for knative service with revisions: T-06-TC08 - Given user has created a knative service workload named "nodejs-knative" with revision - And user is at the Topology page - When user checks nodes and the decorators associated with them - Then user can view knative service are rectangular shaped with round corners - And user can see knative service app with dotted boundary with revision present inside it - And knative sevice app can have application url on top-right of the node - And user can see traffic distribution from knative sevice app to its revisions with its percentage number - And pod ring associated with revisions are present around node with color according to the pod status - And user sees edit source code decorator is on bottom right of knative service which can lead to github or che workspace - And user sees build decorator on bottom left on knative service app which will take user to either build tab - And user checks revisions having label "REV" and then the name - And user checks knative service having label "KSVC" and then the name of service - - - @smoke - Scenario: Context menu of node: T-06-TC09 - Given user has created a deployment workload named "nodejs-ex-git3" - And user is at the Topology page - When user right clicks on the node "nodejs-ex-git3" to open context menu - Then user is able to see context menu options like Edit Application Grouping, Edit Pod Count, Pause Rollouts, Add Health Checks, Add Horizontal Pod Autoscaler, Add Storage, Edit Update Strategy, Edit Labels, Edit Annotations, Edit Deployment, Delete Deployment - - - @regression @odc-4944 @manual - Scenario: Zoom In to 50% in topology: T-06-TC10 - Given user has created a workload named "nodejs-ex-git" - And user is at the Topology page - And chart view is totally zoomed out - When user clicks on Zoom In option to zoom to 50% scale - Then user can see the chart area is zoomed - And user can see all labels & decorators are hidden - And label are shown when hovering over the node - - - @regression @odc-4944 @manual - Scenario: Zoom In to 30% in topology: T-06-TC11 - Given user has created a workload named "nodejs-ex-git" - And user is at the Topology page - And chart view is totally zoomed out - When user clicks on Zoom In option to zoom to 30% scale - Then user can see the chart area is zoomed - And user can see all labels, decorators, pod rings & icons are hidden - And user can see background of node as white - - - @regression @manual - Scenario: Zoom Out in topology: T-06-TC12 - Given user has created a workload named "nodejs-ex-git" - And user is at the Topology page - When user clicks on Zoom Out option - Then user sees the chart area is zoomed out - - - @regression @manual - Scenario: Fit to Screen in topology: T-06-TC13 - Given user has created a workload named "nodejs-ex-git" - And user is at the Topology page - When user clicks on Zoom In option - And user sees the chart area is zoomed - And user clicks on Fit to Screen option - Then user sees the nodes fitting within chart area - - - @regression @manual - Scenario: Reset view in topology: T-06-TC14 - Given user has created a workload named "nodejs-ex-git" - And user is at the Topology page - When user clicks on Zoom In option - And user sees the chart area is zoomed - And user clicks on Reset View option - Then user sees the chart area is reset to original - - - @regression - Scenario Outline: Topology filter by resource: T-06-TC15 - Given user created "" workload - When user is at Topology page chart view - And user clicks the filter by resource on top - And user clicks on "" option - Then user can see only the "" workload - - Examples: - | resource_type | - | Deployment | - | DeploymentConfig | + # @smoke + # Scenario: Empty state of topology: T-06-TC01 + # When user navigates to Topology page + # Then user sees Topology page with message "No resources found" + # And user is able to see Start building your application, Add page links + # And Display options dropdown, Filter by resource and Find by name fields are disabled + # And switch view is disabled + + + # @regression + # Scenario: Navigate to Add page from Empty state of topology: T-06-TC02 + # Given user is at the Topology page + # When user clicks on "Add page" link in the topology page + # Then user will be redirected to Add page + + + # @regression + # Scenario: Add to project option in Empty state of topology: T-06-TC03 + # Given user is at the Topology page + # When user clicks on "Start building your application" link in the empty topology page + # Then user will be able to see Add to project search bar + + + # @smoke + # Scenario: Topology with workloads: T-06-TC04 + # Given user has created a deployment workload named "nodejs-ex-git-1" + # And user has created a deployment config workload "nodejs-ex-git-2" + # When user navigates to Topology page + # Then user sees "nodejs-ex-git-1" and "nodejs-ex-git-2" workloads in topology chart area + + + # @regression @manual + # Scenario: Visual for deployment: T-06-TC05 + # Given user has created a deployment workload named "nodejs-d" + # And user is at the Topology page + # When user checks nodes and the decorators associated with them + # Then nodes are circular shaped with builder image in them + # And pod ring associated with node are present around node with color according to the pod status + # And deployment can have application url on top-right of the node + # And user sees edit source code decorator is on bottom right of the node which can lead to github or che workspace + # And user sees build decorator on bottom left which will take user to either build tab or pipeline depending on pipeline associated with them + # And user checks node label having "D" for deployment and then name of node + + + # @regression @manual + # Scenario: Visual for deployment-config: T-06-TC06 + # Given user has created a deployment config workload named "nodejs-dc" + # And user is at the Topology page + # When user checks nodes and the decorators associated with them + # Then nodes are circular shaped with builder image in them + # And pod ring associated with node are present around node with color according to the pod status + # And deployment-config can have application url on top-right of the node + # And user sees edit source code decorator is on bottom right of the node which can lead to github or che workspace + # And user sees build decorator on bottom left which will take user to either build tab or pipeline depending on pipeline associated with them + # And user checks node label having "DC" for deployment-config and then name of node + + + # @regression @manual + # Scenario: Visual for knative service with no revision: T-06-TC07 + # Given user has created a knative service workload named "nodejs-knative" without revision + # And user is at the Topology page + # When user checks nodes and the decorators associated with them + # Then user can view knative service are rectangular shaped with round corners + # And user can see dotted boundary with text "No Revisions" mentioned + # And knative sevice app can have application url on top-right of the node + # And user sees build decorator on bottom left on knative service app which will take user to build tab + # And user checks knative service having label "KSVC" and then the name of service + + + # @regression @manual + # Scenario: Visual for knative service with revisions: T-06-TC08 + # Given user has created a knative service workload named "nodejs-knative" with revision + # And user is at the Topology page + # When user checks nodes and the decorators associated with them + # Then user can view knative service are rectangular shaped with round corners + # And user can see knative service app with dotted boundary with revision present inside it + # And knative sevice app can have application url on top-right of the node + # And user can see traffic distribution from knative sevice app to its revisions with its percentage number + # And pod ring associated with revisions are present around node with color according to the pod status + # And user sees edit source code decorator is on bottom right of knative service which can lead to github or che workspace + # And user sees build decorator on bottom left on knative service app which will take user to either build tab + # And user checks revisions having label "REV" and then the name + # And user checks knative service having label "KSVC" and then the name of service + + + # @smoke + # Scenario: Context menu of node: T-06-TC09 + # Given user has created a deployment workload named "nodejs-ex-git3" + # And user is at the Topology page + # When user right clicks on the node "nodejs-ex-git3" to open context menu + # Then user is able to see context menu options like Edit Application Grouping, Edit Pod Count, Pause Rollouts, Add Health Checks, Add Horizontal Pod Autoscaler, Add Storage, Edit Update Strategy, Edit Labels, Edit Annotations, Edit Deployment, Delete Deployment + + + # @regression @odc-4944 @manual + # Scenario: Zoom In to 50% in topology: T-06-TC10 + # Given user has created a workload named "nodejs-ex-git" + # And user is at the Topology page + # And chart view is totally zoomed out + # When user clicks on Zoom In option to zoom to 50% scale + # Then user can see the chart area is zoomed + # And user can see all labels & decorators are hidden + # And label are shown when hovering over the node + + + # @regression @odc-4944 @manual + # Scenario: Zoom In to 30% in topology: T-06-TC11 + # Given user has created a workload named "nodejs-ex-git" + # And user is at the Topology page + # And chart view is totally zoomed out + # When user clicks on Zoom In option to zoom to 30% scale + # Then user can see the chart area is zoomed + # And user can see all labels, decorators, pod rings & icons are hidden + # And user can see background of node as white + + + # @regression @manual + # Scenario: Zoom Out in topology: T-06-TC12 + # Given user has created a workload named "nodejs-ex-git" + # And user is at the Topology page + # When user clicks on Zoom Out option + # Then user sees the chart area is zoomed out + + + # @regression @manual + # Scenario: Fit to Screen in topology: T-06-TC13 + # Given user has created a workload named "nodejs-ex-git" + # And user is at the Topology page + # When user clicks on Zoom In option + # And user sees the chart area is zoomed + # And user clicks on Fit to Screen option + # Then user sees the nodes fitting within chart area + + + # @regression @manual + # Scenario: Reset view in topology: T-06-TC14 + # Given user has created a workload named "nodejs-ex-git" + # And user is at the Topology page + # When user clicks on Zoom In option + # And user sees the chart area is zoomed + # And user clicks on Reset View option + # Then user sees the chart area is reset to original + + + # @regression + # Scenario Outline: Topology filter by resource: T-06-TC15 + # Given user created "" workload + # When user is at Topology page chart view + # And user clicks the filter by resource on top + # And user clicks on "" option + # Then user can see only the "" workload + + # Examples: + # | resource_type | + # | Deployment | + # | DeploymentConfig | @regression @@ -174,7 +174,7 @@ Feature: Topology chart area Then user is able to see options like Samples, Import from Git, Container Image, From Dockerfile, From Devfile, From Catalog, Database, Operator Backed, Helm Charts, Event Source, Channel - @regression + @regression Scenario: Add to Project in topology: T-06-TC17 Given user is at the Topology page When user right clicks on the empty chart area @@ -194,8 +194,8 @@ Feature: Topology chart area And user clicks on Create button # Crunchy Postgres for Kubernetes operator not installing correctly, won't able to create a postgres. And user hovers on Add to Project and clicks on "Operator Backed" - And user selects Redis and clicks on Create - And user fills the "Operator Backed" form with yaml at "test-data/redis-standalone.yaml" and clicks Create + And user selects "Postgres Cluster" and clicks on Create + And user fills the "Operator Backed" form with yaml at "test-data/hippo-postgres-cluster.yaml" and clicks Create And user hovers on Add to Project and clicks on "Helm Charts" And user selects Nodejs and clicks on Install Helm Charts And user fills the "Helm Chart" form and clicks Create @@ -425,7 +425,9 @@ Feature: Topology chart area And user can see "Error" in Status section on service binding connnector topology sidebar - @regression @odc-4944 + @regression @odc-4944 @broken-test + # Redis operator having issues after 0.14 updates, it does not appears in topology + # https://github.com/OT-CONTAINER-KIT/redis-operator/issues/526 Scenario: Connected status on Service binding details page: T-06-TC35 Given user has created namespace "aut-connected-sb" And user has installed Service Binding operator @@ -440,7 +442,9 @@ Feature: Topology chart area Then user will see "Connected" Status on Service binding details page - @regression @odc-4944 + @regression @odc-4944 @broken-test + # Redis operator having issues after 0.14 updates, it does not appears in topology + # https://github.com/OT-CONTAINER-KIT/redis-operator/issues/526 Scenario: Error status on Service binding details page: T-06-TC36 Given user has created namespace "aut-error-sb" And user has installed Service Binding operator @@ -455,7 +459,9 @@ Feature: Topology chart area Then user will see "Error" Status on Service binding details page - @regression @odc-7120 + @regression @odc-7120 @broken-test + # Redis operator having issues after 0.14 updates, it does not appears in topology + # https://github.com/OT-CONTAINER-KIT/redis-operator/issues/526 Scenario: Create connection using import YAML with Service Binding using Label Selector: T-06-TC37 Given user has created namespace "aut-connected-sb-ls" And user has installed Service Binding operator @@ -472,7 +478,9 @@ Feature: Topology chart area Then user will see service binding connection - @regression @odc-7120 + @regression @odc-7120 @broken-test + # Redis operator having issues after 0.14 updates, it does not appears in topology + # https://github.com/OT-CONTAINER-KIT/redis-operator/issues/526 Scenario: Label specified in Label Selector section on Service binding details page: T-06-TC38 Given user has created namespace "aut-label-details-sb" And user has installed Service Binding operator @@ -488,7 +496,9 @@ Feature: Topology chart area Then user will see "app=node-ej" in Label Selector section on Service binding details page - @regression @odc-7120 + @regression @odc-7120 @broken-test + # Redis operator having issues after 0.14 updates, it does not appears in topology + # https://github.com/OT-CONTAINER-KIT/redis-operator/issues/526 Scenario: Label specified in Label Selector section on Service binding side panel: T-06-TC39 Given user has created namespace "aut-label-panel-sb" And user has installed Service Binding operator diff --git a/frontend/packages/topology/integration-tests/features/topology/topology-editing-app-node.feature b/frontend/packages/topology/integration-tests/features/topology/topology-editing-app-node.feature index ce72aa2f56c4..03e892efe197 100644 --- a/frontend/packages/topology/integration-tests/features/topology/topology-editing-app-node.feature +++ b/frontend/packages/topology/integration-tests/features/topology/topology-editing-app-node.feature @@ -61,7 +61,7 @@ Feature: Editing an application Then user will be redirected to Topology with the updated resource limits - @smoke @broken-test + @smoke Scenario: Editing deployment using form view: T-09-TC05 Given user has created workload "rolling-update" with resource type "Deployment" When user right clicks on the workload "rolling-update" to open the Context Menu diff --git a/frontend/packages/topology/integration-tests/features/topology/topology-workload-sidebar.feature b/frontend/packages/topology/integration-tests/features/topology/topology-workload-sidebar.feature index 6028b316dc23..d3b26f7540c3 100644 --- a/frontend/packages/topology/integration-tests/features/topology/topology-workload-sidebar.feature +++ b/frontend/packages/topology/integration-tests/features/topology/topology-workload-sidebar.feature @@ -16,6 +16,7 @@ Feature: Sidebar in topology And user can see sidebar Details, Resources and Observe tabs And user verifies name of the node "nodejs-ex-git" and Action drop down present on top of the sidebar And user is able to see health check notification + And user can see show waiting pods with errors And user can see traffic details for pod And user can see close button diff --git a/frontend/packages/topology/integration-tests/support/page-objects/chart-area-po.ts b/frontend/packages/topology/integration-tests/support/page-objects/chart-area-po.ts index 3c2a534ebafc..b6b9df393990 100644 --- a/frontend/packages/topology/integration-tests/support/page-objects/chart-area-po.ts +++ b/frontend/packages/topology/integration-tests/support/page-objects/chart-area-po.ts @@ -22,7 +22,7 @@ export const chartAreaPO = { eventsource: '[data-test-action="Event Source"]', channel: '[data-test-action="Channel"]', filterItem: 'input[placeholder="Filter by keyword..."]', - sampleGo: '[data-test="Sample-Go"]', + sampleBuilderGo: '[data-test="BuilderImage-Go"]', submitButton: '[data-test-id="submit-button"]', deployImage: '[data-test-id="deploy-image-search-term"]', validationText: '#form-input-searchTerm-field-helper', diff --git a/frontend/packages/topology/integration-tests/support/page-objects/topology-po.ts b/frontend/packages/topology/integration-tests/support/page-objects/topology-po.ts index 48c5a1c9e580..43244ba933f4 100644 --- a/frontend/packages/topology/integration-tests/support/page-objects/topology-po.ts +++ b/frontend/packages/topology/integration-tests/support/page-objects/topology-po.ts @@ -289,7 +289,7 @@ export const topologyPO = { resourseTitle: '[data-test-id="resource-title"]', appformName: '[data-test-id="application-form-app-name"]', djangoPostgreSQL: '[data-test="item-name-Django + PostgreSQL-Templates"]', - NETSample: '[data-test="item-name-.NET-Samples"]', + NETSample: '[data-test="item-name-.NET-Builder Images"]', monitorApp: '[data-test="item-name-Monitor your sample application-Quick Starts"]', nodejsDevfiles: '[data-test="item-name-Basic Node.js-Devfiles"]', nodejsSamples: '[data-test="item-name-Basic Node.js-Samples"]', diff --git a/frontend/packages/topology/integration-tests/support/pages/functions/chart-functions.ts b/frontend/packages/topology/integration-tests/support/pages/functions/chart-functions.ts index 9f754790c718..cd248a3b1212 100644 --- a/frontend/packages/topology/integration-tests/support/pages/functions/chart-functions.ts +++ b/frontend/packages/topology/integration-tests/support/pages/functions/chart-functions.ts @@ -60,7 +60,7 @@ export const createWorkloadUsingOptions = (optionName: string, optionalData?: st const yamlLocation = `support/${optionalData}`; yamlEditor.setEditorContent(yamlLocation); cy.get(chartAreaPO.saveChanges).click(); - cy.get('[aria-label="Breadcrumb"]').should('contain', 'Redis details'); + cy.get('[aria-label="Breadcrumb"]').should('contain', 'details'); navigateTo(devNavigationMenu.Topology); break; diff --git a/frontend/packages/topology/integration-tests/support/pages/topology/topology-edit-deployment.ts b/frontend/packages/topology/integration-tests/support/pages/topology/topology-edit-deployment.ts index f1e29951f768..bcf5abe443e8 100644 --- a/frontend/packages/topology/integration-tests/support/pages/topology/topology-edit-deployment.ts +++ b/frontend/packages/topology/integration-tests/support/pages/topology/topology-edit-deployment.ts @@ -74,6 +74,12 @@ export const editDeployment = { cy.get(topologyPO.deploymentStrategy.preLifecycleHook.failurePolicy).click(); cy.get(`[id="${failurePolicy}-link"]`).click(); cy.get(topologyPO.deploymentStrategy.tickButton).click(); + cy.on('uncaught:exception', (err) => { + expect(err.message).toContain( + 'When Cypress detects uncaught errors originating from your application it will automatically fail the current test.', + ); // .to.include + return false; + }); }, selectProject: (projectName: string) => { cy.get(`[id="${projectName}-link"]`).click(); diff --git a/frontend/packages/topology/integration-tests/support/pages/topology/topology-page.ts b/frontend/packages/topology/integration-tests/support/pages/topology/topology-page.ts index 316a3f40650e..11f5710daa77 100644 --- a/frontend/packages/topology/integration-tests/support/pages/topology/topology-page.ts +++ b/frontend/packages/topology/integration-tests/support/pages/topology/topology-page.ts @@ -286,8 +286,17 @@ export const topologyPage = { }, clickOnApplicationGroupings: (appName: string) => { cy.reload(); + app.waitForLoad(); + guidedTour.close(); const id = `[data-id="group:${appName}"] .odc-resource-icon-application`; - cy.get(id).next('text').click({ force: true }); + cy.log(id); + cy.get('[data-test-id="base-node-handler"] image').should('be.visible'); + cy.get('body').then(($el) => { + if ($el.find(topologyPO.sidePane.applicationGroupingsTitle).length === 0) { + cy.get(id).next('text').click({ force: true }); + } + }); + // cy.get(id).next('text').click({ force: true }); }, verifyApplicationGroupingsDeleted: (appName: string) => { cy.reload(); diff --git a/frontend/packages/topology/integration-tests/support/step-definitions/topology/chart-view.ts b/frontend/packages/topology/integration-tests/support/step-definitions/topology/chart-view.ts index 5288518bcbeb..a76ef098cc6e 100644 --- a/frontend/packages/topology/integration-tests/support/step-definitions/topology/chart-view.ts +++ b/frontend/packages/topology/integration-tests/support/step-definitions/topology/chart-view.ts @@ -297,7 +297,7 @@ When('user clicks on Samples', () => { When('user selects go sample', () => { cy.get(chartAreaPO.filterItem).type('Go'); - cy.get(chartAreaPO.sampleGo).click(); + cy.get(chartAreaPO.sampleBuilderGo).click(); }); When('user hovers on Add to Project and clicks on {string}', (optionName: string) => { @@ -329,9 +329,9 @@ When('user selects Postgres Database and clicks on Instantiate Template', () => cy.get(chartAreaPO.overlayCreate).click({ force: true }); }); -When('user selects Redis and clicks on Create', () => { - cy.get(chartAreaPO.filterItem).type('redis'); - cy.get(chartAreaPO.operatorBackedRedis).click(); +When('user selects {string} and clicks on Create', (operator: string) => { + cy.get(chartAreaPO.filterItem).type(operator); + cy.get(chartAreaPO.operatorBackedPostgres).click(); cy.get(chartAreaPO.overlayCreate).click({ force: true }); }); @@ -360,7 +360,7 @@ Then( 'hello-openshift', 'python-app', 'postgres', - 'redis-standalone', + 'hippo', 'helm-nodejs', 'api-server-source', 'channel', diff --git a/frontend/packages/topology/integration-tests/support/step-definitions/topology/edit-workload.ts b/frontend/packages/topology/integration-tests/support/step-definitions/topology/edit-workload.ts index eb5003486373..37659f7d61fd 100644 --- a/frontend/packages/topology/integration-tests/support/step-definitions/topology/edit-workload.ts +++ b/frontend/packages/topology/integration-tests/support/step-definitions/topology/edit-workload.ts @@ -84,7 +84,7 @@ Then('user will be redirected to Topology with the updated resource limits', () }); When('user selects {string} Strategy type under Deployment Strategy', (strategyType: string) => { - cy.wait(50000); + cy.wait(60000); cy.get(formPO.cancel).click(); editDeployment.selectDeploymentStrategyType(strategyType); }); diff --git a/frontend/packages/topology/integration-tests/support/step-definitions/topology/quick-search-topology.ts b/frontend/packages/topology/integration-tests/support/step-definitions/topology/quick-search-topology.ts index ebd8325f776d..9f4634ec461e 100644 --- a/frontend/packages/topology/integration-tests/support/step-definitions/topology/quick-search-topology.ts +++ b/frontend/packages/topology/integration-tests/support/step-definitions/topology/quick-search-topology.ts @@ -41,7 +41,7 @@ Given('user created a workload and is at topology list view', () => { false, ); navigateTo(devNavigationMenu.Topology); - cy.get(topologyPO.quickSearchPO.listView).click(); + topologyPage.verifyUserIsInListView(); }); Given('user is at topology list view', () => { @@ -101,7 +101,7 @@ Then( ); When('user selects .Net core option', () => { - cy.get(topologyPO.quickSearchPO.NETSample).click(); + cy.get(topologyPO.quickSearchPO.NETSample).should('have.length', '2').eq(1).click(); }); When('user clicks on Create Application', () => { @@ -151,7 +151,7 @@ Then('user will be redirected to the search results of the Quick Starts Catalog' }); When('user selects Basic NodeJS Devfiles option', () => { - cy.get(topologyPO.quickSearchPO.nodejsDevfiles).click(); + cy.get(topologyPO.quickSearchPO.nodejsDevfiles).eq(0).click(); }); When('user clicks on Create button in the Import from Devfile page', () => { @@ -171,7 +171,7 @@ Then( ); When('user selects Basic NodeJS Samples option', () => { - cy.get(topologyPO.quickSearchPO.nodejsSamples).click(); + cy.get(topologyPO.quickSearchPO.nodejsDevfiles).eq(1).click(); }); When('user clicks on Create Devfile Samples', () => { diff --git a/frontend/packages/topology/integration-tests/support/step-definitions/topology/resource-quota-warning.ts b/frontend/packages/topology/integration-tests/support/step-definitions/topology/resource-quota-warning.ts index 12c369fb8fe4..250582e3f179 100644 --- a/frontend/packages/topology/integration-tests/support/step-definitions/topology/resource-quota-warning.ts +++ b/frontend/packages/topology/integration-tests/support/step-definitions/topology/resource-quota-warning.ts @@ -1,5 +1,6 @@ import { Given, When, Then, And } from 'cypress-cucumber-preprocessor/steps'; import { detailsPage } from '@console/cypress-integration-tests/views/details-page'; +import { guidedTour } from '@console/cypress-integration-tests/views/guided-tour'; import { listPage } from '@console/cypress-integration-tests/views/list-page'; import { modal } from '@console/cypress-integration-tests/views/modal'; import * as yamlView from '@console/cypress-integration-tests/views/yaml-editor'; @@ -33,7 +34,9 @@ Given('user has created workload with resource type deployment', () => { }); Given('user has created two resource quotas using {string} file', (yamlLocation) => { - cy.exec(`oc apply -f ${yamlLocation} -n ${Cypress.env('NAMESPACE')}`); + cy.exec(`oc apply -f ${yamlLocation} -n ${Cypress.env('NAMESPACE')}`).then(function (result) { + cy.log(result.stdout); + }); app.waitForDocumentLoad(); }); @@ -43,6 +46,9 @@ When('user navigates to Topology page', () => { }); When('user clicks on link to view resource quota details', () => { + cy.reload(); + app.waitForLoad(); + guidedTour.close(); cy.byTestID('resource-quota-warning').click(); }); diff --git a/frontend/packages/topology/integration-tests/support/step-definitions/topology/workload-sidebar.ts b/frontend/packages/topology/integration-tests/support/step-definitions/topology/workload-sidebar.ts index 888a3d673500..c53444627505 100644 --- a/frontend/packages/topology/integration-tests/support/step-definitions/topology/workload-sidebar.ts +++ b/frontend/packages/topology/integration-tests/support/step-definitions/topology/workload-sidebar.ts @@ -1,9 +1,14 @@ import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps'; -import { devNavigationMenu } from '@console/dev-console/integration-tests/support/constants'; +import { guidedTour } from '@console/cypress-integration-tests/views/guided-tour'; +import { + devNavigationMenu, + switchPerspective, +} from '@console/dev-console/integration-tests/support/constants'; import { app, createGitWorkload, navigateTo, + perspective, projectNameSpace, topologyActions, } from '@console/dev-console/integration-tests/support/pages'; @@ -150,10 +155,21 @@ When('user clicks on {string} from action menu', (actionItem: string) => { topologyActions.selectAction(actionItem); }); +Then('user can see show waiting pods with errors', () => { + topologySidePane.selectTab('Resources'); + cy.get(topologyPO.sidePane.resourcesTab.waitingPods).should('be.visible'); +}); + Then('user can see traffic details for pod', () => { topologySidePane.selectTab('Resources'); topologySidePane.verifySection('Pods'); + cy.wait(20000); + cy.reload(true); + app.waitForLoad(); + guidedTour.close(); cy.get(topologyPO.sidePane.resourcesTab.waitingPods, { timeout: 100000 }).should('not.exist'); + perspective.switchTo(switchPerspective.Administrator); + perspective.switchTo(switchPerspective.Developer); cy.get(topologyPO.sidePane.resourcesTab.podTrafficStatus, { timeout: 100000 }).should( 'be.visible', ); diff --git a/test-prow-e2e.sh b/test-prow-e2e.sh index 03d5b84fa3a1..d06315ccbaec 100755 --- a/test-prow-e2e.sh +++ b/test-prow-e2e.sh @@ -47,7 +47,7 @@ if [ "$SCENARIO" == "nightly-cypress" ]; then fi ./test-cypress.sh -n true $PACKAGE elif [ "$SCENARIO" == "e2e" ] || [ "$SCENARIO" == "release" ]; then - ./test-cypress.sh -h true + ./test-cypress.sh -h true -n true -p topology elif [ "$SCENARIO" == "login" ]; then ./test-cypress.sh -p console -s 'tests/app/auth-multiuser-login.cy.ts' -h true elif [ "$SCENARIO" == "olmFull" ]; then