mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-09-25 17:04:54 +00:00

* Cypress: Fixed AUT failure * minor change * minor owner fix * fix glossary cypress failure --------- Co-authored-by: Mayur Singal <39544459+ulixius9@users.noreply.github.com> Co-authored-by: Ashish Gupta <ashish@getcollate.io>
171 lines
5.1 KiB
TypeScript
171 lines
5.1 KiB
TypeScript
/*
|
|
* Copyright 2023 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 ContainerClass from '../../common/Entities/ContainerClass';
|
|
import DashboardDataModelClass from '../../common/Entities/DataModelClass';
|
|
import EntityClass from '../../common/Entities/EntityClass';
|
|
import MlModelClass from '../../common/Entities/MlModelClass';
|
|
import PipelineClass from '../../common/Entities/PipelineClass';
|
|
import SearchIndexClass from '../../common/Entities/SearchIndexClass';
|
|
import TopicClass from '../../common/Entities/TopicClass';
|
|
import { updateJWTTokenExpiryTime } from '../../common/Utils/Login';
|
|
import { JWT_EXPIRY_TIME_MAP } from '../../constants/constants';
|
|
import { CustomPropertySupportedEntityList } from '../../constants/CustomProperty.constant';
|
|
import DashboardClass from './../../common/Entities/DashboardClass';
|
|
import { CustomPropertyTypeByName } from './../../common/Utils/CustomProperty';
|
|
|
|
// Run tests over all entities except Database, Schema, Table and Store Procedure
|
|
// Those tests are covered in cypress/new-tests/Database.spec.js
|
|
const entities = [
|
|
new DashboardClass(),
|
|
new PipelineClass(),
|
|
new TopicClass(),
|
|
new MlModelClass(),
|
|
new ContainerClass(),
|
|
new SearchIndexClass(),
|
|
new DashboardDataModelClass(),
|
|
] as const;
|
|
|
|
const OWNER1 = 'Aaron Johnson';
|
|
const OWNER2 = 'Cynthia Meyer';
|
|
|
|
const TEAM_OWNER_1 = 'Marketplace';
|
|
const TEAM_OWNER_2 = 'DevOps';
|
|
|
|
// migrated to playwrigth
|
|
describe.skip('Entity detail page', { tags: 'DataAssets' }, () => {
|
|
before(() => {
|
|
cy.login();
|
|
|
|
updateJWTTokenExpiryTime(JWT_EXPIRY_TIME_MAP['2 hours']);
|
|
EntityClass.preRequisitesForTests();
|
|
});
|
|
|
|
after(() => {
|
|
cy.login();
|
|
|
|
updateJWTTokenExpiryTime(JWT_EXPIRY_TIME_MAP['1 hour']);
|
|
EntityClass.postRequisitesForTests();
|
|
});
|
|
entities.forEach((entity) => {
|
|
describe(`${entity.getName()} page`, () => {
|
|
before(() => {
|
|
cy.login();
|
|
|
|
entity.prepareForTests();
|
|
});
|
|
|
|
after(() => {
|
|
cy.login();
|
|
|
|
entity.cleanup();
|
|
cy.logout();
|
|
});
|
|
|
|
beforeEach(() => {
|
|
cy.login();
|
|
entity.visitEntity();
|
|
});
|
|
|
|
it(`Domain assign, update & delete`, () => {
|
|
entity.assignDomain();
|
|
entity.updateDomain();
|
|
entity.removeDomain();
|
|
});
|
|
|
|
it(`User as Owner assign, update & delete`, () => {
|
|
entity.userOwnerFlow(OWNER1, OWNER2);
|
|
});
|
|
|
|
it(`Team as Owner assign, update & delete`, () => {
|
|
entity.teamOwnerFlow(TEAM_OWNER_1, TEAM_OWNER_2);
|
|
});
|
|
|
|
it(`Tier assign, update & delete`, () => {
|
|
entity.tierFlow('Tier1', 'Tier5');
|
|
});
|
|
|
|
it(`Update description`, () => {
|
|
entity.updateDescription();
|
|
});
|
|
|
|
it(`Tags assign, update & delete`, () => {
|
|
entity.assignTags();
|
|
entity.updateTags();
|
|
entity.removeTags();
|
|
});
|
|
|
|
it(`GlossaryTerm assign, update & delete`, () => {
|
|
entity.assignGlossary();
|
|
entity.updateGlossary();
|
|
entity.removeGlossary();
|
|
});
|
|
|
|
it(`Update displayName`, () => {
|
|
entity.renameEntity();
|
|
});
|
|
|
|
it(`Announcement create & delete`, () => {
|
|
entity.createAnnouncement();
|
|
entity.replyAnnouncement();
|
|
entity.removeAnnouncement();
|
|
});
|
|
|
|
it(`Inactive Announcement create & delete`, () => {
|
|
entity.createInactiveAnnouncement();
|
|
entity.removeInactiveAnnouncement();
|
|
});
|
|
|
|
it(`UpVote & DownVote entity`, () => {
|
|
entity.upVote();
|
|
entity.downVote();
|
|
});
|
|
|
|
// Create custom property only for supported entities
|
|
if (CustomPropertySupportedEntityList.includes(entity.endPoint)) {
|
|
const properties = Object.values(CustomPropertyTypeByName).join(', ');
|
|
|
|
it(`Set ${properties} Custom Property `, () => {
|
|
Object.values(CustomPropertyTypeByName).forEach((type) => {
|
|
entity.setCustomProperty(
|
|
entity.customPropertyValue[type].property,
|
|
entity.customPropertyValue[type].value
|
|
);
|
|
});
|
|
});
|
|
|
|
it(`Update ${properties} Custom Property`, () => {
|
|
Object.values(CustomPropertyTypeByName).forEach((type) => {
|
|
entity.updateCustomProperty(
|
|
entity.customPropertyValue[type].property,
|
|
entity.customPropertyValue[type].newValue
|
|
);
|
|
});
|
|
});
|
|
}
|
|
|
|
it(`follow unfollow entity`, () => {
|
|
entity.followUnfollowEntity();
|
|
});
|
|
|
|
it(`Soft delete`, () => {
|
|
entity.softDeleteEntity();
|
|
});
|
|
|
|
it(`Hard delete`, () => {
|
|
entity.hardDeleteEntity();
|
|
});
|
|
});
|
|
});
|
|
});
|