diff --git a/openmetadata-ui/src/main/resources/ui/cypress/constants/redirections.constants.js b/openmetadata-ui/src/main/resources/ui/cypress/constants/redirections.constants.js index e72e8e20af0a..4fcdf2ff4090 100644 --- a/openmetadata-ui/src/main/resources/ui/cypress/constants/redirections.constants.js +++ b/openmetadata-ui/src/main/resources/ui/cypress/constants/redirections.constants.js @@ -66,12 +66,12 @@ export const NAVBAR_DETAILS = { url: `${BASE_URL}/explore/tables`, }, quality: { - testid: `[data-testid="data-quality"]`, - subMenu: '[data-testid="app-bar-item-data-contract"]', + testid: `[data-testid="observability"]`, + subMenu: '[data-testid="app-bar-item-data-quality"]', url: `${BASE_URL}/data-quality`, }, incidentManager: { - testid: `[data-testid="data-quality"]`, + testid: `[data-testid="observability"]`, subMenu: '[data-testid="app-bar-item-incident-manager"]', url: `${BASE_URL}/incident-manager`, }, diff --git a/openmetadata-ui/src/main/resources/ui/cypress/e2e/Features/IncidentManager.spec.js b/openmetadata-ui/src/main/resources/ui/cypress/e2e/Features/IncidentManager.spec.js index 868070a7a047..3ab72acc62a4 100644 --- a/openmetadata-ui/src/main/resources/ui/cypress/e2e/Features/IncidentManager.spec.js +++ b/openmetadata-ui/src/main/resources/ui/cypress/e2e/Features/IncidentManager.spec.js @@ -149,7 +149,7 @@ describe('Incident Manager', () => { it('Assign incident to user', () => { cy.sidebarHover(); - cy.get("[data-testid='data-quality'").click(); + cy.get("[data-testid='observability'").click(); cy.sidebarClick('app-bar-item-incident-manager'); cy.get(`[data-testid="test-case-${NEW_TABLE_TEST_CASE.name}"]`).should( 'be.visible' @@ -188,7 +188,7 @@ describe('Incident Manager', () => { ); interceptURL('GET', '/api/v1/feed?entityLink=*&type=Task', 'getTaskFeed'); cy.sidebarHover(); - cy.get("[data-testid='data-quality'").click(); + cy.get("[data-testid='observability'").click(); cy.sidebarClick('app-bar-item-incident-manager'); cy.get(`[data-testid="test-case-${NEW_TABLE_TEST_CASE.name}"]`).click(); verifyResponseStatusCode('@getTestCase', 200); @@ -227,7 +227,7 @@ describe('Incident Manager', () => { ); interceptURL('GET', '/api/v1/feed?entityLink=*&type=Task', 'getTaskFeed'); cy.sidebarHover(); - cy.get("[data-testid='data-quality'").click(); + cy.get("[data-testid='observability'").click(); cy.sidebarClick('app-bar-item-incident-manager'); cy.get(`[data-testid="test-case-${NEW_TABLE_TEST_CASE.name}"]`).click(); verifyResponseStatusCode('@getTestCase', 200); @@ -339,7 +339,7 @@ describe('Incident Manager', () => { 'getIncidentList' ); cy.sidebarHover(); - cy.get("[data-testid='data-quality'").click(); + cy.get("[data-testid='observability'").click(); cy.sidebarClick('app-bar-item-incident-manager'); verifyResponseStatusCode('@getIncidentList', 200); diff --git a/openmetadata-ui/src/main/resources/ui/cypress/e2e/Flow/Collect.spec.js b/openmetadata-ui/src/main/resources/ui/cypress/e2e/Flow/Collect.spec.js index 1a9bbe54526e..7157e583818e 100644 --- a/openmetadata-ui/src/main/resources/ui/cypress/e2e/Flow/Collect.spec.js +++ b/openmetadata-ui/src/main/resources/ui/cypress/e2e/Flow/Collect.spec.js @@ -25,12 +25,12 @@ describe('Collect end point should work properly', () => { }, dataQuality: { name: 'Quality', - mainMenuId: `[data-testid="data-quality"]`, - subMenu: `[data-testid="app-bar-item-data-contract"]`, + mainMenuId: `[data-testid="observability"]`, + subMenu: `[data-testid="app-bar-item-data-quality"]`, }, incidentManager: { name: 'Incident Manager', - mainMenuId: `[data-testid="data-quality"]`, + mainMenuId: `[data-testid="observability"]`, subMenu: `[data-testid="app-bar-item-incident-manager"]`, }, insight: { diff --git a/openmetadata-ui/src/main/resources/ui/cypress/e2e/Pages/DataQualityAndProfiler.spec.js b/openmetadata-ui/src/main/resources/ui/cypress/e2e/Pages/DataQualityAndProfiler.spec.js index 38d4db01b11a..243ddda3db0f 100644 --- a/openmetadata-ui/src/main/resources/ui/cypress/e2e/Pages/DataQualityAndProfiler.spec.js +++ b/openmetadata-ui/src/main/resources/ui/cypress/e2e/Pages/DataQualityAndProfiler.spec.js @@ -106,9 +106,9 @@ const visitTestSuiteDetailsPage = (testSuiteName) => { cy.sidebarHover(); - cy.get('[data-testid="data-quality"]').click(); + cy.get('[data-testid="observability"]').click(); - cy.sidebarClick('app-bar-item-data-contract'); + cy.sidebarClick('app-bar-item-data-quality'); cy.sidebarHoverOutside(); @@ -535,9 +535,9 @@ describe('Data Quality and Profiler should work properly', () => { cy.sidebarHover(); - cy.get('[data-testid="data-quality"]').click(); + cy.get('[data-testid="observability"]').click(); - cy.sidebarClick('app-bar-item-data-contract'); + cy.sidebarClick('app-bar-item-data-quality'); cy.sidebarHoverOutside(); @@ -802,9 +802,9 @@ describe('Data Quality and Profiler should work properly', () => { cy.sidebarHover(); - cy.get('[data-testid="data-quality"]').click(); + cy.get('[data-testid="observability"]').click(); - cy.sidebarClick('app-bar-item-data-contract'); + cy.sidebarClick('app-bar-item-data-quality'); cy.sidebarHoverOutside(); diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-alert.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-alert.svg new file mode 100644 index 000000000000..66f922a555b5 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-alert.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-observability.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-observability.svg new file mode 100644 index 000000000000..06fc8e30aac7 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-observability.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-quality-v1.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-quality-v1.svg deleted file mode 100644 index 503a4992be7d..000000000000 --- a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-quality-v1.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/openmetadata-ui/src/main/resources/ui/src/components/MyData/LeftSidebar/LeftSidebar.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/MyData/LeftSidebar/LeftSidebar.test.tsx index b5fe5b0ecb33..eec546a700c0 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/MyData/LeftSidebar/LeftSidebar.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/MyData/LeftSidebar/LeftSidebar.test.tsx @@ -23,14 +23,12 @@ describe('LeftSidebar', () => { ); - const exploreLink = screen.getByTestId('app-bar-item-explore'); - const qualityLink = screen.getByTestId('data-quality'); - const insightLink = screen.getByTestId('app-bar-item-data-insight'); - const settingsLink = screen.getByTestId('app-bar-item-settings'); - - expect(exploreLink).toBeInTheDocument(); - expect(qualityLink).toBeInTheDocument(); - expect(insightLink).toBeInTheDocument(); - expect(settingsLink).toBeInTheDocument(); + expect(screen.getByTestId('image')).toBeInTheDocument(); + expect(screen.getByTestId('app-bar-item-explore')).toBeInTheDocument(); + expect(screen.getByTestId('observability')).toBeInTheDocument(); + expect(screen.getByTestId('app-bar-item-domain')).toBeInTheDocument(); + expect(screen.getByTestId('governance')).toBeInTheDocument(); + expect(screen.getByTestId('app-bar-item-settings')).toBeInTheDocument(); + expect(screen.getByTestId('app-bar-item-logout')).toBeInTheDocument(); }); }); diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/LeftSidebar.constants.ts b/openmetadata-ui/src/main/resources/ui/src/constants/LeftSidebar.constants.ts index 7dc26f620259..57335ba54b9a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/LeftSidebar.constants.ts +++ b/openmetadata-ui/src/main/resources/ui/src/constants/LeftSidebar.constants.ts @@ -16,10 +16,11 @@ import { ReactComponent as GovernIcon } from '../assets/svg/bank.svg'; import { ReactComponent as ClassificationIcon } from '../assets/svg/classification.svg'; import { ReactComponent as ExploreIcon } from '../assets/svg/globalsearch.svg'; import { ReactComponent as GlossaryIcon } from '../assets/svg/glossary.svg'; -import { ReactComponent as DataContractIcon } from '../assets/svg/ic-data-contract.svg'; +import { ReactComponent as AlertIcon } from '../assets/svg/ic-alert.svg'; +import { ReactComponent as DataQualityIcon } from '../assets/svg/ic-data-contract.svg'; import { ReactComponent as DomainsIcon } from '../assets/svg/ic-domain.svg'; import { ReactComponent as IncidentMangerIcon } from '../assets/svg/ic-incident-manager.svg'; -import { ReactComponent as QualityIcon } from '../assets/svg/ic-quality-v1.svg'; +import { ReactComponent as ObservabilityIcon } from '../assets/svg/ic-observability.svg'; import { ReactComponent as SettingsIcon } from '../assets/svg/ic-settings-v1.svg'; import { ReactComponent as InsightsIcon } from '../assets/svg/lampcharge.svg'; import { ReactComponent as LogoutIcon } from '../assets/svg/logout.svg'; @@ -36,17 +37,17 @@ export const SIDEBAR_LIST = [ dataTestId: 'app-bar-item-explore', }, { - key: 'data-quality', - label: i18next.t('label.quality'), - icon: QualityIcon, - dataTestId: 'data-quality', + key: ROUTES.OBSERVABILITY, + label: i18next.t('label.observability'), + icon: ObservabilityIcon, + dataTestId: 'observability', children: [ { key: ROUTES.DATA_QUALITY, - label: i18next.t('label.data-contract-plural'), + label: i18next.t('label.data-quality'), redirect_url: ROUTES.DATA_QUALITY, - icon: DataContractIcon, - dataTestId: 'app-bar-item-data-contract', + icon: DataQualityIcon, + dataTestId: 'app-bar-item-data-quality', }, { key: ROUTES.INCIDENT_MANAGER, @@ -56,6 +57,12 @@ export const SIDEBAR_LIST = [ dataTestId: 'app-bar-item-incident-manager', isBeta: true, }, + { + key: ROUTES.OBSERVABILITY, + label: i18next.t('label.alert-plural'), + icon: AlertIcon, + dataTestId: 'app-bar-item-observability-alert', + }, ], }, { diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts b/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts index fd53b28b9cb5..febc96755489 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts +++ b/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts @@ -320,6 +320,8 @@ export const ROUTES = { CUSTOMIZE_PAGE: `/customize-page/:fqn/:pageFqn`, ADD_CUSTOM_METRIC: `/add-custom-metric/${PLACEHOLDER_DASHBOARD_TYPE}/${PLACEHOLDER_ROUTE_FQN}`, + + OBSERVABILITY: '/observability', }; export const SOCKET_EVENTS = {