mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-12-27 15:38:43 +00:00
cypress: fixed AUT cypress test part 2 (#13818)
This commit is contained in:
parent
6e8bfea46d
commit
306c8ecfbe
@ -116,7 +116,11 @@ export const updateAssets = (domainObj) => {
|
||||
cy.contains('Adding a new Asset is easy, just give it a spin!').should(
|
||||
'be.visible'
|
||||
);
|
||||
visitEntityDetailsPage(entity.term, entity.serviceName, entity.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: entity.term,
|
||||
serviceName: entity.serviceName,
|
||||
entity: entity.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="add-domain"]').click();
|
||||
|
||||
@ -157,7 +161,11 @@ export const removeAssets = (domainObj) => {
|
||||
.contains(entity.term)
|
||||
.click();
|
||||
|
||||
visitEntityDetailsPage(entity.term, entity.serviceName, entity.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: entity.term,
|
||||
serviceName: entity.serviceName,
|
||||
entity: entity.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="add-domain"]').click();
|
||||
verifyResponseStatusCode('@domains', 200);
|
||||
|
||||
@ -26,13 +26,12 @@ export const visitEntityDetailsVersionPage = (
|
||||
entityFQN,
|
||||
version
|
||||
) => {
|
||||
visitEntityDetailsPage(
|
||||
entityDetails.name,
|
||||
entityDetails.serviceName,
|
||||
entityDetails.entity,
|
||||
undefined,
|
||||
entityDetails.entityType
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: entityDetails.term,
|
||||
serviceName: entityDetails.serviceName,
|
||||
entity: entityDetails.entity,
|
||||
entityType: entityDetails.entityType,
|
||||
});
|
||||
|
||||
interceptURL(
|
||||
'GET',
|
||||
|
||||
@ -255,11 +255,11 @@ export const checkmust_notPaths = (
|
||||
};
|
||||
|
||||
export const removeOwner = () => {
|
||||
visitEntityDetailsPage(
|
||||
SEARCH_ENTITY_TABLE.table_1.term,
|
||||
SEARCH_ENTITY_TABLE.table_1.serviceName,
|
||||
SEARCH_ENTITY_TABLE.table_1.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: SEARCH_ENTITY_TABLE.table_1.term,
|
||||
serviceName: SEARCH_ENTITY_TABLE.table_1.serviceName,
|
||||
entity: SEARCH_ENTITY_TABLE.table_1.entity,
|
||||
});
|
||||
interceptURL(
|
||||
'PATCH',
|
||||
`/api/v1/${SEARCH_ENTITY_TABLE.table_1.entity}/*`,
|
||||
@ -272,11 +272,11 @@ export const removeOwner = () => {
|
||||
};
|
||||
|
||||
export const addOwner = (ownerName) => {
|
||||
visitEntityDetailsPage(
|
||||
SEARCH_ENTITY_TABLE.table_1.term,
|
||||
SEARCH_ENTITY_TABLE.table_1.serviceName,
|
||||
SEARCH_ENTITY_TABLE.table_1.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: SEARCH_ENTITY_TABLE.table_1.term,
|
||||
serviceName: SEARCH_ENTITY_TABLE.table_1.serviceName,
|
||||
entity: SEARCH_ENTITY_TABLE.table_1.entity,
|
||||
});
|
||||
|
||||
interceptURL(
|
||||
'GET',
|
||||
@ -322,11 +322,11 @@ export const addOwner = (ownerName) => {
|
||||
};
|
||||
|
||||
export const addTier = () => {
|
||||
visitEntityDetailsPage(
|
||||
SEARCH_ENTITY_TABLE.table_2.term,
|
||||
SEARCH_ENTITY_TABLE.table_2.serviceName,
|
||||
SEARCH_ENTITY_TABLE.table_2.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: SEARCH_ENTITY_TABLE.table_2.term,
|
||||
serviceName: SEARCH_ENTITY_TABLE.table_2.serviceName,
|
||||
entity: SEARCH_ENTITY_TABLE.table_2.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="edit-tier"]')
|
||||
.scrollIntoView()
|
||||
@ -344,11 +344,11 @@ export const addTier = () => {
|
||||
};
|
||||
|
||||
export const addTag = (tag) => {
|
||||
visitEntityDetailsPage(
|
||||
SEARCH_ENTITY_TABLE.table_3.term,
|
||||
SEARCH_ENTITY_TABLE.table_3.serviceName,
|
||||
SEARCH_ENTITY_TABLE.table_3.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: SEARCH_ENTITY_TABLE.table_3.term,
|
||||
serviceName: SEARCH_ENTITY_TABLE.table_3.serviceName,
|
||||
entity: SEARCH_ENTITY_TABLE.table_3.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="entity-right-panel"] [data-testid="entity-tags"]')
|
||||
.eq(0)
|
||||
|
||||
@ -326,17 +326,16 @@ export const testServiceCreationAndIngestion = ({
|
||||
|
||||
verifyResponseStatusCode('@testConnectionStepDefinition', 200);
|
||||
|
||||
cy.get('[data-testid="test-connection-modal"]').should('exist');
|
||||
cy.get('.ant-modal-footer > .ant-btn-primary')
|
||||
.should('exist')
|
||||
.contains('OK')
|
||||
.click();
|
||||
|
||||
verifyResponseStatusCode('@createWorkflow', 201);
|
||||
// added extra buffer time as triggerWorkflow API can take up to 2minute to provide result
|
||||
verifyResponseStatusCode('@triggerWorkflow', 200, {
|
||||
responseTimeout: 120000,
|
||||
});
|
||||
cy.get('[data-testid="test-connection-modal"]').should('exist');
|
||||
cy.get('.ant-modal-footer > .ant-btn-primary')
|
||||
.should('exist')
|
||||
.contains('OK')
|
||||
.click();
|
||||
verifyResponseStatusCode('@getWorkflow', 200);
|
||||
cy.get('[data-testid="messag-text"]').then(($message) => {
|
||||
if ($message.text().includes('partially successful')) {
|
||||
@ -525,13 +524,14 @@ export const goToAddNewServicePage = (service_type) => {
|
||||
cy.get('[data-testid="service-category"]').should('be.visible');
|
||||
};
|
||||
|
||||
export const visitEntityDetailsPage = (
|
||||
export const visitEntityDetailsPage = ({
|
||||
term,
|
||||
serviceName,
|
||||
entity,
|
||||
dataTestId,
|
||||
entityType
|
||||
) => {
|
||||
entityType,
|
||||
entityFqn,
|
||||
}) => {
|
||||
if (entity === 'dashboardDataModel') {
|
||||
interceptURL(
|
||||
'GET',
|
||||
@ -557,7 +557,7 @@ export const visitEntityDetailsPage = (
|
||||
|
||||
// searching term in search box
|
||||
cy.get('[data-testid="searchBox"]').scrollIntoView().should('be.visible');
|
||||
cy.get('[data-testid="searchBox"]').type(term);
|
||||
cy.get('[data-testid="searchBox"]').type(entityFqn ?? term);
|
||||
cy.wait('@explorePageSearch').then(() => {
|
||||
cy.wait(500);
|
||||
cy.get('body').then(($body) => {
|
||||
@ -598,11 +598,11 @@ export const visitEntityDetailsPage = (
|
||||
// add new tag to entity and its table
|
||||
export const addNewTagToEntity = (entityObj, term) => {
|
||||
const { name, fqn } = term;
|
||||
visitEntityDetailsPage(
|
||||
entityObj.term,
|
||||
entityObj.serviceName,
|
||||
entityObj.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: entityObj.term,
|
||||
serviceName: entityObj.serviceName,
|
||||
entity: entityObj.entity,
|
||||
});
|
||||
cy.wait(500);
|
||||
cy.get(
|
||||
'[data-testid="classification-tags-0"] [data-testid="entity-tags"] [data-testid="add-tag"]'
|
||||
@ -779,7 +779,7 @@ export const toastNotification = (msg, closeToast = true) => {
|
||||
|
||||
export const addCustomPropertiesForEntity = (
|
||||
propertyName,
|
||||
entityType,
|
||||
customPropertyData,
|
||||
customType,
|
||||
value,
|
||||
entityObj
|
||||
@ -841,7 +841,7 @@ export const addCustomPropertiesForEntity = (
|
||||
cy.get('[data-testid="propertyType"]').click();
|
||||
cy.get(`[title="${customType}"]`).click();
|
||||
|
||||
cy.get(descriptionBox).clear().type(entityType.description);
|
||||
cy.get(descriptionBox).clear().type(customPropertyData.description);
|
||||
|
||||
// Check if the property got added
|
||||
cy.intercept('/api/v1/metadata/types/name/*?fields=customProperties').as(
|
||||
@ -857,11 +857,11 @@ export const addCustomPropertiesForEntity = (
|
||||
|
||||
// Checking the added property in Entity
|
||||
|
||||
visitEntityDetailsPage(
|
||||
entityObj.term,
|
||||
entityObj.serviceName,
|
||||
entityObj.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: entityObj.term,
|
||||
serviceName: entityObj.serviceName,
|
||||
entity: entityObj.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="custom_properties"]').click();
|
||||
cy.get('tbody').should('contain', propertyName);
|
||||
@ -876,6 +876,11 @@ export const addCustomPropertiesForEntity = (
|
||||
|
||||
cy.get('@editbutton').click();
|
||||
|
||||
interceptURL(
|
||||
'PATCH',
|
||||
`/api/v1/${customPropertyData.entityApiType}/*`,
|
||||
'patchEntity'
|
||||
);
|
||||
// Checking for value text box or markdown box
|
||||
cy.get('body').then(($body) => {
|
||||
if ($body.find('[data-testid="value-input"]').length > 0) {
|
||||
@ -892,7 +897,7 @@ export const addCustomPropertiesForEntity = (
|
||||
cy.get('[data-testid="save"]').click();
|
||||
}
|
||||
});
|
||||
|
||||
verifyResponseStatusCode('@patchEntity', 200);
|
||||
cy.get(`[data-row-key="${propertyName}"]`).should('contain', value);
|
||||
};
|
||||
|
||||
@ -1099,7 +1104,8 @@ export const updateDescriptionForIngestedTables = (
|
||||
tableName,
|
||||
description,
|
||||
type,
|
||||
entity
|
||||
entity,
|
||||
entityFqn
|
||||
) => {
|
||||
interceptURL(
|
||||
'GET',
|
||||
@ -1118,7 +1124,7 @@ export const updateDescriptionForIngestedTables = (
|
||||
'pipelineStatus'
|
||||
);
|
||||
// Navigate to ingested table
|
||||
visitEntityDetailsPage(tableName, serviceName, entity);
|
||||
visitEntityDetailsPage({ term: tableName, serviceName, entity, entityFqn });
|
||||
|
||||
// update description
|
||||
cy.get('[data-testid="edit-description"]')
|
||||
@ -1176,7 +1182,7 @@ export const updateDescriptionForIngestedTables = (
|
||||
retryIngestionRun();
|
||||
|
||||
// Navigate to table name
|
||||
visitEntityDetailsPage(tableName, serviceName, entity);
|
||||
visitEntityDetailsPage({ term: tableName, serviceName, entity });
|
||||
cy.get('[data-testid="markdown-parser"]')
|
||||
.first()
|
||||
.invoke('text')
|
||||
@ -1272,13 +1278,12 @@ export const deleteEntity = (
|
||||
successMessageEntityName,
|
||||
deletionType = 'hard'
|
||||
) => {
|
||||
visitEntityDetailsPage(
|
||||
entityName,
|
||||
visitEntityDetailsPage({
|
||||
term: entityName,
|
||||
serviceName,
|
||||
entity,
|
||||
undefined,
|
||||
entityType
|
||||
);
|
||||
entityType,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="manage-button"]').click();
|
||||
|
||||
@ -1483,7 +1488,11 @@ export const addAnnouncement = (value) => {
|
||||
'announcementFeed'
|
||||
);
|
||||
|
||||
visitEntityDetailsPage(value.term, value.serviceName, value.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: value.term,
|
||||
serviceName: value.serviceName,
|
||||
entity: value.entity,
|
||||
});
|
||||
cy.get('[data-testid="manage-button"]').click();
|
||||
cy.get('[data-testid="announcement-button"]').click();
|
||||
|
||||
|
||||
@ -384,6 +384,7 @@ export const ENTITIES = {
|
||||
stringValue: 'This is string propery',
|
||||
markdownValue: 'This is markdown value',
|
||||
entityObj: SEARCH_ENTITY_TABLE.table_1,
|
||||
entityApiType: 'tables',
|
||||
},
|
||||
entity_topic: {
|
||||
name: 'topic',
|
||||
@ -392,6 +393,7 @@ export const ENTITIES = {
|
||||
stringValue: 'This is string propery',
|
||||
markdownValue: 'This is markdown value',
|
||||
entityObj: SEARCH_ENTITY_TOPIC.topic_1,
|
||||
entityApiType: 'topics',
|
||||
},
|
||||
// commenting the dashboard test for not, need to make changes in dynamic data-test side
|
||||
// entity_dashboard: {
|
||||
@ -401,6 +403,7 @@ export const ENTITIES = {
|
||||
// stringValue: 'This is string propery',
|
||||
// markdownValue: 'This is markdown value',
|
||||
// entityObj: SEARCH_ENTITY_DASHBOARD.dashboard_1,
|
||||
// entityApiType: "dashboards"
|
||||
// },
|
||||
entity_pipeline: {
|
||||
name: 'pipeline',
|
||||
@ -409,6 +412,7 @@ export const ENTITIES = {
|
||||
stringValue: 'This is string propery',
|
||||
markdownValue: 'This is markdown value',
|
||||
entityObj: SEARCH_ENTITY_PIPELINE.pipeline_1,
|
||||
entityApiType: 'pipelines',
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@ -60,13 +60,12 @@ describe('Activity feed', () => {
|
||||
const OWNER = 'admin';
|
||||
interceptURL('PATCH', `/api/v1/${value.entity}/*`, 'patchOwner');
|
||||
|
||||
visitEntityDetailsPage(
|
||||
value.term,
|
||||
value.serviceName,
|
||||
value.entity,
|
||||
undefined,
|
||||
value.entityType
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: value.term,
|
||||
serviceName: value.serviceName,
|
||||
entity: value.entity,
|
||||
entityType: value.entityType,
|
||||
});
|
||||
verifyResponseStatusCode('@entityPermission', 200);
|
||||
verifyResponseStatusCode('@activityFeed', 200);
|
||||
|
||||
@ -291,7 +290,11 @@ describe('Activity feed', () => {
|
||||
const value = SEARCH_ENTITY_TABLE.table_1;
|
||||
interceptURL('GET', `/api/v1/${value.entity}/name/*`, 'getEntityDetails');
|
||||
|
||||
visitEntityDetailsPage(value.term, value.serviceName, value.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: value.term,
|
||||
serviceName: value.serviceName,
|
||||
entity: value.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="request-description"]').click();
|
||||
|
||||
|
||||
@ -147,7 +147,11 @@ describe('DataConsumer Edit policy should work properly', () => {
|
||||
cy.url().should('eq', `${BASE_URL}/my-data`);
|
||||
|
||||
Object.values(ENTITIES).forEach((entity) => {
|
||||
visitEntityDetailsPage(entity.term, entity.serviceName, entity.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: entity.term,
|
||||
serviceName: entity.serviceName,
|
||||
entity: entity.entity,
|
||||
});
|
||||
// Check Edit description
|
||||
cy.get('[data-testid="edit-description"]')
|
||||
.should('be.visible')
|
||||
@ -172,11 +176,11 @@ describe('DataConsumer Edit policy should work properly', () => {
|
||||
});
|
||||
|
||||
// Check if tags is editable for table
|
||||
visitEntityDetailsPage(
|
||||
ENTITIES.table.term,
|
||||
ENTITIES.table.serviceName,
|
||||
ENTITIES.table.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: ENTITIES.table.term,
|
||||
serviceName: ENTITIES.table.serviceName,
|
||||
entity: ENTITIES.table.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="add-tag"]')
|
||||
.should('be.visible')
|
||||
@ -186,11 +190,12 @@ describe('DataConsumer Edit policy should work properly', () => {
|
||||
cy.get('[data-testid="tag-selector"]').should('be.visible');
|
||||
|
||||
// Check if tags is editable for dashboard
|
||||
visitEntityDetailsPage(
|
||||
ENTITIES.dashboard.term,
|
||||
ENTITIES.dashboard.serviceName,
|
||||
ENTITIES.dashboard.entity
|
||||
);
|
||||
|
||||
visitEntityDetailsPage({
|
||||
term: ENTITIES.dashboard.term,
|
||||
serviceName: ENTITIES.dashboard.serviceName,
|
||||
entity: ENTITIES.dashboard.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="add-tag"]')
|
||||
.should('be.visible')
|
||||
|
||||
@ -40,7 +40,7 @@ const FOLLOWING_ENTITIES = [
|
||||
];
|
||||
|
||||
const followEntity = ({ term, serviceName, entity }, isUnfollow) => {
|
||||
visitEntityDetailsPage(term, serviceName, entity);
|
||||
visitEntityDetailsPage({ term, serviceName, entity });
|
||||
|
||||
if (entity === 'dashboardDataModel') {
|
||||
interceptURL(
|
||||
|
||||
@ -44,7 +44,11 @@ describe('Query Entity', () => {
|
||||
);
|
||||
interceptURL('GET', '/api/v1/queries?*', 'fetchQuery');
|
||||
interceptURL('POST', '/api/v1/queries', 'createQuery');
|
||||
visitEntityDetailsPage(DATA.term, DATA.serviceName, DATA.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: DATA.term,
|
||||
serviceName: DATA.serviceName,
|
||||
entity: DATA.entity,
|
||||
});
|
||||
cy.get('[data-testid="table_queries"]').click();
|
||||
verifyResponseStatusCode('@fetchQuery', 200);
|
||||
|
||||
@ -54,7 +58,7 @@ describe('Query Entity', () => {
|
||||
cy.get(descriptionBox).scrollIntoView().type(DATA.description);
|
||||
cy.get('[data-testid="query-used-in"]').type(DATA.queryUsedIn.table1);
|
||||
verifyResponseStatusCode('@explorePageSearch', 200);
|
||||
cy.get(`[title="${DATA.queryUsedIn.table1}"]`).scrollIntoView().click();
|
||||
cy.get(`[title="${DATA.queryUsedIn.table1}"]`).click();
|
||||
cy.clickOutside();
|
||||
|
||||
cy.get('[data-testid="save-btn"]').click();
|
||||
@ -76,7 +80,11 @@ describe('Query Entity', () => {
|
||||
'/api/v1/search/query?q=*&from=0&size=15&index=table_search_index',
|
||||
'explorePageSearch'
|
||||
);
|
||||
visitEntityDetailsPage(DATA.term, DATA.serviceName, DATA.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: DATA.term,
|
||||
serviceName: DATA.serviceName,
|
||||
entity: DATA.entity,
|
||||
});
|
||||
cy.get('[data-testid="table_queries"]').click();
|
||||
verifyResponseStatusCode('@fetchQuery', 200);
|
||||
|
||||
@ -120,7 +128,11 @@ describe('Query Entity', () => {
|
||||
'/api/v1/search/query?q=*&from=0&size=15&index=table_search_index',
|
||||
'explorePageSearch'
|
||||
);
|
||||
visitEntityDetailsPage(DATA.term, DATA.serviceName, DATA.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: DATA.term,
|
||||
serviceName: DATA.serviceName,
|
||||
entity: DATA.entity,
|
||||
});
|
||||
cy.get('[data-testid="table_queries"]').click();
|
||||
verifyResponseStatusCode('@fetchQuery', 200);
|
||||
|
||||
@ -147,7 +159,12 @@ describe('Query Entity', () => {
|
||||
'/api/v1/search/query?q=*&from=0&size=15&index=table_search_index',
|
||||
'explorePageSearch'
|
||||
);
|
||||
visitEntityDetailsPage(DATA.term, DATA.serviceName, DATA.entity);
|
||||
|
||||
visitEntityDetailsPage({
|
||||
term: DATA.term,
|
||||
serviceName: DATA.serviceName,
|
||||
entity: DATA.entity,
|
||||
});
|
||||
cy.get('[data-testid="table_queries"]').click();
|
||||
verifyResponseStatusCode('@fetchQuery', 200);
|
||||
cy.get('[data-testid="query-entity-expand-button"]').click();
|
||||
|
||||
@ -55,7 +55,11 @@ describe('Recently viwed data assets', () => {
|
||||
|
||||
it(`recently view section should have at max list of 5 entity`, () => {
|
||||
RECENTLY_VIEW_ENTITIES.map((entity, index) => {
|
||||
visitEntityDetailsPage(entity.term, entity.serviceName, entity.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: entity.term,
|
||||
serviceName: entity.serviceName,
|
||||
entity: entity.entity,
|
||||
});
|
||||
|
||||
interceptURL(
|
||||
'GET',
|
||||
@ -68,6 +72,9 @@ describe('Recently viwed data assets', () => {
|
||||
|
||||
// need to add manual wait as we are dependant on local storage for recently view data
|
||||
cy.wait(500);
|
||||
cy.get('[data-testid="recently-viewed-container"]')
|
||||
.scrollIntoView()
|
||||
.should('be.visible');
|
||||
cy.get(
|
||||
`[data-testid="recently-viewed-container"] [title="${entity.displayName}"]`
|
||||
)
|
||||
|
||||
@ -78,11 +78,11 @@ describe('Restore entity functionality should work properly', () => {
|
||||
});
|
||||
|
||||
it('Soft Delete entity table', () => {
|
||||
visitEntityDetailsPage(
|
||||
ENTITY_TABLE.term,
|
||||
ENTITY_TABLE.serviceName,
|
||||
ENTITY_TABLE.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: ENTITY_TABLE.term,
|
||||
serviceName: ENTITY_TABLE.serviceName,
|
||||
entity: ENTITY_TABLE.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="manage-button"]').click();
|
||||
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
/// <reference types="Cypress" />
|
||||
|
||||
import { interceptURL, verifyResponseStatusCode } from '../../common/common';
|
||||
import { searchServiceFromSettingPage } from '../../common/serviceUtils';
|
||||
|
||||
const schemaNames = ['sales', 'admin', 'anonymous', 'dip', 'gsmadmin_internal'];
|
||||
let serviceId;
|
||||
@ -96,6 +97,8 @@ describe('Schema search', () => {
|
||||
|
||||
verifyResponseStatusCode('@getServices', 200);
|
||||
|
||||
searchServiceFromSettingPage(serviceName);
|
||||
|
||||
// click on created service
|
||||
cy.get(`[data-testid="service-name-${serviceName}"]`).click();
|
||||
|
||||
|
||||
@ -173,11 +173,11 @@ describe('Edit displayName for all the entities, services and verify breadcrumb'
|
||||
|
||||
it(`database`, () => {
|
||||
interceptURL('GET', 'api/v1/databases/name/*', 'database');
|
||||
visitEntityDetailsPage(
|
||||
SCHEMA_AND_DATABASE_DISPLAY_NAME.name,
|
||||
SCHEMA_AND_DATABASE_DISPLAY_NAME.serviceName,
|
||||
SCHEMA_AND_DATABASE_DISPLAY_NAME.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: SCHEMA_AND_DATABASE_DISPLAY_NAME.name,
|
||||
serviceName: SCHEMA_AND_DATABASE_DISPLAY_NAME.serviceName,
|
||||
entity: SCHEMA_AND_DATABASE_DISPLAY_NAME.entity,
|
||||
});
|
||||
cy.log(SCHEMA_AND_DATABASE_DISPLAY_NAME.database);
|
||||
cy.get('[data-testid="breadcrumb"]')
|
||||
.contains(SCHEMA_AND_DATABASE_DISPLAY_NAME.database)
|
||||
@ -194,11 +194,11 @@ describe('Edit displayName for all the entities, services and verify breadcrumb'
|
||||
|
||||
it(`databaseSchema`, () => {
|
||||
interceptURL('GET', 'api/v1/databaseSchemas/name/*', 'databaseSchemas');
|
||||
visitEntityDetailsPage(
|
||||
SCHEMA_AND_DATABASE_DISPLAY_NAME.name,
|
||||
SCHEMA_AND_DATABASE_DISPLAY_NAME.serviceName,
|
||||
SCHEMA_AND_DATABASE_DISPLAY_NAME.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: SCHEMA_AND_DATABASE_DISPLAY_NAME.name,
|
||||
serviceName: SCHEMA_AND_DATABASE_DISPLAY_NAME.serviceName,
|
||||
entity: SCHEMA_AND_DATABASE_DISPLAY_NAME.entity,
|
||||
});
|
||||
cy.get('[data-testid="breadcrumb"]')
|
||||
.contains(SCHEMA_AND_DATABASE_DISPLAY_NAME.schema)
|
||||
.click();
|
||||
@ -214,7 +214,11 @@ describe('Edit displayName for all the entities, services and verify breadcrumb'
|
||||
|
||||
Object.values(ENTITIES_DISPLAY_NAME).map((entity) => {
|
||||
it(`${entity.entity}`, () => {
|
||||
visitEntityDetailsPage(entity.name, entity.serviceName, entity.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: entity.term,
|
||||
serviceName: entity.serviceName,
|
||||
entity: entity.entity,
|
||||
});
|
||||
updateDisplayName(entity.displayName, `/api/v1/${entity.entity}/*`);
|
||||
entity.breadcrumb.map((value) => {
|
||||
cy.get('[data-testid="breadcrumb"]').should('contain', value);
|
||||
|
||||
@ -77,13 +77,12 @@ describe('Add and Remove Owner', () => {
|
||||
|
||||
Object.entries(ENTITIES).map(([key, value]) => {
|
||||
it(`${key} details page`, () => {
|
||||
visitEntityDetailsPage(
|
||||
value.term,
|
||||
value.serviceName,
|
||||
value.entity,
|
||||
undefined,
|
||||
value.entityType
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: value.term,
|
||||
serviceName: value.serviceName,
|
||||
entity: value.entity,
|
||||
entityType: value.entityType,
|
||||
});
|
||||
verifyResponseStatusCode('@entityPermission', 200);
|
||||
verifyResponseStatusCode('@activityFeed', 200);
|
||||
|
||||
@ -95,7 +94,11 @@ describe('Add and Remove Owner', () => {
|
||||
interceptURL('PATCH', '/api/v1/databaseSchemas/*', 'patchOwner');
|
||||
interceptURL('GET', '/api/v1/*/name/*', 'schemaDetails');
|
||||
const value = ENTITIES.table;
|
||||
visitEntityDetailsPage(value.term, value.serviceName, value.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: value.term,
|
||||
serviceName: value.serviceName,
|
||||
entity: value.entity,
|
||||
});
|
||||
verifyResponseStatusCode('@entityPermission', 200);
|
||||
verifyResponseStatusCode('@activityFeed', 200);
|
||||
|
||||
@ -111,7 +114,11 @@ describe('Add and Remove Owner', () => {
|
||||
interceptURL('PATCH', '/api/v1/databases/*', 'patchOwner');
|
||||
interceptURL('GET', '/api/v1/databases/name/*', 'databaseDetails');
|
||||
const value = ENTITIES.table;
|
||||
visitEntityDetailsPage(value.term, value.serviceName, value.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: value.term,
|
||||
serviceName: value.serviceName,
|
||||
entity: value.entity,
|
||||
});
|
||||
verifyResponseStatusCode('@entityPermission', 200);
|
||||
verifyResponseStatusCode('@activityFeed', 200);
|
||||
|
||||
@ -137,7 +144,12 @@ describe('Add and Remove Owner', () => {
|
||||
);
|
||||
interceptURL('GET', '/api/v1/databases?service=*', 'databases');
|
||||
const value = ENTITIES.table;
|
||||
visitEntityDetailsPage(value.term, value.serviceName, value.entity);
|
||||
|
||||
visitEntityDetailsPage({
|
||||
term: value.term,
|
||||
serviceName: value.serviceName,
|
||||
entity: value.entity,
|
||||
});
|
||||
verifyResponseStatusCode('@entityPermission', 200);
|
||||
verifyResponseStatusCode('@activityFeed', 200);
|
||||
|
||||
@ -325,13 +337,12 @@ describe('Add and Remove Tier', () => {
|
||||
|
||||
Object.entries(ENTITIES).map(([key, value]) => {
|
||||
it(`${key} details page`, () => {
|
||||
visitEntityDetailsPage(
|
||||
value.term,
|
||||
value.serviceName,
|
||||
value.entity,
|
||||
undefined,
|
||||
value.entityType
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: value.term,
|
||||
serviceName: value.serviceName,
|
||||
entity: value.entity,
|
||||
entityType: value.entityType,
|
||||
});
|
||||
verifyResponseStatusCode('@entityPermission', 200);
|
||||
verifyResponseStatusCode('@activityFeed', 200);
|
||||
|
||||
@ -342,7 +353,11 @@ describe('Add and Remove Tier', () => {
|
||||
it('database details page', () => {
|
||||
interceptURL('GET', '/api/v1/databases/name/*', 'databaseDetails');
|
||||
const value = ENTITIES.table;
|
||||
visitEntityDetailsPage(value.term, value.serviceName, value.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: value.term,
|
||||
serviceName: value.serviceName,
|
||||
entity: value.entity,
|
||||
});
|
||||
verifyResponseStatusCode('@entityPermission', 200);
|
||||
verifyResponseStatusCode('@activityFeed', 200);
|
||||
|
||||
|
||||
@ -75,11 +75,11 @@ describe.skip('Create a team and add that team as a owner of the entity', () =>
|
||||
});
|
||||
|
||||
it('Add newly created group type team as owner, and remove it', () => {
|
||||
visitEntityDetailsPage(
|
||||
TEAM_DETAILS.term,
|
||||
TEAM_DETAILS.serviceName,
|
||||
TEAM_DETAILS.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: TEAM_DETAILS.term,
|
||||
serviceName: TEAM_DETAILS.serviceName,
|
||||
entity: TEAM_DETAILS.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="edit-owner"]').should('be.visible').click();
|
||||
cy.get('[data-testid="owner-select-teams-search-bar"]')
|
||||
@ -105,11 +105,11 @@ describe.skip('Create a team and add that team as a owner of the entity', () =>
|
||||
});
|
||||
|
||||
it('Remove newly created group type team as owner', () => {
|
||||
visitEntityDetailsPage(
|
||||
TEAM_DETAILS.term,
|
||||
TEAM_DETAILS.serviceName,
|
||||
TEAM_DETAILS.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: TEAM_DETAILS.term,
|
||||
serviceName: TEAM_DETAILS.serviceName,
|
||||
entity: TEAM_DETAILS.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="edit-owner"]').should('be.visible').click();
|
||||
cy.get('[data-testid="owner-select-teams-search-bar"]')
|
||||
|
||||
@ -37,7 +37,11 @@ describe('Entity Announcement', () => {
|
||||
'announcementFeed'
|
||||
);
|
||||
interceptURL('DELETE', '/api/v1/feed/*', 'deleteFeed');
|
||||
visitEntityDetailsPage(value.term, value.serviceName, value.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: value.term,
|
||||
serviceName: value.serviceName,
|
||||
entity: value.entity,
|
||||
});
|
||||
cy.get('[data-testid="manage-button"]').click();
|
||||
cy.get('[data-testid="announcement-button"]').click();
|
||||
|
||||
|
||||
@ -39,11 +39,11 @@ describe('Check if voting work properly in entities', () => {
|
||||
);
|
||||
interceptURL('PUT', `/api/v1/${apiEntity}/*/vote`, 'upVoting');
|
||||
|
||||
visitEntityDetailsPage(
|
||||
entityDetails.term,
|
||||
entityDetails.serviceName,
|
||||
entityDetails.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: entityDetails.term,
|
||||
serviceName: entityDetails.serviceName,
|
||||
entity: entityDetails.entity,
|
||||
});
|
||||
verifyResponseStatusCode('@getEntityDetail', 200);
|
||||
verifyResponseStatusCode('@getEntityPermission', 200);
|
||||
|
||||
@ -75,11 +75,11 @@ describe('Check if voting work properly in entities', () => {
|
||||
);
|
||||
interceptURL('PUT', `/api/v1/${apiEntity}/*/vote`, 'downVoting');
|
||||
|
||||
visitEntityDetailsPage(
|
||||
entityDetails.term,
|
||||
entityDetails.serviceName,
|
||||
entityDetails.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: entityDetails.term,
|
||||
serviceName: entityDetails.serviceName,
|
||||
entity: entityDetails.entity,
|
||||
});
|
||||
verifyResponseStatusCode('@getEntityDetail', 200);
|
||||
verifyResponseStatusCode('@getEntityPermission', 200);
|
||||
|
||||
@ -114,11 +114,11 @@ describe('Check if voting work properly in entities', () => {
|
||||
);
|
||||
interceptURL('PUT', `/api/v1/${apiEntity}/*/vote`, 'unVoting');
|
||||
|
||||
visitEntityDetailsPage(
|
||||
entityDetails.term,
|
||||
entityDetails.serviceName,
|
||||
entityDetails.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: entityDetails.term,
|
||||
serviceName: entityDetails.serviceName,
|
||||
entity: entityDetails.entity,
|
||||
});
|
||||
verifyResponseStatusCode('@getEntityDetail', 200);
|
||||
verifyResponseStatusCode('@getEntityPermission', 200);
|
||||
|
||||
|
||||
@ -38,7 +38,11 @@ describe('Entity Details Page', () => {
|
||||
|
||||
ENTITIES_LIST.map((entity) => {
|
||||
it(`Edit lineage should work for ${entity.entity} entity`, () => {
|
||||
visitEntityDetailsPage(entity.term, entity.serviceName, entity.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: entity.term,
|
||||
serviceName: entity.serviceName,
|
||||
entity: entity.entity,
|
||||
});
|
||||
cy.get('[data-testid="lineage"]').should('be.visible').click();
|
||||
|
||||
// Check edit button should not be disabled
|
||||
@ -55,11 +59,11 @@ describe('Lineage functionality', () => {
|
||||
});
|
||||
|
||||
it('toggle fullscreen mode', () => {
|
||||
visitEntityDetailsPage(
|
||||
tableEntity.term,
|
||||
tableEntity.serviceName,
|
||||
tableEntity.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: tableEntity.term,
|
||||
serviceName: tableEntity.serviceName,
|
||||
entity: tableEntity.entity,
|
||||
});
|
||||
cy.get('[data-testid="lineage"]').click();
|
||||
|
||||
// Enable fullscreen
|
||||
|
||||
@ -129,11 +129,11 @@ describe('Check if tags addition and removal flow working properly from tables',
|
||||
`/api/v1/${entityDetails.insideEntity ?? apiEntity}/*`,
|
||||
'tagsChange'
|
||||
);
|
||||
visitEntityDetailsPage(
|
||||
entityDetails.term,
|
||||
entityDetails.serviceName,
|
||||
entityDetails.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: entityDetails.term,
|
||||
serviceName: entityDetails.serviceName,
|
||||
entity: entityDetails.entity,
|
||||
});
|
||||
verifyResponseStatusCode('@getEntityDetail', 200);
|
||||
verifyResponseStatusCode('@getEntityPermission', 200);
|
||||
|
||||
@ -188,11 +188,11 @@ describe('Check if tags addition and removal flow working properly from tables',
|
||||
'getInsideColumnPermission'
|
||||
);
|
||||
}
|
||||
visitEntityDetailsPage(
|
||||
entityDetails.term,
|
||||
entityDetails.serviceName,
|
||||
entityDetails.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: entityDetails.term,
|
||||
serviceName: entityDetails.serviceName,
|
||||
entity: entityDetails.entity,
|
||||
});
|
||||
verifyResponseStatusCode('@getEntityDetail', 200);
|
||||
verifyResponseStatusCode('@getEntityPermission', 200);
|
||||
if (entityDetails.insideEntity) {
|
||||
|
||||
@ -30,8 +30,8 @@ import { DATABASE_SERVICE } from '../../constants/entityConstant';
|
||||
import { SERVICE_CATEGORIES } from '../../constants/service.constants';
|
||||
|
||||
const ENTITY_TABLE = {
|
||||
term: DATABASE_SERVICE.tables,
|
||||
displayName: DATABASE_SERVICE.tables,
|
||||
term: DATABASE_SERVICE.tables.name,
|
||||
displayName: DATABASE_SERVICE.tables.name,
|
||||
entity: MYDATA_SUMMARY_OPTIONS.tables,
|
||||
serviceName: DATABASE_SERVICE.service.name,
|
||||
schemaName: DATABASE_SERVICE.schema.name,
|
||||
@ -147,11 +147,11 @@ describe('Task flow should work', () => {
|
||||
'getEntityDetails'
|
||||
);
|
||||
|
||||
visitEntityDetailsPage(
|
||||
ENTITY_TABLE.term,
|
||||
ENTITY_TABLE.serviceName,
|
||||
ENTITY_TABLE.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: ENTITY_TABLE.term,
|
||||
serviceName: ENTITY_TABLE.serviceName,
|
||||
entity: ENTITY_TABLE.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="request-description"]').click();
|
||||
|
||||
@ -174,11 +174,11 @@ describe('Task flow should work', () => {
|
||||
'getEntityDetails'
|
||||
);
|
||||
|
||||
visitEntityDetailsPage(
|
||||
ENTITY_TABLE.term,
|
||||
ENTITY_TABLE.serviceName,
|
||||
ENTITY_TABLE.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: ENTITY_TABLE.term,
|
||||
serviceName: ENTITY_TABLE.serviceName,
|
||||
entity: ENTITY_TABLE.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="request-entity-tags"]').click();
|
||||
|
||||
|
||||
@ -28,11 +28,11 @@ describe('Test if the total count of users and teams is correctly displayed in t
|
||||
it('Check total count of users and teams', () => {
|
||||
const token = localStorage.getItem('oidcIdToken');
|
||||
|
||||
visitEntityDetailsPage(
|
||||
TEAM_DETAILS.term,
|
||||
TEAM_DETAILS.serviceName,
|
||||
TEAM_DETAILS.entity
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: TEAM_DETAILS.term,
|
||||
serviceName: TEAM_DETAILS.serviceName,
|
||||
entity: TEAM_DETAILS.entity,
|
||||
});
|
||||
|
||||
cy.request({
|
||||
method: 'GET',
|
||||
|
||||
@ -50,11 +50,11 @@ const goToProfilerTab = () => {
|
||||
`api/v1/tables/name/${serviceName}.*.${TEAM_ENTITY}?fields=*&include=all`,
|
||||
'waitForPageLoad'
|
||||
);
|
||||
visitEntityDetailsPage(
|
||||
TEAM_ENTITY,
|
||||
visitEntityDetailsPage({
|
||||
term: TEAM_ENTITY,
|
||||
serviceName,
|
||||
MYDATA_SUMMARY_OPTIONS.tables
|
||||
);
|
||||
entity: MYDATA_SUMMARY_OPTIONS.tables,
|
||||
});
|
||||
verifyResponseStatusCode('@waitForPageLoad', 200);
|
||||
|
||||
cy.get('[data-testid="profiler"]').should('be.visible').click();
|
||||
@ -595,7 +595,7 @@ describe.skip('Data Quality and Profiler should work properly', () => {
|
||||
it('Profiler matrix and test case graph should visible', () => {
|
||||
const { term, entity, serviceName, testCaseName } =
|
||||
DATA_QUALITY_SAMPLE_DATA_TABLE;
|
||||
visitEntityDetailsPage(term, serviceName, entity);
|
||||
visitEntityDetailsPage({ term, serviceName, entity });
|
||||
cy.get('[data-testid="entity-header-display-name"]')
|
||||
.contains(term)
|
||||
.should('be.visible');
|
||||
@ -650,7 +650,7 @@ describe.skip('Data Quality and Profiler should work properly', () => {
|
||||
`api/v1/tables/name/${serviceName}.*.${term}?fields=*&include=all`,
|
||||
'waitForPageLoad'
|
||||
);
|
||||
visitEntityDetailsPage(term, serviceName, entity);
|
||||
visitEntityDetailsPage({ term, serviceName, entity });
|
||||
verifyResponseStatusCode('@waitForPageLoad', 200);
|
||||
cy.get('[data-testid="entity-header-display-name"]')
|
||||
.should('be.visible')
|
||||
|
||||
@ -156,13 +156,12 @@ Object.entries(ENTITY_DETAILS_FOR_VERSION_TEST).map(
|
||||
});
|
||||
|
||||
it(`${entityType} version page should show removed tags changes properly`, () => {
|
||||
visitEntityDetailsPage(
|
||||
entityDetails.name,
|
||||
entityDetails.serviceName,
|
||||
entityDetails.entity,
|
||||
undefined,
|
||||
entityType
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: entityDetails.name,
|
||||
serviceName: entityDetails.serviceName,
|
||||
entity: entityDetails.entity,
|
||||
entityType: entityType,
|
||||
});
|
||||
|
||||
cy.get(
|
||||
'[data-testid="entity-right-panel"] [data-testid="edit-button"]'
|
||||
@ -192,13 +191,12 @@ Object.entries(ENTITY_DETAILS_FOR_VERSION_TEST).map(
|
||||
});
|
||||
|
||||
it(`${entityType} version page should show owner changes properly`, () => {
|
||||
visitEntityDetailsPage(
|
||||
entityDetails.name,
|
||||
entityDetails.serviceName,
|
||||
entityDetails.entity,
|
||||
undefined,
|
||||
entityType
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: entityDetails.name,
|
||||
serviceName: entityDetails.serviceName,
|
||||
entity: entityDetails.entity,
|
||||
entityType: entityType,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="version-button"]').as('versionButton');
|
||||
|
||||
@ -254,13 +252,12 @@ Object.entries(ENTITY_DETAILS_FOR_VERSION_TEST).map(
|
||||
});
|
||||
|
||||
it(`${entityType} version page should show tier changes properly`, () => {
|
||||
visitEntityDetailsPage(
|
||||
entityDetails.name,
|
||||
entityDetails.serviceName,
|
||||
entityDetails.entity,
|
||||
undefined,
|
||||
entityType
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: entityDetails.name,
|
||||
serviceName: entityDetails.serviceName,
|
||||
entity: entityDetails.entity,
|
||||
entityType: entityType,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="version-button"]').as('versionButton');
|
||||
|
||||
|
||||
@ -790,7 +790,11 @@ describe('Glossary page should work properly', () => {
|
||||
cy.contains('Adding a new Asset is easy, just give it a spin!').should(
|
||||
'be.visible'
|
||||
);
|
||||
visitEntityDetailsPage(entity.term, entity.serviceName, entity.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: entity.term,
|
||||
serviceName: entity.serviceName,
|
||||
entity: entity.entity,
|
||||
});
|
||||
|
||||
const parentPath =
|
||||
'[data-testid="entity-right-panel"] [data-testid="glossary-container"]';
|
||||
|
||||
@ -154,13 +154,12 @@ describe('SearchIndexDetails page should work properly for data consumer role',
|
||||
});
|
||||
|
||||
it('All permissible actions on search index details page should work properly', () => {
|
||||
visitEntityDetailsPage(
|
||||
SEARCH_INDEX_DETAILS_FOR_DETAILS_PAGE_TEST.name,
|
||||
SEARCH_INDEX_DETAILS_FOR_DETAILS_PAGE_TEST.service,
|
||||
'searchIndexes',
|
||||
undefined,
|
||||
'Search Index'
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: SEARCH_INDEX_DETAILS_FOR_DETAILS_PAGE_TEST.name,
|
||||
serviceName: SEARCH_INDEX_DETAILS_FOR_DETAILS_PAGE_TEST.service,
|
||||
entity: 'searchIndexes',
|
||||
entityType: 'Search Index',
|
||||
});
|
||||
|
||||
// Edit domain option should not be available
|
||||
cy.get(`[data-testid="entity-page-header"]`).then(($body) => {
|
||||
@ -205,7 +204,9 @@ describe('Prerequisite for data steward role tests', () => {
|
||||
|
||||
verifyResponseStatusCode('@getUserDetails', 200);
|
||||
|
||||
cy.get('[data-testid="edit-roles"]').click();
|
||||
cy.get('[role="tablist"] .ant-collapse-arrow').click();
|
||||
|
||||
cy.get('[data-testid="edit-roles-button"]').click();
|
||||
|
||||
cy.get('[data-testid="inline-edit-container"] #select-role').click();
|
||||
|
||||
@ -230,13 +231,12 @@ describe('SearchIndexDetails page should work properly for data steward role', (
|
||||
});
|
||||
|
||||
it('All permissible actions on search index details page should work properly', () => {
|
||||
visitEntityDetailsPage(
|
||||
SEARCH_INDEX_DETAILS_FOR_DETAILS_PAGE_TEST.name,
|
||||
SEARCH_INDEX_DETAILS_FOR_DETAILS_PAGE_TEST.service,
|
||||
'searchIndexes',
|
||||
undefined,
|
||||
'Search Index'
|
||||
);
|
||||
visitEntityDetailsPage({
|
||||
term: SEARCH_INDEX_DETAILS_FOR_DETAILS_PAGE_TEST.name,
|
||||
serviceName: SEARCH_INDEX_DETAILS_FOR_DETAILS_PAGE_TEST.service,
|
||||
entity: 'searchIndexes',
|
||||
entityType: 'Search Index',
|
||||
});
|
||||
|
||||
// Edit domain option should not be available
|
||||
cy.get(`[data-testid="entity-page-header"]`).then(($body) => {
|
||||
|
||||
@ -206,7 +206,11 @@ describe('Tags page should work', () => {
|
||||
const entity = SEARCH_ENTITY_TABLE.table_3;
|
||||
const tag = 'Sensitive';
|
||||
|
||||
visitEntityDetailsPage(entity.term, entity.serviceName, entity.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: entity.term,
|
||||
serviceName: entity.serviceName,
|
||||
entity: entity.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="breadcrumb-link"]')
|
||||
.should('be.visible')
|
||||
@ -271,7 +275,11 @@ describe('Tags page should work', () => {
|
||||
const tag = 'Personal';
|
||||
const assignee = 'admin';
|
||||
|
||||
visitEntityDetailsPage(entity.term, entity.serviceName, entity.entity);
|
||||
visitEntityDetailsPage({
|
||||
term: entity.term,
|
||||
serviceName: entity.serviceName,
|
||||
entity: entity.entity,
|
||||
});
|
||||
|
||||
cy.get('[data-testid="breadcrumb-link"]')
|
||||
.should('be.visible')
|
||||
|
||||
@ -165,7 +165,11 @@ describe('Postgres Ingestion', () => {
|
||||
`/api/v1/tables/name/${serviceName}.*.*${tableName}?fields=*&include=all`,
|
||||
'entityDetailsPage'
|
||||
);
|
||||
visitEntityDetailsPage(tableName, serviceName, 'tables');
|
||||
visitEntityDetailsPage({
|
||||
term: tableName,
|
||||
serviceName: serviceName,
|
||||
entity: 'tables',
|
||||
});
|
||||
verifyResponseStatusCode('@entityDetailsPage', 200);
|
||||
interceptURL('GET', '/api/v1/queries?*', 'queriesTab');
|
||||
cy.get('[data-testid="table_queries"]')
|
||||
|
||||
@ -229,6 +229,10 @@ describe('RedShift Ingestion', () => {
|
||||
|
||||
verifyResponseStatusCode('@fetchClassifications', 200);
|
||||
|
||||
cy.get('[data-testid="data-summary-container"]')
|
||||
.contains(DBT.classification)
|
||||
.click();
|
||||
|
||||
verifyResponseStatusCode('@getTagList', 200);
|
||||
// Verify DBT tag category is added
|
||||
cy.get('[data-testid="tag-name"]')
|
||||
@ -240,7 +244,11 @@ describe('RedShift Ingestion', () => {
|
||||
.should('contain', DBT.tagName);
|
||||
|
||||
// Verify DBT in table entity
|
||||
visitEntityDetailsPage(REDSHIFT.DBTTable, REDSHIFT.serviceName, 'tables');
|
||||
visitEntityDetailsPage({
|
||||
term: REDSHIFT.DBTTable,
|
||||
serviceName: REDSHIFT.serviceName,
|
||||
entity: 'tables',
|
||||
});
|
||||
|
||||
// Verify tags
|
||||
cy.get('[data-testid="entity-tags"]').should('contain', `${DBT.tagName}`);
|
||||
|
||||
@ -26,6 +26,9 @@ const serviceName = `${serviceType}-ct-test-${uuid()}`;
|
||||
const tableName = 'CUSTOMER';
|
||||
const schema = 'TPCH_SF1000';
|
||||
const description = `This is ${serviceName} description`;
|
||||
const entityFqn = `${serviceName}.${Cypress.env(
|
||||
'snowflakeDatabase'
|
||||
)}.${schema}.${tableName}`;
|
||||
|
||||
describe('Snowflake Ingestion', () => {
|
||||
beforeEach(() => {
|
||||
@ -69,7 +72,8 @@ describe('Snowflake Ingestion', () => {
|
||||
tableName,
|
||||
description,
|
||||
SERVICE_TYPE.Database,
|
||||
'tables'
|
||||
'tables',
|
||||
entityFqn
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@ -297,6 +297,7 @@ const Users = ({
|
||||
</Col>
|
||||
<Col className="p-x-sm border-right" span={6}>
|
||||
<UserProfileRoles
|
||||
isUserAdmin={userData.isAdmin}
|
||||
updateUserDetails={updateUserDetails}
|
||||
userRoles={userData.roles}
|
||||
/>
|
||||
|
||||
@ -36,6 +36,7 @@ import { UserProfileRolesProps } from './UserProfileRoles.interface';
|
||||
const UserProfileRoles = ({
|
||||
userRoles,
|
||||
updateUserDetails,
|
||||
isUserAdmin,
|
||||
}: UserProfileRolesProps) => {
|
||||
const { t } = useTranslation();
|
||||
|
||||
@ -52,7 +53,7 @@ const UserProfileRoles = ({
|
||||
value: role.id,
|
||||
}));
|
||||
|
||||
if (!isAdminUser) {
|
||||
if (!isUserAdmin) {
|
||||
options.push({
|
||||
label: TERM_ADMIN,
|
||||
value: toLower(TERM_ADMIN),
|
||||
@ -60,7 +61,7 @@ const UserProfileRoles = ({
|
||||
}
|
||||
|
||||
return options;
|
||||
}, [roles, isAdminUser, getEntityName]);
|
||||
}, [roles, isUserAdmin, getEntityName]);
|
||||
|
||||
const fetchRoles = async () => {
|
||||
setIsRolesLoading(true);
|
||||
@ -111,27 +112,27 @@ const UserProfileRoles = ({
|
||||
() => (
|
||||
<Chip
|
||||
data={[
|
||||
...(isAdminUser
|
||||
...(isUserAdmin
|
||||
? [{ id: 'admin', type: 'role', name: TERM_ADMIN }]
|
||||
: []),
|
||||
...(userRoles ?? []),
|
||||
]}
|
||||
icon={<UserIcons height={20} />}
|
||||
noDataPlaceholder={t('message.no-roles-assigned')}
|
||||
showNoDataPlaceholder={!isAdminUser}
|
||||
showNoDataPlaceholder={!isUserAdmin}
|
||||
/>
|
||||
),
|
||||
[userRoles, isAdminUser]
|
||||
[userRoles, isUserAdmin]
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
const defaultUserRoles = [
|
||||
...(userRoles?.map((role) => role.id) ?? []),
|
||||
...(isAdminUser ? [toLower(TERM_ADMIN)] : []),
|
||||
...(isUserAdmin ? [toLower(TERM_ADMIN)] : []),
|
||||
];
|
||||
|
||||
setSelectedRoles(defaultUserRoles);
|
||||
}, [isAdminUser, userRoles]);
|
||||
}, [isUserAdmin, userRoles]);
|
||||
|
||||
useEffect(() => {
|
||||
if (isRolesEdit && isEmpty(roles)) {
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
import { User } from '../../../../generated/entity/teams/user';
|
||||
|
||||
export interface UserProfileRolesProps {
|
||||
isUserAdmin?: boolean;
|
||||
userRoles: User['roles'];
|
||||
updateUserDetails: (data: Partial<User>) => Promise<void>;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user