mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-08-28 02:46:09 +00:00
101 lines
3.0 KiB
JavaScript
101 lines
3.0 KiB
JavaScript
![]() |
/*
|
||
|
* Copyright 2021 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 { addTeam, interceptURL, login, searchEntity, uuid, verifyResponseStatusCode } from "../../common/common";
|
||
|
import { LOGIN } from "../../constants/constants";
|
||
|
|
||
|
|
||
|
const teamName = `team-group-test-${uuid()}`;
|
||
|
const TEAM_DETAILS = {
|
||
|
name: teamName,
|
||
|
displayName: teamName,
|
||
|
teamType: 'Group',
|
||
|
description: `This is ${teamName} description`,
|
||
|
assetName: 'fact_sale',
|
||
|
};
|
||
|
|
||
|
|
||
|
describe("Create a team and add that team as a owner of the entity", () => {
|
||
|
beforeEach(() => {
|
||
|
login(LOGIN.username, LOGIN.password);
|
||
|
cy.goToHomePage();
|
||
|
});
|
||
|
|
||
|
/**
|
||
|
* Here we are adding team of type group as
|
||
|
* Only team of type group can own the entities
|
||
|
*/
|
||
|
it("Add a group team type and assign it as a owner of the entity", () => {
|
||
|
|
||
|
cy.get('[data-testid="appbar-item-settings"]').should('be.visible').click();
|
||
|
interceptURL('GET', '/api/v1/users*', 'getTeams');
|
||
|
|
||
|
//Clicking on teams
|
||
|
cy.get('[data-menu-id*="teams"]')
|
||
|
.should('exist')
|
||
|
.should('be.visible')
|
||
|
.click();
|
||
|
|
||
|
verifyResponseStatusCode('@getTeams', 200);
|
||
|
|
||
|
addTeam(TEAM_DETAILS);
|
||
|
|
||
|
cy.reload();
|
||
|
|
||
|
/**
|
||
|
* Check for added team details
|
||
|
*/
|
||
|
cy.get('table').find('.ant-table-row').should('contain', TEAM_DETAILS.name);
|
||
|
cy.get('table')
|
||
|
.find('.ant-table-row')
|
||
|
.should('contain', TEAM_DETAILS.description);
|
||
|
|
||
|
searchEntity(TEAM_DETAILS.assetName);
|
||
|
|
||
|
interceptURL('GET', 'api/v1/tables/name/*', 'getEntityDetails');
|
||
|
|
||
|
cy.get('[data-testid="table-link"]').first().should('be.visible').click();
|
||
|
|
||
|
verifyResponseStatusCode('@getEntityDetails', 200);
|
||
|
|
||
|
interceptURL(
|
||
|
'GET',
|
||
|
'/api/v1/search/query?q=*%20AND%20teamType:Group&from=0&size=10&index=team_search_index',
|
||
|
'waitForTeams'
|
||
|
);
|
||
|
|
||
|
cy.get('[data-testid="edit-Owner-icon"]').should('be.visible').click();
|
||
|
|
||
|
verifyResponseStatusCode('@waitForTeams', 200);
|
||
|
|
||
|
interceptURL('PATCH', '/api/v1/tables/*', 'validateOwner');
|
||
|
|
||
|
cy.get('[data-testid="searchInputText"]').should("be.visible").type(TEAM_DETAILS.displayName)
|
||
|
|
||
|
//Selecting the team
|
||
|
cy.get(`[title="${TEAM_DETAILS.displayName}"]`)
|
||
|
.should('exist')
|
||
|
.should('be.visible')
|
||
|
.click();
|
||
|
|
||
|
verifyResponseStatusCode('@validateOwner', 200);
|
||
|
|
||
|
cy.get('[data-testid="owner-link"]')
|
||
|
.scrollIntoView()
|
||
|
.invoke('text')
|
||
|
.then((text) => {
|
||
|
expect(text).equal(TEAM_DETAILS.displayName);
|
||
|
});
|
||
|
})
|
||
|
|
||
|
})
|