Shailesh Parmar 7145136626
Cypress: Fixed AUT failure (#16660)
* 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>
2024-06-14 19:12:22 +05:30

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();
});
});
});
});