mirror of
				https://github.com/open-metadata/OpenMetadata.git
				synced 2025-11-03 20:19:31 +00:00 
			
		
		
		
	CYPRESS: simplify side navigation click in cypress (#14818)
* simplify side navigation click in cypress * make sidbar item uses common enum * fix cypress failure of outside import
This commit is contained in:
		
							parent
							
								
									3cf8e0a308
								
							
						
					
					
						commit
						740541c0c7
					
				@ -13,6 +13,7 @@
 | 
			
		||||
// eslint-disable-next-line spaced-comment
 | 
			
		||||
/// <reference types="cypress" />
 | 
			
		||||
 | 
			
		||||
import { SidebarItem } from '../constants/Entity.interface';
 | 
			
		||||
import {
 | 
			
		||||
  interceptURL,
 | 
			
		||||
  toastNotification,
 | 
			
		||||
@ -47,7 +48,7 @@ export const navigateToCustomizeLandingPage = ({
 | 
			
		||||
}) => {
 | 
			
		||||
  interceptURL('GET', '/api/v1/teams/name/*', 'settingsPage');
 | 
			
		||||
 | 
			
		||||
  cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
  verifyResponseStatusCode('@settingsPage', 200);
 | 
			
		||||
  cy.get('[data-testid="settings-left-panel"]').should('be.visible');
 | 
			
		||||
 | 
			
		||||
@ -17,6 +17,7 @@ import {
 | 
			
		||||
  NAME_VALIDATION_ERROR,
 | 
			
		||||
  SEARCH_ENTITY_TABLE,
 | 
			
		||||
} from '../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../constants/Entity.interface';
 | 
			
		||||
import {
 | 
			
		||||
  descriptionBox,
 | 
			
		||||
  interceptURL,
 | 
			
		||||
@ -145,7 +146,7 @@ export const updateAssets = (domainObj) => {
 | 
			
		||||
 | 
			
		||||
  cy.get('[data-testid="domain-link"]').should('contain', domainObj.name);
 | 
			
		||||
 | 
			
		||||
  cy.sidebarClick('app-bar-item-domain');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.DOMAIN);
 | 
			
		||||
 | 
			
		||||
  goToAssetsTab(domainObj);
 | 
			
		||||
 | 
			
		||||
@ -179,7 +180,7 @@ export const removeAssets = (domainObj) => {
 | 
			
		||||
  cy.get('[data-testid="remove-owner"]').click();
 | 
			
		||||
  verifyResponseStatusCode('@patchDomain', 200);
 | 
			
		||||
 | 
			
		||||
  cy.sidebarClick('app-bar-item-domain');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.DOMAIN);
 | 
			
		||||
 | 
			
		||||
  goToAssetsTab(domainObj);
 | 
			
		||||
  cy.contains('Adding a new Asset is easy, just give it a spin!').should(
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,7 @@ import {
 | 
			
		||||
  INVALID_NAMES,
 | 
			
		||||
  NAME_VALIDATION_ERROR,
 | 
			
		||||
} from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
import {
 | 
			
		||||
  interceptURL,
 | 
			
		||||
  replaceAllSpacialCharWith_,
 | 
			
		||||
@ -354,7 +355,7 @@ class ServiceBaseClass {
 | 
			
		||||
    verifyResponseStatusCode('@updateEntity', 200);
 | 
			
		||||
 | 
			
		||||
    // re-run ingestion flow
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
    // Services page
 | 
			
		||||
    cy.get('.ant-menu-title-content').contains(this.category).click();
 | 
			
		||||
 | 
			
		||||
@ -16,6 +16,7 @@ import {
 | 
			
		||||
  interceptURL,
 | 
			
		||||
  verifyResponseStatusCode,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
import { VISIT_SERVICE_PAGE_DETAILS } from '../../constants/service.constants';
 | 
			
		||||
import {
 | 
			
		||||
  permanentDeleteUser,
 | 
			
		||||
@ -31,7 +32,7 @@ class UsersTestClass {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  visitUserListPage() {
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
    interceptURL('GET', '/api/v1/users?*', 'getUsers');
 | 
			
		||||
    cy.get('[data-testid="settings-left-panel"]').contains('Users').click();
 | 
			
		||||
  }
 | 
			
		||||
@ -76,14 +77,14 @@ class UsersTestClass {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  checkStewardServicesPermissions() {
 | 
			
		||||
    cy.sidebarClick('app-bar-item-explore');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.EXPLORE);
 | 
			
		||||
    Object.values(VISIT_SERVICE_PAGE_DETAILS).forEach((service) => {
 | 
			
		||||
      cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
      cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
      cy.get(`[data-menu-id*="${service.settingsMenuId}"]`).click();
 | 
			
		||||
      cy.get('[data-testid="add-service-button"] > span').should('not.exist');
 | 
			
		||||
    });
 | 
			
		||||
    cy.sidebarClick('app-bar-item-explore');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.EXPLORE);
 | 
			
		||||
    cy.get('[data-testid="tables-tab"]').click();
 | 
			
		||||
    cy.get(
 | 
			
		||||
      '.ant-drawer-title > [data-testid="entity-link"] > .ant-typography'
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,7 @@
 | 
			
		||||
/// <reference types="cypress" />
 | 
			
		||||
 | 
			
		||||
import { DELETE_TERM } from '../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../constants/Entity.interface';
 | 
			
		||||
import {
 | 
			
		||||
  interceptURL,
 | 
			
		||||
  toastNotification,
 | 
			
		||||
@ -23,15 +24,7 @@ import {
 | 
			
		||||
export const visitGlossaryPage = () => {
 | 
			
		||||
  interceptURL('GET', '/api/v1/glossaries?fields=*', 'getGlossaries');
 | 
			
		||||
 | 
			
		||||
  cy.sidebarHover();
 | 
			
		||||
  cy.get('[data-testid="governance"]').click({
 | 
			
		||||
    animationDistanceThreshold: 20,
 | 
			
		||||
    waitForAnimations: true,
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  // Applying force true as the hover over tooltip
 | 
			
		||||
 | 
			
		||||
  cy.sidebarClick('app-bar-item-glossary');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.GLOSSARY);
 | 
			
		||||
 | 
			
		||||
  verifyResponseStatusCode('@getGlossaries', 200);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -17,6 +17,7 @@ import {
 | 
			
		||||
  NAME_VALIDATION_ERROR,
 | 
			
		||||
  TAG_INVALID_NAMES,
 | 
			
		||||
} from '../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../constants/Entity.interface';
 | 
			
		||||
import { interceptURL, verifyResponseStatusCode } from './common';
 | 
			
		||||
 | 
			
		||||
export const submitForm = () => {
 | 
			
		||||
@ -59,13 +60,7 @@ export const validateForm = () => {
 | 
			
		||||
export const visitClassificationPage = () => {
 | 
			
		||||
  interceptURL('GET', '/api/v1/tags*', 'getTags');
 | 
			
		||||
 | 
			
		||||
  cy.sidebarHover();
 | 
			
		||||
  cy.get('[data-testid="governance"]').click({
 | 
			
		||||
    animationDistanceThreshold: 20,
 | 
			
		||||
    waitForAnimations: true,
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  cy.sidebarClick('app-bar-item-tags');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.TAGS);
 | 
			
		||||
 | 
			
		||||
  verifyResponseStatusCode('@getTags', 200);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,7 @@
 | 
			
		||||
 *  limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import { EntityType } from '../../constants/Entity.interface';
 | 
			
		||||
import { EntityType, SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
import { interceptURL, verifyResponseStatusCode } from '../common';
 | 
			
		||||
 | 
			
		||||
export enum CustomPropertyType {
 | 
			
		||||
@ -41,7 +41,7 @@ export const createCustomPropertyForEntity = ({
 | 
			
		||||
}) => {
 | 
			
		||||
  interceptURL('GET', '/api/v1/teams/name/*', 'settingsPage');
 | 
			
		||||
 | 
			
		||||
  cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
  verifyResponseStatusCode('@settingsPage', 200);
 | 
			
		||||
 | 
			
		||||
@ -81,7 +81,7 @@ export const deleteCustomPropertyForEntity = ({
 | 
			
		||||
  property: CustomProperty;
 | 
			
		||||
  type: EntityType;
 | 
			
		||||
}) => {
 | 
			
		||||
  cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
  interceptURL('GET', `/api/v1/metadata/types/name/*`, 'getEntity');
 | 
			
		||||
  interceptURL('PATCH', `/api/v1/metadata/types/*`, 'patchEntity');
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,7 @@
 | 
			
		||||
 *  limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
import { DELETE_TERM } from '../../constants/constants';
 | 
			
		||||
import { EntityType } from '../../constants/Entity.interface';
 | 
			
		||||
import { EntityType, SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
import {
 | 
			
		||||
  interceptURL,
 | 
			
		||||
  toastNotification,
 | 
			
		||||
@ -38,7 +38,7 @@ export const goToServiceListingPage = (services: Services) => {
 | 
			
		||||
    'getSettingsPage'
 | 
			
		||||
  );
 | 
			
		||||
  // Click on settings page
 | 
			
		||||
  cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
  verifyResponseStatusCode('@getSettingsPage', 200);
 | 
			
		||||
  // Services page
 | 
			
		||||
  interceptURL('GET', '/api/v1/services/*', 'getServiceList');
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,7 @@ import {
 | 
			
		||||
  customFormatDateTime,
 | 
			
		||||
  getEpochMillisForFutureDays,
 | 
			
		||||
} from '../../../src/utils/date-time/DateTimeUtils';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
import {
 | 
			
		||||
  descriptionBox,
 | 
			
		||||
  interceptURL,
 | 
			
		||||
@ -170,7 +171,7 @@ export const permanentDeleteUser = (username: string) => {
 | 
			
		||||
  cy.get('[data-testid="search-error-placeholder"]').should('be.exist');
 | 
			
		||||
};
 | 
			
		||||
export const visitUserListPage = () => {
 | 
			
		||||
  cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
  interceptURL('GET', '/api/v1/users?*', 'getUsers');
 | 
			
		||||
  cy.get('[data-testid="settings-left-panel"]').contains('Users').click();
 | 
			
		||||
 | 
			
		||||
@ -12,6 +12,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import { SEARCH_ENTITY_TABLE } from '../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../constants/Entity.interface';
 | 
			
		||||
import {
 | 
			
		||||
  DATABASE_DETAILS,
 | 
			
		||||
  DATABASE_SERVICE_DETAILS,
 | 
			
		||||
@ -229,7 +230,7 @@ export const searchForField = (condition, fieldid, searchCriteria, index) => {
 | 
			
		||||
 | 
			
		||||
export const goToAdvanceSearch = () => {
 | 
			
		||||
  // Navigate to explore page
 | 
			
		||||
  cy.sidebarClick('app-bar-item-explore');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.EXPLORE);
 | 
			
		||||
  cy.get('[data-testid="advance-search-button"]').click();
 | 
			
		||||
  cy.get('[data-testid="reset-btn"]').click();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -30,6 +30,7 @@ import {
 | 
			
		||||
  NAME_VALIDATION_ERROR,
 | 
			
		||||
  SEARCH_INDEX,
 | 
			
		||||
} from '../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
export const descriptionBox =
 | 
			
		||||
  '.toastui-editor-md-container > .toastui-editor > .ProseMirror';
 | 
			
		||||
@ -425,7 +426,7 @@ export const deleteCreatedService = (
 | 
			
		||||
    'getSettingsPage'
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
  verifyResponseStatusCode('@getSettingsPage', 200);
 | 
			
		||||
  // Services page
 | 
			
		||||
@ -511,7 +512,7 @@ export const goToAddNewServicePage = (service_type) => {
 | 
			
		||||
    'getSettingsPage'
 | 
			
		||||
  );
 | 
			
		||||
  // Click on settings page
 | 
			
		||||
  cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
  verifyResponseStatusCode('@getSettingsPage', 200);
 | 
			
		||||
  // Services page
 | 
			
		||||
@ -967,7 +968,7 @@ export const updateDescriptionForIngestedTables = (
 | 
			
		||||
  verifyResponseStatusCode('@updateEntity', 200);
 | 
			
		||||
 | 
			
		||||
  // re-run ingestion flow
 | 
			
		||||
  cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
  // Services page
 | 
			
		||||
  cy.get('.ant-menu-title-content').contains(type).should('be.visible').click();
 | 
			
		||||
@ -1141,7 +1142,7 @@ export const visitServiceDetailsPage = (
 | 
			
		||||
  );
 | 
			
		||||
  interceptURL('GET', '/api/v1/teams/name/*', 'getOrganization');
 | 
			
		||||
 | 
			
		||||
  cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
  verifyResponseStatusCode('@getOrganization', 200);
 | 
			
		||||
 | 
			
		||||
@ -1173,7 +1174,7 @@ export const visitServiceDetailsPage = (
 | 
			
		||||
export const visitDataModelPage = (dataModelFQN, dataModelName) => {
 | 
			
		||||
  interceptURL('GET', '/api/v1/teams/name/*', 'getOrganization');
 | 
			
		||||
 | 
			
		||||
  cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
  verifyResponseStatusCode('@getOrganization', 200);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,7 @@
 | 
			
		||||
 *  See the License for the specific language governing permissions and
 | 
			
		||||
 *  limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
import { SidebarItem } from '../constants/Entity.interface';
 | 
			
		||||
import { interceptURL, verifyResponseStatusCode } from './common';
 | 
			
		||||
 | 
			
		||||
export const searchServiceFromSettingPage = (service) => {
 | 
			
		||||
@ -24,7 +25,7 @@ export const searchServiceFromSettingPage = (service) => {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const visitServiceDetailsPage = (service, verifyHeader = true) => {
 | 
			
		||||
  cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
  // Services page
 | 
			
		||||
  interceptURL('GET', '/api/v1/services/*', 'getServices');
 | 
			
		||||
 | 
			
		||||
@ -94,3 +94,19 @@ export const SEARCH_INDEX: Record<
 | 
			
		||||
  [EntityType.Glossary]: 'glossary_search_index',
 | 
			
		||||
  [EntityType.Domain]: 'domain_search_index',
 | 
			
		||||
} as const;
 | 
			
		||||
 | 
			
		||||
export enum SidebarItem {
 | 
			
		||||
  EXPLORE = 'explore',
 | 
			
		||||
  OBSERVABILITY = 'observability',
 | 
			
		||||
  DATA_QUALITY = 'data-quality',
 | 
			
		||||
  INCIDENT_MANAGER = 'incident-manager',
 | 
			
		||||
  OBSERVABILITY_ALERT = 'observability-alert',
 | 
			
		||||
  DATA_INSIGHT = 'data-insight',
 | 
			
		||||
  DOMAIN = 'domain',
 | 
			
		||||
  GOVERNANCE = 'governance',
 | 
			
		||||
  GLOSSARY = 'glossary',
 | 
			
		||||
  TAGS = 'tags',
 | 
			
		||||
  INSIGHTS = 'insights',
 | 
			
		||||
  SETTINGS = 'settings',
 | 
			
		||||
  LOGOUT = 'logout',
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,33 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  Copyright 2024 Collate.
 | 
			
		||||
 *  Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 *  you may not use this file except in compliance with the License.
 | 
			
		||||
 *  You may obtain a copy of the License at
 | 
			
		||||
 *  http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *  Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 *  distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 *  See the License for the specific language governing permissions and
 | 
			
		||||
 *  limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
import { SidebarItem } from './Entity.interface';
 | 
			
		||||
 | 
			
		||||
export const SIDEBAR_LIST_ITEMS = {
 | 
			
		||||
  [SidebarItem.DATA_QUALITY]: [
 | 
			
		||||
    SidebarItem.OBSERVABILITY,
 | 
			
		||||
    SidebarItem.DATA_QUALITY,
 | 
			
		||||
  ],
 | 
			
		||||
  [SidebarItem.INCIDENT_MANAGER]: [
 | 
			
		||||
    SidebarItem.OBSERVABILITY,
 | 
			
		||||
    SidebarItem.INCIDENT_MANAGER,
 | 
			
		||||
  ],
 | 
			
		||||
  [SidebarItem.OBSERVABILITY_ALERT]: [
 | 
			
		||||
    SidebarItem.OBSERVABILITY,
 | 
			
		||||
    SidebarItem.OBSERVABILITY_ALERT,
 | 
			
		||||
  ],
 | 
			
		||||
  [SidebarItem.GLOSSARY]: [SidebarItem.GOVERNANCE, SidebarItem.GLOSSARY],
 | 
			
		||||
  [SidebarItem.TAGS]: [SidebarItem.GOVERNANCE, SidebarItem.TAGS],
 | 
			
		||||
 | 
			
		||||
  // Profile Dropdown
 | 
			
		||||
  'user-name': ['dropdown-profile', 'user-name'],
 | 
			
		||||
};
 | 
			
		||||
@ -19,6 +19,7 @@ import {
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { createEntityTableViaREST } from '../../common/Utils/Entity';
 | 
			
		||||
import { DATA_ASSETS, NEW_TABLE_TEST_CASE } from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
import { DATABASE_SERVICE } from '../../constants/EntityConstant';
 | 
			
		||||
const TABLE_NAME = DATABASE_SERVICE.entity.name;
 | 
			
		||||
 | 
			
		||||
@ -148,9 +149,7 @@ describe('Incident Manager', () => {
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    it('Assign incident to user', () => {
 | 
			
		||||
      cy.sidebarHover();
 | 
			
		||||
      cy.get("[data-testid='observability'").click();
 | 
			
		||||
      cy.sidebarClick('app-bar-item-incident-manager');
 | 
			
		||||
      cy.sidebarClick(SidebarItem.INCIDENT_MANAGER);
 | 
			
		||||
      cy.get(`[data-testid="test-case-${NEW_TABLE_TEST_CASE.name}"]`).should(
 | 
			
		||||
        'be.visible'
 | 
			
		||||
      );
 | 
			
		||||
@ -187,9 +186,9 @@ describe('Incident Manager', () => {
 | 
			
		||||
        'getTestCase'
 | 
			
		||||
      );
 | 
			
		||||
      interceptURL('GET', '/api/v1/feed?entityLink=*&type=Task', 'getTaskFeed');
 | 
			
		||||
      cy.sidebarHover();
 | 
			
		||||
      cy.get("[data-testid='observability'").click();
 | 
			
		||||
      cy.sidebarClick('app-bar-item-incident-manager');
 | 
			
		||||
 | 
			
		||||
      cy.sidebarClick(SidebarItem.INCIDENT_MANAGER);
 | 
			
		||||
 | 
			
		||||
      cy.get(`[data-testid="test-case-${NEW_TABLE_TEST_CASE.name}"]`).click();
 | 
			
		||||
      verifyResponseStatusCode('@getTestCase', 200);
 | 
			
		||||
      cy.get('[data-testid="incident"]').click();
 | 
			
		||||
@ -226,9 +225,7 @@ describe('Incident Manager', () => {
 | 
			
		||||
        'getTestCase'
 | 
			
		||||
      );
 | 
			
		||||
      interceptURL('GET', '/api/v1/feed?entityLink=*&type=Task', 'getTaskFeed');
 | 
			
		||||
      cy.sidebarHover();
 | 
			
		||||
      cy.get("[data-testid='observability'").click();
 | 
			
		||||
      cy.sidebarClick('app-bar-item-incident-manager');
 | 
			
		||||
      cy.sidebarClick(SidebarItem.INCIDENT_MANAGER);
 | 
			
		||||
      cy.get(`[data-testid="test-case-${NEW_TABLE_TEST_CASE.name}"]`).click();
 | 
			
		||||
      verifyResponseStatusCode('@getTestCase', 200);
 | 
			
		||||
      cy.get('[data-testid="incident"]').click();
 | 
			
		||||
@ -338,9 +335,8 @@ describe('Incident Manager', () => {
 | 
			
		||||
        '/api/v1/dataQuality/testCases/testCaseIncidentStatus?latest=true&startTs=*&endTs=*&limit=*',
 | 
			
		||||
        'getIncidentList'
 | 
			
		||||
      );
 | 
			
		||||
      cy.sidebarHover();
 | 
			
		||||
      cy.get("[data-testid='observability'").click();
 | 
			
		||||
      cy.sidebarClick('app-bar-item-incident-manager');
 | 
			
		||||
      cy.sidebarClick(SidebarItem.INCIDENT_MANAGER);
 | 
			
		||||
 | 
			
		||||
      verifyResponseStatusCode('@getIncidentList', 200);
 | 
			
		||||
 | 
			
		||||
      cy.get(`[data-testid="test-case-${testName}"]`).should('be.visible');
 | 
			
		||||
 | 
			
		||||
@ -15,6 +15,7 @@
 | 
			
		||||
 | 
			
		||||
import { interceptURL, verifyResponseStatusCode } from '../../common/common';
 | 
			
		||||
import { searchServiceFromSettingPage } from '../../common/serviceUtils';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
const schemaNames = ['sales', 'admin', 'anonymous', 'dip', 'gsmadmin_internal'];
 | 
			
		||||
let serviceId;
 | 
			
		||||
@ -87,7 +88,7 @@ describe('Schema search', () => {
 | 
			
		||||
      'getSettingsPage'
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
    verifyResponseStatusCode('@getSettingsPage', 200);
 | 
			
		||||
    // Services page
 | 
			
		||||
 | 
			
		||||
@ -17,6 +17,7 @@ import {
 | 
			
		||||
  uuid,
 | 
			
		||||
  verifyResponseStatusCode,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
const buTeamName = `bu-${uuid()}`;
 | 
			
		||||
const divTeamName = `div-${uuid()}`;
 | 
			
		||||
@ -40,7 +41,7 @@ describe('Add nested teams and test TeamsSelectable', () => {
 | 
			
		||||
 | 
			
		||||
    interceptURL('GET', '/api/v1/teams/name/*', 'getOrganization');
 | 
			
		||||
    interceptURL('GET', '/api/v1/permissions/team/name/*', 'getPermissions');
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
    verifyResponseStatusCode('@getOrganization', 200);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,7 @@ import {
 | 
			
		||||
  verifyResponseStatusCode,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { BASE_URL } from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
const roleName = `Role-test-${uuid()}`;
 | 
			
		||||
const userName = `usercttest${uuid()}`;
 | 
			
		||||
@ -28,7 +29,7 @@ describe('Test Add role and assign it to the user', () => {
 | 
			
		||||
    cy.login();
 | 
			
		||||
    interceptURL('GET', '*api/v1/roles*', 'getRoles');
 | 
			
		||||
    interceptURL('GET', '/api/v1/users?*', 'usersPage');
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Create role', () => {
 | 
			
		||||
 | 
			
		||||
@ -16,6 +16,7 @@ import { searchAndClickOnOption } from '../../common/advancedSearchQuickFilters'
 | 
			
		||||
import { interceptURL, verifyResponseStatusCode } from '../../common/common';
 | 
			
		||||
import { QUICK_FILTERS_BY_ASSETS } from '../../constants/advancedSearchQuickFilters.constants';
 | 
			
		||||
import { SEARCH_ENTITY_TABLE } from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
const ownerName = 'Aaron Johnson';
 | 
			
		||||
 | 
			
		||||
describe(`Advanced search quick filters should work properly for assets`, () => {
 | 
			
		||||
@ -35,7 +36,7 @@ describe(`Advanced search quick filters should work properly for assets`, () =>
 | 
			
		||||
 | 
			
		||||
  it(`should show the quick filters for respective assets`, () => {
 | 
			
		||||
    // Navigate to explore page
 | 
			
		||||
    cy.sidebarClick('app-bar-item-explore');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.EXPLORE);
 | 
			
		||||
    QUICK_FILTERS_BY_ASSETS.map((asset) => {
 | 
			
		||||
      cy.get(`[data-testid="${asset.tab}"]`).scrollIntoView().click();
 | 
			
		||||
 | 
			
		||||
@ -52,7 +53,7 @@ describe(`Advanced search quick filters should work properly for assets`, () =>
 | 
			
		||||
    const asset = QUICK_FILTERS_BY_ASSETS[0];
 | 
			
		||||
 | 
			
		||||
    // Navigate to explore page
 | 
			
		||||
    cy.sidebarClick('app-bar-item-explore');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.EXPLORE);
 | 
			
		||||
    cy.get(`[data-testid="${asset.tab}"]`).scrollIntoView().click();
 | 
			
		||||
 | 
			
		||||
    asset.filters
 | 
			
		||||
@ -77,7 +78,7 @@ describe(`Advanced search quick filters should work properly for assets`, () =>
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const testIsNullAndIsNotNullFilters = (operatorTitle, queryFilter, alias) => {
 | 
			
		||||
  cy.sidebarClick('app-bar-item-explore');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.EXPLORE);
 | 
			
		||||
  const asset = QUICK_FILTERS_BY_ASSETS[0];
 | 
			
		||||
  cy.get(`[data-testid="${asset.tab}"]`).scrollIntoView().click();
 | 
			
		||||
  cy.get('[data-testid="advance-search-button"]').click();
 | 
			
		||||
 | 
			
		||||
@ -12,40 +12,37 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import { interceptURL } from '../../common/common';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
describe('Collect end point should work properly', () => {
 | 
			
		||||
  const PAGES = {
 | 
			
		||||
    setting: {
 | 
			
		||||
      name: 'Settings',
 | 
			
		||||
      mainMenuId: `[data-testid="app-bar-item-settings"]`,
 | 
			
		||||
      menuId: SidebarItem.SETTINGS,
 | 
			
		||||
    },
 | 
			
		||||
    explore: {
 | 
			
		||||
      name: 'Explore',
 | 
			
		||||
      mainMenuId: `[data-testid="app-bar-item-explore"]`,
 | 
			
		||||
      menuId: SidebarItem.EXPLORE,
 | 
			
		||||
    },
 | 
			
		||||
    dataQuality: {
 | 
			
		||||
      name: 'Quality',
 | 
			
		||||
      mainMenuId: `[data-testid="observability"]`,
 | 
			
		||||
      subMenu: `[data-testid="app-bar-item-data-quality"]`,
 | 
			
		||||
      menuId: SidebarItem.DATA_QUALITY,
 | 
			
		||||
    },
 | 
			
		||||
    incidentManager: {
 | 
			
		||||
      name: 'Incident Manager',
 | 
			
		||||
      mainMenuId: `[data-testid="observability"]`,
 | 
			
		||||
      subMenu: `[data-testid="app-bar-item-incident-manager"]`,
 | 
			
		||||
      menuId: SidebarItem.INCIDENT_MANAGER,
 | 
			
		||||
    },
 | 
			
		||||
    insight: {
 | 
			
		||||
      name: 'Insights',
 | 
			
		||||
      mainMenuId: `[data-testid="app-bar-item-data-insight"]`,
 | 
			
		||||
      menuId: SidebarItem.DATA_INSIGHT,
 | 
			
		||||
    },
 | 
			
		||||
    glossary: {
 | 
			
		||||
      name: 'Glossary',
 | 
			
		||||
      mainMenuId: `[data-testid="governance"]`,
 | 
			
		||||
      subMenu: `[data-testid="app-bar-item-glossary"]`,
 | 
			
		||||
      menuId: SidebarItem.GLOSSARY,
 | 
			
		||||
    },
 | 
			
		||||
    tag: {
 | 
			
		||||
      name: 'Tags',
 | 
			
		||||
      mainMenuId: `[data-testid="governance"]`,
 | 
			
		||||
      subMenu: `[data-testid="app-bar-item-tags"]`,
 | 
			
		||||
      menuId: SidebarItem.TAGS,
 | 
			
		||||
    },
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
@ -66,16 +63,7 @@ describe('Collect end point should work properly', () => {
 | 
			
		||||
 | 
			
		||||
  Object.values(PAGES).map((page) => {
 | 
			
		||||
    it(`Visit ${page.name} page should trigger collect API`, () => {
 | 
			
		||||
      cy.sidebarHover();
 | 
			
		||||
      cy.get(page.mainMenuId)
 | 
			
		||||
        .should('be.visible')
 | 
			
		||||
        .click({ animationDistanceThreshold: 10 });
 | 
			
		||||
      if (page.subMenu) {
 | 
			
		||||
        // adding manual wait to open dropdown in UI
 | 
			
		||||
        cy.wait(500);
 | 
			
		||||
        cy.get(page.subMenu).should('be.visible').click({ force: true });
 | 
			
		||||
      }
 | 
			
		||||
      cy.sidebarHoverOutside();
 | 
			
		||||
      cy.sidebarClick(page.menuId);
 | 
			
		||||
      assertCollectEndPoint();
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
@ -20,6 +20,7 @@ import {
 | 
			
		||||
  verifyResponseStatusCode,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { DELETE_TERM } from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
import { PERSONA_DETAILS, USER_DETAILS } from '../../constants/EntityConstant';
 | 
			
		||||
 | 
			
		||||
const updatePersonaDisplayName = (displayName) => {
 | 
			
		||||
@ -78,7 +79,7 @@ describe('Persona operations', () => {
 | 
			
		||||
    cy.login();
 | 
			
		||||
    interceptURL('GET', '/api/v1/teams/name/*', 'settingsPage');
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
    verifyResponseStatusCode('@settingsPage', 200);
 | 
			
		||||
    cy.get('[data-testid="settings-left-panel"]').should('be.visible');
 | 
			
		||||
 | 
			
		||||
@ -22,6 +22,7 @@ import {
 | 
			
		||||
  verifyResponseStatusCode,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { DELETE_TERM, DESTINATION, TEST_CASE } from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
const alertForAllAssets = `Alert-ct-test-${uuid()}`;
 | 
			
		||||
const description = 'This is alert description';
 | 
			
		||||
@ -62,7 +63,7 @@ describe.skip('Alerts page should work properly', () => {
 | 
			
		||||
    interceptURL('POST', '/api/v1/events/subscriptions', 'createAlert');
 | 
			
		||||
    interceptURL('GET', `/api/v1/search/query?q=*`, 'getSearchResult');
 | 
			
		||||
    cy.login();
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
    interceptURL('GET', '/api/v1/events/subscriptions?*', 'alertsPage');
 | 
			
		||||
    cy.get('[data-testid="global-setting-left-panel"]')
 | 
			
		||||
      .contains('Alerts')
 | 
			
		||||
 | 
			
		||||
@ -21,6 +21,7 @@ import {
 | 
			
		||||
  verifyResponseStatusCode,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { DELETE_TERM } from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
const botName = `Bot-ct-test-${uuid()}`;
 | 
			
		||||
const botEmail = `${botName}@mail.com`;
 | 
			
		||||
@ -70,7 +71,7 @@ const revokeToken = () => {
 | 
			
		||||
describe('Bots Page should work properly', () => {
 | 
			
		||||
  beforeEach(() => {
 | 
			
		||||
    cy.login();
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
    interceptURL(
 | 
			
		||||
      'GET',
 | 
			
		||||
      'api/v1/bots?limit=*&include=non-deleted',
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,7 @@
 | 
			
		||||
/// <reference types="cypress" />
 | 
			
		||||
 | 
			
		||||
import { interceptURL, verifyResponseStatusCode } from '../../common/common';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
const config = {
 | 
			
		||||
  logo: 'https://custom-logo.png',
 | 
			
		||||
@ -26,7 +27,7 @@ describe('Custom Logo Config', () => {
 | 
			
		||||
  beforeEach(() => {
 | 
			
		||||
    cy.login();
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
    interceptURL(
 | 
			
		||||
      'GET',
 | 
			
		||||
 | 
			
		||||
@ -19,12 +19,13 @@ import {
 | 
			
		||||
  verifyResponseStatusCode,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { ENTITIES, uuid } from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
describe('Custom Properties should work properly', () => {
 | 
			
		||||
  beforeEach(() => {
 | 
			
		||||
    cy.login();
 | 
			
		||||
    interceptURL('GET', '/api/v1/teams/name/*', 'settingsPage');
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
    verifyResponseStatusCode('@settingsPage', 200);
 | 
			
		||||
    cy.get('[data-testid="settings-left-panel"]').should('be.visible');
 | 
			
		||||
  });
 | 
			
		||||
@ -57,7 +58,7 @@ describe('Custom Properties should work properly', () => {
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        // Navigating back to custom properties page
 | 
			
		||||
        cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
        cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
        cy.get(`[data-menu-id*="customAttributes.${entity.name}"]`)
 | 
			
		||||
          .scrollIntoView()
 | 
			
		||||
          .click();
 | 
			
		||||
@ -128,7 +129,7 @@ describe('Custom Properties should work properly', () => {
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        // Navigating back to custom properties page
 | 
			
		||||
        cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
        cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
        // Selecting the entity
 | 
			
		||||
        cy.get(`[data-menu-id*="customAttributes.${entity.name}"]`)
 | 
			
		||||
          .scrollIntoView()
 | 
			
		||||
@ -202,7 +203,7 @@ describe('Custom Properties should work properly', () => {
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        // Navigating back to custom properties page
 | 
			
		||||
        cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
        cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
        cy.get(`[data-menu-id*="customAttributes.${entity.name}"]`)
 | 
			
		||||
          .scrollIntoView()
 | 
			
		||||
          .should('be.visible')
 | 
			
		||||
@ -273,7 +274,7 @@ describe('Custom Properties should work properly', () => {
 | 
			
		||||
      );
 | 
			
		||||
 | 
			
		||||
      // Navigating to explore page
 | 
			
		||||
      cy.sidebarClick('app-bar-item-explore');
 | 
			
		||||
      cy.sidebarClick(SidebarItem.EXPLORE);
 | 
			
		||||
      interceptURL(
 | 
			
		||||
        'GET',
 | 
			
		||||
        `/api/v1/metadata/types/name/glossaryTerm*`,
 | 
			
		||||
 | 
			
		||||
@ -23,6 +23,7 @@ import {
 | 
			
		||||
  verifyResponseStatusCode,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { checkDataInsightSuccessStatus } from '../../common/DataInsightUtils';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
const KPI_DATA = [
 | 
			
		||||
  {
 | 
			
		||||
@ -93,13 +94,13 @@ describe('Data Insight feature', () => {
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Initial setup', () => {
 | 
			
		||||
    cy.sidebarClick('app-bar-item-data-insight');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.DATA_INSIGHT);
 | 
			
		||||
    verifyResponseStatusCode('@dataInsightsChart', 200);
 | 
			
		||||
    deleteKpiRequest();
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Create description and owner KPI', () => {
 | 
			
		||||
    cy.sidebarClick('app-bar-item-data-insight');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.DATA_INSIGHT);
 | 
			
		||||
    verifyResponseStatusCode('@dataInsightsChart', 200);
 | 
			
		||||
    cy.get('[data-menu-id*="kpi"]').click();
 | 
			
		||||
    KPI_DATA.map((data) => {
 | 
			
		||||
@ -144,7 +145,7 @@ describe('Data Insight feature', () => {
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Verifying Data assets tab', () => {
 | 
			
		||||
    cy.sidebarClick('app-bar-item-data-insight');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.DATA_INSIGHT);
 | 
			
		||||
    verifyResponseStatusCode('@dataInsightsChart', 200);
 | 
			
		||||
    cy.get('[data-testid="search-dropdown-Team"]').should('be.visible');
 | 
			
		||||
    cy.get('[data-testid="search-dropdown-Tier"]').should('be.visible');
 | 
			
		||||
@ -170,7 +171,7 @@ describe('Data Insight feature', () => {
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Verifying App analytics tab', () => {
 | 
			
		||||
    cy.sidebarClick('app-bar-item-data-insight');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.DATA_INSIGHT);
 | 
			
		||||
    verifyResponseStatusCode('@dataInsightsChart', 200);
 | 
			
		||||
    cy.get('[data-menu-id*="app-analytics"]').click();
 | 
			
		||||
    verifyResponseStatusCode('@dataInsightsChart', 200);
 | 
			
		||||
@ -192,7 +193,7 @@ describe('Data Insight feature', () => {
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Verifying KPI tab', () => {
 | 
			
		||||
    cy.sidebarClick('app-bar-item-data-insight');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.DATA_INSIGHT);
 | 
			
		||||
    verifyResponseStatusCode('@dataInsightsChart', 200);
 | 
			
		||||
    cy.get('[data-menu-id*="kpi"]').click();
 | 
			
		||||
    verifyResponseStatusCode('@dataInsightsChart', 200);
 | 
			
		||||
@ -210,7 +211,7 @@ describe('Data Insight feature', () => {
 | 
			
		||||
  it('Update KPI', () => {
 | 
			
		||||
    interceptURL('GET', '/api/v1/kpi/name/*', 'fetchKpiByName');
 | 
			
		||||
    interceptURL('PATCH', '/api/v1/kpi/*', 'updateKpi');
 | 
			
		||||
    cy.sidebarClick('app-bar-item-data-insight');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.DATA_INSIGHT);
 | 
			
		||||
    verifyResponseStatusCode('@dataInsightsChart', 200);
 | 
			
		||||
    cy.get('[data-menu-id*="kpi"]').click();
 | 
			
		||||
    verifyResponseStatusCode('@dataInsightsChart', 200);
 | 
			
		||||
@ -233,7 +234,7 @@ describe('Data Insight feature', () => {
 | 
			
		||||
      '/api/v1/kpi/*?hardDelete=true&recursive=false',
 | 
			
		||||
      'deleteKpi'
 | 
			
		||||
    );
 | 
			
		||||
    cy.sidebarClick('app-bar-item-data-insight');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.DATA_INSIGHT);
 | 
			
		||||
    verifyResponseStatusCode('@dataInsightsChart', 200);
 | 
			
		||||
    cy.get('[data-menu-id*="kpi"]').click();
 | 
			
		||||
    verifyResponseStatusCode('@dataInsightsChart', 200);
 | 
			
		||||
 | 
			
		||||
@ -16,6 +16,7 @@ import {
 | 
			
		||||
  toastNotification,
 | 
			
		||||
  verifyResponseStatusCode,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
const dataInsightReport = {
 | 
			
		||||
  triggerType: 'Scheduled',
 | 
			
		||||
@ -30,8 +31,7 @@ const dataInsightReport = {
 | 
			
		||||
describe.skip('Data Insight Alert', () => {
 | 
			
		||||
  beforeEach(() => {
 | 
			
		||||
    cy.login();
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
    interceptURL(
 | 
			
		||||
      'GET',
 | 
			
		||||
      'api/v1/events/subscriptions/name/DataInsightReport?include=all',
 | 
			
		||||
 | 
			
		||||
@ -12,13 +12,14 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import { interceptURL, verifyResponseStatusCode } from '../../common/common';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
describe('Data Insight settings page should work properly', () => {
 | 
			
		||||
  beforeEach(() => {
 | 
			
		||||
    cy.login();
 | 
			
		||||
    interceptURL('GET', '/api/v1/teams/name/*', 'settingsPage');
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
    verifyResponseStatusCode('@settingsPage', 200);
 | 
			
		||||
    cy.get('[data-testid="settings-left-panel"]').should('be.visible');
 | 
			
		||||
 | 
			
		||||
@ -43,6 +43,7 @@ import {
 | 
			
		||||
  SERVICE_TYPE,
 | 
			
		||||
  TEAM_ENTITY,
 | 
			
		||||
} from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
import { DATABASE_SERVICE } from '../../constants/EntityConstant';
 | 
			
		||||
import { SERVICE_CATEGORIES } from '../../constants/service.constants';
 | 
			
		||||
 | 
			
		||||
@ -114,13 +115,7 @@ const visitTestSuiteDetailsPage = (testSuiteName) => {
 | 
			
		||||
  );
 | 
			
		||||
  interceptURL('GET', '/api/v1/dataQuality/testCases?fields=*', 'testCase');
 | 
			
		||||
 | 
			
		||||
  cy.sidebarHover();
 | 
			
		||||
 | 
			
		||||
  cy.get('[data-testid="observability"]').click();
 | 
			
		||||
 | 
			
		||||
  cy.sidebarClick('app-bar-item-data-quality');
 | 
			
		||||
 | 
			
		||||
  cy.sidebarHoverOutside();
 | 
			
		||||
  cy.sidebarClick(SidebarItem.DATA_QUALITY);
 | 
			
		||||
 | 
			
		||||
  cy.get('[data-testid="by-test-suites"]').click();
 | 
			
		||||
  verifyResponseStatusCode('@testSuite', 200);
 | 
			
		||||
@ -214,11 +209,8 @@ describe('Data Quality and Profiler should work properly', () => {
 | 
			
		||||
    goToProfilerTab();
 | 
			
		||||
 | 
			
		||||
    cy.get('[data-testid="no-profiler-placeholder"]').should('be.visible');
 | 
			
		||||
 | 
			
		||||
    cy.clickOnLogo();
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
    cy.get('[data-menu-id*="services.databases"]').should('be.visible').click();
 | 
			
		||||
    cy.intercept('/api/v1/services/ingestionPipelines?*').as('ingestionData');
 | 
			
		||||
    interceptURL(
 | 
			
		||||
@ -549,13 +541,7 @@ describe('Data Quality and Profiler should work properly', () => {
 | 
			
		||||
      'getTestCase'
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    cy.sidebarHover();
 | 
			
		||||
 | 
			
		||||
    cy.get('[data-testid="observability"]').click();
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-data-quality');
 | 
			
		||||
 | 
			
		||||
    cy.sidebarHoverOutside();
 | 
			
		||||
    cy.sidebarClick(SidebarItem.DATA_QUALITY);
 | 
			
		||||
 | 
			
		||||
    cy.get('[data-testid="by-test-suites"]').click();
 | 
			
		||||
    verifyResponseStatusCode('@testSuite', 200);
 | 
			
		||||
@ -865,13 +851,7 @@ describe('Data Quality and Profiler should work properly', () => {
 | 
			
		||||
  it('Update displayName of test case', () => {
 | 
			
		||||
    interceptURL('GET', '/api/v1/dataQuality/testCases?*', 'getTestCase');
 | 
			
		||||
 | 
			
		||||
    cy.sidebarHover();
 | 
			
		||||
 | 
			
		||||
    cy.get('[data-testid="observability"]').click();
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-data-quality');
 | 
			
		||||
 | 
			
		||||
    cy.sidebarHoverOutside();
 | 
			
		||||
    cy.sidebarClick(SidebarItem.DATA_QUALITY);
 | 
			
		||||
 | 
			
		||||
    cy.get('[data-testid="by-test-cases"]').click();
 | 
			
		||||
    verifyResponseStatusCode('@getTestCase', 200);
 | 
			
		||||
 | 
			
		||||
@ -29,12 +29,12 @@ import {
 | 
			
		||||
  verifyDomain,
 | 
			
		||||
} from '../../common/DomainUtils';
 | 
			
		||||
import { DOMAIN_1, DOMAIN_2, DOMAIN_3 } from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
describe('Domain page should work properly', () => {
 | 
			
		||||
  beforeEach(() => {
 | 
			
		||||
    cy.login();
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-domain');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.DOMAIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Create new domain flow should work properly', () => {
 | 
			
		||||
@ -59,14 +59,14 @@ describe('Domain page should work properly', () => {
 | 
			
		||||
  it('Create new data product should work properly', () => {
 | 
			
		||||
    DOMAIN_1.dataProducts.forEach((dataProduct) => {
 | 
			
		||||
      createDataProducts(dataProduct, DOMAIN_1);
 | 
			
		||||
      cy.sidebarClick('app-bar-item-domain');
 | 
			
		||||
      cy.sidebarClick(SidebarItem.DOMAIN);
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Add data product assets using asset selection modal should work properly', () => {
 | 
			
		||||
    DOMAIN_2.dataProducts.forEach((dp) => {
 | 
			
		||||
      createDataProducts(dp, DOMAIN_2);
 | 
			
		||||
      cy.sidebarClick('app-bar-item-domain');
 | 
			
		||||
      cy.sidebarClick(SidebarItem.DOMAIN);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    addAssetsToDataProduct(DOMAIN_2.dataProducts[0], DOMAIN_2);
 | 
			
		||||
@ -75,7 +75,7 @@ describe('Domain page should work properly', () => {
 | 
			
		||||
  it('Add data product assets using asset selection modal with separate domain and dp having space', () => {
 | 
			
		||||
    DOMAIN_3.dataProducts.forEach((dp) => {
 | 
			
		||||
      createDataProducts(dp, DOMAIN_3);
 | 
			
		||||
      cy.sidebarClick('app-bar-item-domain');
 | 
			
		||||
      cy.sidebarClick(SidebarItem.DOMAIN);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    addAssetsToDataProduct(DOMAIN_3.dataProducts[0], DOMAIN_3);
 | 
			
		||||
@ -96,7 +96,7 @@ describe('Domain page should work properly', () => {
 | 
			
		||||
      'tableSearchQuery'
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-explore');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.EXPLORE);
 | 
			
		||||
 | 
			
		||||
    verifyResponseStatusCode('@tableSearchQuery', 200);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
@ -44,6 +44,7 @@ import {
 | 
			
		||||
  NEW_GLOSSARY_TERMS,
 | 
			
		||||
  SEARCH_ENTITY_TABLE,
 | 
			
		||||
} from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
const userName = `test_dataconsumer${uuid()}`;
 | 
			
		||||
 | 
			
		||||
@ -584,14 +585,7 @@ const voteGlossary = (isGlossary) => {
 | 
			
		||||
const goToGlossaryPage = () => {
 | 
			
		||||
  interceptURL('GET', '/api/v1/glossaryTerms*', 'getGlossaryTerms');
 | 
			
		||||
  interceptURL('GET', '/api/v1/glossaries?fields=*', 'fetchGlossaries');
 | 
			
		||||
 | 
			
		||||
  cy.sidebarHover();
 | 
			
		||||
  cy.get('[data-testid="governance"]').click({
 | 
			
		||||
    animationDistanceThreshold: 20,
 | 
			
		||||
    waitForAnimations: true,
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  cy.sidebarClick('app-bar-item-glossary', 'governance');
 | 
			
		||||
  cy.sidebarClick(SidebarItem.GLOSSARY);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const approveGlossaryTermWorkflow = ({ glossary, glossaryTerm }) => {
 | 
			
		||||
 | 
			
		||||
@ -1,3 +1,5 @@
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 *  Copyright 2023 Collate.
 | 
			
		||||
 *  Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
@ -13,8 +15,7 @@
 | 
			
		||||
describe('template spec', () => {
 | 
			
		||||
  beforeEach(() => {
 | 
			
		||||
    cy.login();
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
    cy.get('[data-testid="settings-left-panel"]')
 | 
			
		||||
      .contains('Login Configuration')
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,7 @@ import {
 | 
			
		||||
  verifyResponseStatusCode,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { BASE_URL } from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
const roles = {
 | 
			
		||||
  dataConsumer: 'Data Consumer',
 | 
			
		||||
@ -100,7 +101,7 @@ describe('Policy page should work properly', () => {
 | 
			
		||||
    cy.login();
 | 
			
		||||
    cy.intercept('GET', '*api/v1/policies*').as('getPolicies');
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
    cy.get('[data-testid="settings-left-panel"]')
 | 
			
		||||
      .contains('Policies')
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,7 @@ import {
 | 
			
		||||
  verifyResponseStatusCode,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { BASE_URL } from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
const roles = {
 | 
			
		||||
  dataConsumer: 'Data Consumer',
 | 
			
		||||
@ -61,7 +62,7 @@ describe('Roles page should work properly', () => {
 | 
			
		||||
 | 
			
		||||
    interceptURL('GET', '*api/v1/roles*', 'getRoles');
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
    cy.get('[data-testid="settings-left-panel"]')
 | 
			
		||||
      .contains('Roles')
 | 
			
		||||
 | 
			
		||||
@ -24,6 +24,7 @@ import {
 | 
			
		||||
  visitEntityDetailsPage,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { BASE_URL, uuid } from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
import {
 | 
			
		||||
  SEARCH_INDEX_DETAILS_FOR_DETAILS_PAGE_TEST,
 | 
			
		||||
  SEARCH_INDEX_DISPLAY_NAME,
 | 
			
		||||
@ -190,7 +191,7 @@ describe('Prerequisite for data steward role tests', () => {
 | 
			
		||||
 | 
			
		||||
    // Assign data steward role to the created user
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
    interceptURL('GET', `/api/v1/users?*`, 'getUsersList');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,7 @@ import {
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { searchServiceFromSettingPage } from '../../common/serviceUtils';
 | 
			
		||||
import { service } from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
describe('Services page should work properly', () => {
 | 
			
		||||
  beforeEach(() => {
 | 
			
		||||
@ -39,7 +40,7 @@ describe('Services page should work properly', () => {
 | 
			
		||||
    cy.login();
 | 
			
		||||
    // redirecting to services page
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
    cy.get('[data-testid="settings-left-panel"]')
 | 
			
		||||
      .contains('Database')
 | 
			
		||||
 | 
			
		||||
@ -23,6 +23,7 @@ import {
 | 
			
		||||
  uuid,
 | 
			
		||||
  verifyResponseStatusCode,
 | 
			
		||||
} from '../../common/common';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
 | 
			
		||||
const updatedDescription = 'This is updated description';
 | 
			
		||||
 | 
			
		||||
@ -53,7 +54,7 @@ describe('Teams flow should work properly', () => {
 | 
			
		||||
    interceptURL('GET', `/api/v1/permissions/team/name/*`, 'permissions');
 | 
			
		||||
    cy.login();
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
 | 
			
		||||
    // Clicking on teams
 | 
			
		||||
    cy.get('[data-testid="settings-left-panel"]').contains('Teams').click();
 | 
			
		||||
 | 
			
		||||
@ -32,7 +32,7 @@ import {
 | 
			
		||||
  ID,
 | 
			
		||||
  uuid,
 | 
			
		||||
} from '../../constants/constants';
 | 
			
		||||
import { EntityType } from '../../constants/Entity.interface';
 | 
			
		||||
import { EntityType, SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
import { NAVBAR_DETAILS } from '../../constants/redirections.constants';
 | 
			
		||||
 | 
			
		||||
const entity = new UsersTestClass();
 | 
			
		||||
@ -110,16 +110,7 @@ describe('User with different Roles', () => {
 | 
			
		||||
    cy.url().should('eq', `${BASE_URL}/my-data`);
 | 
			
		||||
 | 
			
		||||
    // Check CRUD for Glossary
 | 
			
		||||
    cy.sidebarHover();
 | 
			
		||||
 | 
			
		||||
    cy.get(glossary.testid)
 | 
			
		||||
      .should('be.visible')
 | 
			
		||||
      .click({ animationDistanceThreshold: 10, waitForAnimations: true });
 | 
			
		||||
    if (glossary.subMenu) {
 | 
			
		||||
      cy.get(glossary.subMenu).should('be.visible').click({ force: true });
 | 
			
		||||
    }
 | 
			
		||||
    cy.clickOutside();
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick(SidebarItem.GLOSSARY);
 | 
			
		||||
    cy.clickOnLogo();
 | 
			
		||||
 | 
			
		||||
    // Check CRUD for Tags
 | 
			
		||||
 | 
			
		||||
@ -34,7 +34,6 @@ describe('Redirection link should work properly', () => {
 | 
			
		||||
      if (navbar.subMenu) {
 | 
			
		||||
        cy.get(navbar.subMenu).should('be.visible').click({ force: true });
 | 
			
		||||
      }
 | 
			
		||||
      //
 | 
			
		||||
      cy.get('body').click();
 | 
			
		||||
      validateURL(navbar.url);
 | 
			
		||||
      cy.clickOnLogo();
 | 
			
		||||
 | 
			
		||||
@ -30,6 +30,7 @@ import {
 | 
			
		||||
  HTTP_CONFIG_SOURCE,
 | 
			
		||||
  SERVICE_TYPE,
 | 
			
		||||
} from '../../constants/constants';
 | 
			
		||||
import { SidebarItem } from '../../constants/Entity.interface';
 | 
			
		||||
import { REDSHIFT } from '../../constants/service.constants';
 | 
			
		||||
 | 
			
		||||
const dbtEntityFqn = `${REDSHIFT.serviceName}.${Cypress.env(
 | 
			
		||||
@ -106,7 +107,7 @@ describe('RedShift Ingestion', () => {
 | 
			
		||||
      '/api/v1/services/ingestionPipelines/*/pipelineStatus?startTs=*&endTs=*',
 | 
			
		||||
      'pipelineStatus'
 | 
			
		||||
    );
 | 
			
		||||
    cy.sidebarClick('app-bar-item-settings');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.SETTINGS);
 | 
			
		||||
    verifyResponseStatusCode('@getSettingsPage', 200);
 | 
			
		||||
    // Services page
 | 
			
		||||
    interceptURL('GET', '/api/v1/services/*', 'getServices');
 | 
			
		||||
@ -223,10 +224,8 @@ describe('RedShift Ingestion', () => {
 | 
			
		||||
      `/api/v1/tags?*parent=${DBT.classification}*`,
 | 
			
		||||
      'getTagList'
 | 
			
		||||
    );
 | 
			
		||||
    cy.sidebarHover();
 | 
			
		||||
    cy.get('[data-testid="governance"]').click();
 | 
			
		||||
 | 
			
		||||
    cy.sidebarClick('app-bar-item-tags');
 | 
			
		||||
    cy.sidebarClick(SidebarItem.TAGS);
 | 
			
		||||
 | 
			
		||||
    verifyResponseStatusCode('@fetchClassifications', 200);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -38,6 +38,7 @@
 | 
			
		||||
 | 
			
		||||
import { interceptURL, verifyResponseStatusCode } from '../common/common';
 | 
			
		||||
import { BASE_URL, LOGIN } from '../constants/constants';
 | 
			
		||||
import { SIDEBAR_LIST_ITEMS } from '../constants/sidebar.constant';
 | 
			
		||||
 | 
			
		||||
Cypress.Commands.add('loginByGoogleApi', () => {
 | 
			
		||||
  cy.log('Logging in to Google');
 | 
			
		||||
@ -164,17 +165,24 @@ Cypress.Commands.add('logout', () => {
 | 
			
		||||
  Cypress.session.clearAllSavedSessions();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
// This command is used to click on the sidebar item
 | 
			
		||||
// id: data-testid of the sidebar item
 | 
			
		||||
// parentId: data-testid of the parent sidebar item to close after click if present
 | 
			
		||||
Cypress.Commands.add('sidebarClick', (id, parentId) => {
 | 
			
		||||
  cy.get(`[data-testid="${id}"]`).click({
 | 
			
		||||
    animationDistanceThreshold: 20,
 | 
			
		||||
    waitForAnimations: true,
 | 
			
		||||
  });
 | 
			
		||||
/* 
 | 
			
		||||
  This command is used to click on the sidebar item
 | 
			
		||||
  id: data-testid of the sidebar item to be clicked
 | 
			
		||||
  */
 | 
			
		||||
Cypress.Commands.add('sidebarClick', (id) => {
 | 
			
		||||
  const items = SIDEBAR_LIST_ITEMS[id];
 | 
			
		||||
  if (items) {
 | 
			
		||||
    cy.sidebarHover();
 | 
			
		||||
    cy.get(`[data-testid="${items[0]}"]`).click({
 | 
			
		||||
      animationDistanceThreshold: 20,
 | 
			
		||||
      waitForAnimations: true,
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
  if (parentId) {
 | 
			
		||||
    cy.get(`[data-testid="${parentId}"]`).click();
 | 
			
		||||
    cy.get(`[data-testid="app-bar-item-${items[1]}"]`).click();
 | 
			
		||||
 | 
			
		||||
    cy.get(`[data-testid="${items[0]}"]`).click();
 | 
			
		||||
  } else {
 | 
			
		||||
    cy.get(`[data-testid="app-bar-item-${id}"]`).click();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  cy.sidebarHoverOutside();
 | 
			
		||||
 | 
			
		||||
@ -25,6 +25,7 @@ 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';
 | 
			
		||||
 | 
			
		||||
import { SidebarItem } from '../enums/sidebar.enum';
 | 
			
		||||
import { getDataInsightPathWithFqn } from '../utils/DataInsightUtils';
 | 
			
		||||
import { ROUTES } from './constants';
 | 
			
		||||
 | 
			
		||||
@ -34,34 +35,34 @@ export const SIDEBAR_LIST = [
 | 
			
		||||
    label: i18next.t('label.explore'),
 | 
			
		||||
    redirect_url: '/explore/tables',
 | 
			
		||||
    icon: ExploreIcon,
 | 
			
		||||
    dataTestId: 'app-bar-item-explore',
 | 
			
		||||
    dataTestId: `app-bar-item-${SidebarItem.EXPLORE}`,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    key: ROUTES.OBSERVABILITY,
 | 
			
		||||
    label: i18next.t('label.observability'),
 | 
			
		||||
    icon: ObservabilityIcon,
 | 
			
		||||
    dataTestId: 'observability',
 | 
			
		||||
    dataTestId: SidebarItem.OBSERVABILITY,
 | 
			
		||||
    children: [
 | 
			
		||||
      {
 | 
			
		||||
        key: ROUTES.DATA_QUALITY,
 | 
			
		||||
        label: i18next.t('label.data-quality'),
 | 
			
		||||
        redirect_url: ROUTES.DATA_QUALITY,
 | 
			
		||||
        icon: DataQualityIcon,
 | 
			
		||||
        dataTestId: 'app-bar-item-data-quality',
 | 
			
		||||
        dataTestId: `app-bar-item-${SidebarItem.DATA_QUALITY}`,
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        key: ROUTES.INCIDENT_MANAGER,
 | 
			
		||||
        label: i18next.t('label.incident-manager'),
 | 
			
		||||
        redirect_url: ROUTES.INCIDENT_MANAGER,
 | 
			
		||||
        icon: IncidentMangerIcon,
 | 
			
		||||
        dataTestId: 'app-bar-item-incident-manager',
 | 
			
		||||
        dataTestId: `app-bar-item-${SidebarItem.INCIDENT_MANAGER}`,
 | 
			
		||||
        isBeta: true,
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        key: ROUTES.OBSERVABILITY,
 | 
			
		||||
        label: i18next.t('label.alert-plural'),
 | 
			
		||||
        icon: AlertIcon,
 | 
			
		||||
        dataTestId: 'app-bar-item-observability-alert',
 | 
			
		||||
        dataTestId: `app-bar-item-${SidebarItem.OBSERVABILITY_ALERT}`,
 | 
			
		||||
      },
 | 
			
		||||
    ],
 | 
			
		||||
  },
 | 
			
		||||
@ -70,34 +71,34 @@ export const SIDEBAR_LIST = [
 | 
			
		||||
    label: i18next.t('label.insight-plural'),
 | 
			
		||||
    redirect_url: getDataInsightPathWithFqn(),
 | 
			
		||||
    icon: InsightsIcon,
 | 
			
		||||
    dataTestId: 'app-bar-item-data-insight',
 | 
			
		||||
    dataTestId: `app-bar-item-${SidebarItem.DATA_INSIGHT}`,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    key: ROUTES.DOMAIN,
 | 
			
		||||
    label: i18next.t('label.domain-plural'),
 | 
			
		||||
    redirect_url: ROUTES.DOMAIN,
 | 
			
		||||
    icon: DomainsIcon,
 | 
			
		||||
    dataTestId: 'app-bar-item-domain',
 | 
			
		||||
    dataTestId: `app-bar-item-${SidebarItem.DOMAIN}`,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    key: 'governance',
 | 
			
		||||
    label: i18next.t('label.govern'),
 | 
			
		||||
    icon: GovernIcon,
 | 
			
		||||
    dataTestId: 'governance',
 | 
			
		||||
    dataTestId: SidebarItem.GOVERNANCE,
 | 
			
		||||
    children: [
 | 
			
		||||
      {
 | 
			
		||||
        key: ROUTES.GLOSSARY,
 | 
			
		||||
        label: i18next.t('label.glossary'),
 | 
			
		||||
        redirect_url: ROUTES.GLOSSARY,
 | 
			
		||||
        icon: GlossaryIcon,
 | 
			
		||||
        dataTestId: 'app-bar-item-glossary',
 | 
			
		||||
        dataTestId: `app-bar-item-${SidebarItem.GLOSSARY}`,
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        key: ROUTES.TAGS,
 | 
			
		||||
        label: i18next.t('label.classification'),
 | 
			
		||||
        redirect_url: ROUTES.TAGS,
 | 
			
		||||
        icon: ClassificationIcon,
 | 
			
		||||
        dataTestId: 'app-bar-item-tags',
 | 
			
		||||
        dataTestId: `app-bar-item-${SidebarItem.TAGS}`,
 | 
			
		||||
      },
 | 
			
		||||
    ],
 | 
			
		||||
  },
 | 
			
		||||
@ -108,12 +109,12 @@ export const SETTING_ITEM = {
 | 
			
		||||
  label: i18next.t('label.setting-plural'),
 | 
			
		||||
  redirect_url: ROUTES.SETTINGS,
 | 
			
		||||
  icon: SettingsIcon,
 | 
			
		||||
  dataTestId: 'app-bar-item-settings',
 | 
			
		||||
  dataTestId: `app-bar-item-${SidebarItem.SETTINGS}`,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const LOGOUT_ITEM = {
 | 
			
		||||
  key: 'logout',
 | 
			
		||||
  label: i18next.t('label.logout'),
 | 
			
		||||
  icon: LogoutIcon,
 | 
			
		||||
  dataTestId: 'app-bar-item-logout',
 | 
			
		||||
  dataTestId: `app-bar-item-${SidebarItem.LOGOUT}`,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,28 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  Copyright 2024 Collate.
 | 
			
		||||
 *  Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 *  you may not use this file except in compliance with the License.
 | 
			
		||||
 *  You may obtain a copy of the License at
 | 
			
		||||
 *  http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *  Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 *  distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 *  See the License for the specific language governing permissions and
 | 
			
		||||
 *  limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
export enum SidebarItem {
 | 
			
		||||
  EXPLORE = 'explore',
 | 
			
		||||
  OBSERVABILITY = 'observability',
 | 
			
		||||
  DATA_QUALITY = 'data-quality',
 | 
			
		||||
  INCIDENT_MANAGER = 'incident-manager',
 | 
			
		||||
  OBSERVABILITY_ALERT = 'observability-alert',
 | 
			
		||||
  DATA_INSIGHT = 'data-insight',
 | 
			
		||||
  DOMAIN = 'domain',
 | 
			
		||||
  GOVERNANCE = 'governance',
 | 
			
		||||
  GLOSSARY = 'glossary',
 | 
			
		||||
  TAGS = 'tags',
 | 
			
		||||
  INSIGHTS = 'insights',
 | 
			
		||||
  SETTINGS = 'settings',
 | 
			
		||||
  LOGOUT = 'logout',
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user