Chirag Madlani 753e182e21
fix cypress failures (#13547)
* fix cypress fialures

* fix escape sequence for ES search

* exclude services tests

* revert cypress config

* remove unwated escape call

* skip service cypress

* mapping name mismatch

* escape search query for enter

* fix cypress failures

* fix cypress failures part 2

---------

Co-authored-by: 07Himank <himank07mehta@gmail.com>
2023-10-14 16:45:28 +05:30

147 lines
4.2 KiB
JavaScript

/*
* Copyright 2022 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.
*/
// eslint-disable-next-line spaced-comment
/// <reference types="cypress" />
import {
addTeam,
interceptURL,
uuid,
verifyResponseStatusCode,
visitEntityDetailsPage,
} from '../../common/common';
import { SEARCH_ENTITY_TABLE } from '../../constants/constants';
const teamName = `team-group-test-${uuid()}`;
const TEAM_DETAILS = {
name: teamName,
teamType: 'Group',
description: `This is ${teamName} description`,
email: 'team@gmail.com',
...SEARCH_ENTITY_TABLE.table_1,
};
describe.skip('Create a team and add that team as a owner of the entity', () => {
beforeEach(() => {
cy.login();
interceptURL(
'GET',
`/api/v1/search/query?q=*${teamName}***teamType:Group&from=0&size=25&index=team_search_index`,
'waitForTeams'
);
interceptURL('PATCH', `/api/v1/tables/*`, 'updateTable');
});
/**
* 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', () => {
interceptURL('GET', '/api/v1/teams/name/*', 'getTeams');
cy.get('[data-testid="app-bar-item-settings"]')
.should('be.visible')
.click();
// Clicking on teams
cy.get('[data-testid="settings-left-panel"]')
.contains('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);
});
it('Add newly created group type team as owner, and remove it', () => {
visitEntityDetailsPage(
TEAM_DETAILS.term,
TEAM_DETAILS.serviceName,
TEAM_DETAILS.entity
);
cy.get('[data-testid="edit-owner"]').should('be.visible').click();
cy.get('[data-testid="owner-select-teams-search-bar"]')
.should('be.visible')
.type(TEAM_DETAILS.name);
verifyResponseStatusCode('@waitForTeams', 200);
// Selecting the team
cy.get(`[title="${TEAM_DETAILS.name}"]`)
.should('exist')
.should('be.visible')
.click();
verifyResponseStatusCode('@updateTable', 200);
cy.get('[data-testid="owner-link"]')
.scrollIntoView()
.invoke('text')
.then((text) => {
expect(text).equal(TEAM_DETAILS.name);
});
});
it('Remove newly created group type team as owner', () => {
visitEntityDetailsPage(
TEAM_DETAILS.term,
TEAM_DETAILS.serviceName,
TEAM_DETAILS.entity
);
cy.get('[data-testid="edit-owner"]').should('be.visible').click();
cy.get('[data-testid="owner-select-teams-search-bar"]')
.should('be.visible')
.type(TEAM_DETAILS.name);
verifyResponseStatusCode('@waitForTeams', 200);
cy.get('[data-testid="remove-owner"]').should('be.visible').click();
verifyResponseStatusCode('@updateTable', 200);
cy.get('[data-testid="owner-link"]').should(
'not.contain',
TEAM_DETAILS.name
);
});
it('Delete newly created team', () => {
const token = localStorage.getItem('oidcIdToken');
cy.request({
method: 'GET',
url: `/api/v1/teams/name/${teamName}`,
headers: { Authorization: `Bearer ${token}` },
}).then((response) => {
cy.request({
method: 'GET',
url: `/api/v1/teams/${response.body.id}?hardDelete=true&recursive=true`,
headers: { Authorization: `Bearer ${token}` },
}).then((response) => {
expect(response.status).to.eq(200);
});
});
});
});