Fix Domain and Glossary cypress (#16257)

* fix domain cypress

* fix glossary cypress
This commit is contained in:
Karan Hotchandani 2024-05-14 17:58:51 +05:30 committed by GitHub
parent becdd38cae
commit bb6c0b1096
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 57 additions and 29 deletions

View File

@ -26,6 +26,12 @@ import {
} from './common'; } from './common';
import { visitEntityDetailsPage } from './Utils/Entity'; import { visitEntityDetailsPage } from './Utils/Entity';
const selectDomain = (domainObj) => {
cy.get('[data-testid="domain-left-panel"]')
.find(`li[data-menu-id$='${domainObj.fullyQualifiedName}']`)
.click();
};
export const validateDomainForm = () => { export const validateDomainForm = () => {
// error messages // error messages
cy.get('#name_help') cy.get('#name_help')
@ -97,14 +103,14 @@ const updateOwner = (newOwner) => {
}; };
const goToAssetsTab = (domainObj) => { const goToAssetsTab = (domainObj) => {
cy.get('[data-testid="domain-left-panel"]').contains(domainObj.name).click(); selectDomain(domainObj);
checkDisplayName(domainObj.name); checkDisplayName(domainObj.name);
cy.get('[data-testid="assets"]').should('be.visible').click(); cy.get('[data-testid="assets"]').should('be.visible').click();
cy.get('.ant-tabs-tab-active').contains('Assets').should('be.visible'); cy.get('.ant-tabs-tab-active').contains('Assets').should('be.visible');
}; };
const goToDataProductsTab = (domainObj) => { const goToDataProductsTab = (domainObj) => {
cy.get('[data-testid="domain-left-panel"]').contains(domainObj.name).click(); selectDomain(domainObj);
checkDisplayName(domainObj.name); checkDisplayName(domainObj.name);
cy.get('[data-testid="data_products"]').click(); cy.get('[data-testid="data_products"]').click();
cy.get('.ant-tabs-tab-active').contains('Data Products').should('be.visible'); cy.get('.ant-tabs-tab-active').contains('Data Products').should('be.visible');
@ -309,7 +315,7 @@ export const deleteDomain = (domainObj) => {
}; };
export const verifyDomain = (domainObj) => { export const verifyDomain = (domainObj) => {
cy.get('[data-testid="domain-left-panel"]').contains(domainObj.name).click(); selectDomain(domainObj);
checkDisplayName(domainObj.name); checkDisplayName(domainObj.name);
cy.get('[data-testid="viewer-container"]') cy.get('[data-testid="viewer-container"]')
@ -332,7 +338,7 @@ export const verifyDomain = (domainObj) => {
}; };
export const updateDomainDetails = (domainObj) => { export const updateDomainDetails = (domainObj) => {
cy.get('[data-testid="domain-left-panel"]').contains(domainObj.name).click(); selectDomain(domainObj);
checkDisplayName(domainObj.name); checkDisplayName(domainObj.name);
// Update description // Update description
@ -343,7 +349,7 @@ export const updateDomainDetails = (domainObj) => {
}; };
export const createDataProducts = (dataProduct, domainObj) => { export const createDataProducts = (dataProduct, domainObj) => {
cy.get('[data-testid="domain-left-panel"]').contains(domainObj.name).click(); selectDomain(domainObj);
checkDisplayName(domainObj.name); checkDisplayName(domainObj.name);
cy.get('[data-testid="domain-details-add-button"]').click(); cy.get('[data-testid="domain-details-add-button"]').click();
@ -369,7 +375,7 @@ export const createDataProducts = (dataProduct, domainObj) => {
export const renameDomain = (domainObj) => { export const renameDomain = (domainObj) => {
interceptURL('PATCH', `/api/v1/domains/*`, 'patchName&DisplayName'); interceptURL('PATCH', `/api/v1/domains/*`, 'patchName&DisplayName');
cy.get('[data-testid="domain-left-panel"]').contains(domainObj.name).click(); selectDomain(domainObj);
checkDisplayName(domainObj.name); checkDisplayName(domainObj.name);
cy.get('[data-testid="manage-button"]').click(); cy.get('[data-testid="manage-button"]').click();

View File

@ -384,33 +384,35 @@ export const CYPRESS_ASSETS_GLOSSARY_TERMS = {
}, },
}; };
const assetTermsUUId = uuid();
export const CYPRESS_ASSETS_GLOSSARY_TERMS_1 = { export const CYPRESS_ASSETS_GLOSSARY_TERMS_1 = {
term_1: { term_1: {
name: 'Term1', name: `Term1_${assetTermsUUId}`,
description: 'term1 desc', description: 'term1 desc',
fullyQualifiedName: `${cypressAssetsGlossary1Name}.Term1`, fullyQualifiedName: `${cypressAssetsGlossary1Name}.Term1_${assetTermsUUId}`,
synonyms: 'buy,collect,acquire', synonyms: 'buy,collect,acquire',
assets: COMMON_ASSETS, assets: COMMON_ASSETS,
}, },
term_2: { term_2: {
name: 'Term2', name: `Term2_${assetTermsUUId}`,
description: 'term2 desc', description: 'term2 desc',
synonyms: 'give,disposal,deal', synonyms: 'give,disposal,deal',
fullyQualifiedName: `${cypressAssetsGlossary1Name}.Term2`, fullyQualifiedName: `${cypressAssetsGlossary1Name}.Term2_${assetTermsUUId}`,
assets: COMMON_ASSETS, assets: COMMON_ASSETS,
}, },
term_3: { term_3: {
name: 'Term3', name: `Term3_${assetTermsUUId}`,
synonyms: 'tea,coffee,water', synonyms: 'tea,coffee,water',
description: 'term3 desc', description: 'term3 desc',
fullyQualifiedName: `${cypressAssetsGlossary1Name}.Term3`, fullyQualifiedName: `${cypressAssetsGlossary1Name}.Term3_${assetTermsUUId}`,
assets: COMMON_ASSETS, assets: COMMON_ASSETS,
}, },
term_4: { term_4: {
name: 'Term4', name: `Term4_${assetTermsUUId}`,
description: 'term4 desc', description: 'term4 desc',
synonyms: 'milk,biscuit,water', synonyms: 'milk,biscuit,water',
fullyQualifiedName: `${cypressAssetsGlossary1Name}.Term4`, fullyQualifiedName: `${cypressAssetsGlossary1Name}.Term4_${assetTermsUUId}`,
assets: COMMON_ASSETS, assets: COMMON_ASSETS,
}, },
}; };

View File

@ -83,7 +83,7 @@ const visitGlossaryTermPage = (
cy.get('.ant-tabs .glossary-overview-tab').should('be.visible').click(); cy.get('.ant-tabs .glossary-overview-tab').should('be.visible').click();
}; };
const createGlossary = (glossaryData) => { const createGlossary = (glossaryData, bValidateForm) => {
// Intercept API calls // Intercept API calls
interceptURL('POST', '/api/v1/glossaries', 'createGlossary'); interceptURL('POST', '/api/v1/glossaries', 'createGlossary');
interceptURL( interceptURL(
@ -106,7 +106,9 @@ const createGlossary = (glossaryData) => {
.should('be.visible') .should('be.visible')
.click(); .click();
if (bValidateForm) {
validateForm(); validateForm();
}
cy.get('[data-testid="name"]') cy.get('[data-testid="name"]')
.scrollIntoView() .scrollIntoView()
@ -206,7 +208,11 @@ const validateForm = () => {
cy.get('#name_help').should('be.visible').contains(NAME_VALIDATION_ERROR); cy.get('#name_help').should('be.visible').contains(NAME_VALIDATION_ERROR);
}; };
const fillGlossaryTermDetails = (term, glossary, isMutually = false) => { const fillGlossaryTermDetails = (
term,
isMutually = false,
validateCreateForm = true
) => {
cy.get('[data-testid="add-new-tag-button-header"]').click(); cy.get('[data-testid="add-new-tag-button-header"]').click();
cy.contains('Add Glossary Term').should('be.visible'); cy.contains('Add Glossary Term').should('be.visible');
@ -217,7 +223,9 @@ const fillGlossaryTermDetails = (term, glossary, isMutually = false) => {
.should('be.visible') .should('be.visible')
.click(); .click();
if (validateCreateForm) {
validateForm(); validateForm();
}
cy.get('[data-testid="name"]') cy.get('[data-testid="name"]')
.scrollIntoView() .scrollIntoView()
@ -321,8 +329,14 @@ const removeAssetsFromGlossaryTerm = (glossaryTerm, glossary) => {
}); });
}; };
const createGlossaryTerm = (term, glossary, status, isMutually = false) => { const createGlossaryTerm = (
fillGlossaryTermDetails(term, glossary, isMutually); term,
glossary,
status,
isMutually = false,
validateCreateForm = true
) => {
fillGlossaryTermDetails(term, isMutually, validateCreateForm);
interceptURL('POST', '/api/v1/glossaryTerms', 'createGlossaryTerms'); interceptURL('POST', '/api/v1/glossaryTerms', 'createGlossaryTerms');
cy.get('[data-testid="save-glossary-term"]') cy.get('[data-testid="save-glossary-term"]')
@ -733,8 +747,8 @@ describe('Glossary page should work properly', { tags: 'Governance' }, () => {
}); });
it('Create new glossary flow should work properly', () => { it('Create new glossary flow should work properly', () => {
createGlossary(NEW_GLOSSARY); createGlossary(NEW_GLOSSARY, true);
createGlossary(NEW_GLOSSARY_1); createGlossary(NEW_GLOSSARY_1, false);
}); });
it('Assign Owner', () => { it('Assign Owner', () => {
@ -827,8 +841,8 @@ describe('Glossary page should work properly', { tags: 'Governance' }, () => {
it('Create glossary term should work properly', () => { it('Create glossary term should work properly', () => {
const terms = Object.values(NEW_GLOSSARY_TERMS); const terms = Object.values(NEW_GLOSSARY_TERMS);
selectActiveGlossary(NEW_GLOSSARY.name); selectActiveGlossary(NEW_GLOSSARY.name);
terms.forEach((term) => terms.forEach((term, index) =>
createGlossaryTerm(term, NEW_GLOSSARY, 'Draft', true) createGlossaryTerm(term, NEW_GLOSSARY, 'Draft', true, index === 0)
); );
// Glossary term for Product glossary // Glossary term for Product glossary
@ -836,7 +850,7 @@ describe('Glossary page should work properly', { tags: 'Governance' }, () => {
const ProductTerms = Object.values(NEW_GLOSSARY_1_TERMS); const ProductTerms = Object.values(NEW_GLOSSARY_1_TERMS);
ProductTerms.forEach((term) => ProductTerms.forEach((term) =>
createGlossaryTerm(term, NEW_GLOSSARY_1, 'Approved', false) createGlossaryTerm(term, NEW_GLOSSARY_1, 'Approved', false, false)
); );
}); });
@ -1112,11 +1126,11 @@ describe('Glossary page should work properly', { tags: 'Governance' }, () => {
}); });
it('Add asset to glossary term using asset modal', () => { it('Add asset to glossary term using asset modal', () => {
createGlossary(CYPRESS_ASSETS_GLOSSARY); createGlossary(CYPRESS_ASSETS_GLOSSARY, false);
const terms = Object.values(CYPRESS_ASSETS_GLOSSARY_TERMS); const terms = Object.values(CYPRESS_ASSETS_GLOSSARY_TERMS);
selectActiveGlossary(CYPRESS_ASSETS_GLOSSARY.name); selectActiveGlossary(CYPRESS_ASSETS_GLOSSARY.name);
terms.forEach((term) => terms.forEach((term) =>
createGlossaryTerm(term, CYPRESS_ASSETS_GLOSSARY, 'Approved', true) createGlossaryTerm(term, CYPRESS_ASSETS_GLOSSARY, 'Approved', true, false)
); );
terms.forEach((term) => { terms.forEach((term) => {
@ -1202,12 +1216,18 @@ describe('Glossary page should work properly', { tags: 'Governance' }, () => {
}); });
it('Tags and entity summary columns should be sorted based on current Term Page', () => { it('Tags and entity summary columns should be sorted based on current Term Page', () => {
createGlossary(CYPRESS_ASSETS_GLOSSARY_1); createGlossary(CYPRESS_ASSETS_GLOSSARY_1, false);
selectActiveGlossary(CYPRESS_ASSETS_GLOSSARY_1.name); selectActiveGlossary(CYPRESS_ASSETS_GLOSSARY_1.name);
const terms = Object.values(CYPRESS_ASSETS_GLOSSARY_TERMS_1); const terms = Object.values(CYPRESS_ASSETS_GLOSSARY_TERMS_1);
terms.forEach((term) => terms.forEach((term) =>
createGlossaryTerm(term, CYPRESS_ASSETS_GLOSSARY_1, 'Approved', true) createGlossaryTerm(
term,
CYPRESS_ASSETS_GLOSSARY_1,
'Approved',
true,
false
)
); );
const entityTable = SEARCH_ENTITY_TABLE.table_1; const entityTable = SEARCH_ENTITY_TABLE.table_1;