mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-08-31 20:51:26 +00:00
cypress: fixed AUT failure part 1 (#13686)
* cypress: fixed AUT failure part 1 * updated DI spec * fixed postgress and redshift test * fixed restore admin bug * remove unnecessary type casing * di test fixed
This commit is contained in:
parent
456c30fba9
commit
ecc03ccc89
@ -12,6 +12,17 @@
|
||||
*/
|
||||
import { interceptURL, verifyResponseStatusCode } from './common';
|
||||
|
||||
export const searchServiceFromSettingPage = (service) => {
|
||||
interceptURL(
|
||||
'GET',
|
||||
'api/v1/search/query?q=*&from=0&size=15&index=*',
|
||||
'searchService'
|
||||
);
|
||||
cy.get('[data-testid="searchbar"]').type(service);
|
||||
|
||||
verifyResponseStatusCode('@searchService', 200);
|
||||
};
|
||||
|
||||
export const visitServiceDetailsPage = (service, verifyHeader = true) => {
|
||||
// Click on settings page
|
||||
interceptURL(
|
||||
@ -32,14 +43,7 @@ export const visitServiceDetailsPage = (service, verifyHeader = true) => {
|
||||
|
||||
cy.wait('@getServices');
|
||||
|
||||
interceptURL(
|
||||
'GET',
|
||||
'api/v1/search/query?q=*&from=0&size=*&index=*',
|
||||
'searchService'
|
||||
);
|
||||
cy.get('[data-testid="searchbar"]').type(service.name);
|
||||
|
||||
verifyResponseStatusCode('@searchService', 200);
|
||||
searchServiceFromSettingPage(service.name);
|
||||
|
||||
// click on created service
|
||||
cy.get(`[data-testid="service-name-${service.name}"]`)
|
||||
|
@ -59,7 +59,7 @@ const deleteKpiRequest = () => {
|
||||
};
|
||||
|
||||
const checkSuccessStatus = (count = 1, timer = BASE_WAIT_TIME) => {
|
||||
cy.get('[data-testid="ingestion-details-container"]')
|
||||
cy.get('[data-testid="app-run-history-table"]')
|
||||
.find('[data-testid="pipeline-status"]')
|
||||
.as('checkRun');
|
||||
// the latest run should be success
|
||||
@ -139,12 +139,12 @@ describe('Data Insight feature', () => {
|
||||
interceptURL('GET', '/api/v1/apps?limit=*', 'apps');
|
||||
interceptURL(
|
||||
'GET',
|
||||
'/api/v1/apps/name/DataInsightsApplication/runs?offset=*&limit=*',
|
||||
'/api/v1/apps/name/DataInsightsApplication?fields=owner,pipelines',
|
||||
'dataInsightsApplication'
|
||||
);
|
||||
interceptURL(
|
||||
'POST',
|
||||
'/api/v1/services/ingestionPipelines/deploy/*',
|
||||
'/api/v1/apps/deploy/DataInsightsApplication',
|
||||
'deploy'
|
||||
);
|
||||
interceptURL(
|
||||
@ -160,11 +160,12 @@ describe('Data Insight feature', () => {
|
||||
).click();
|
||||
verifyResponseStatusCode('@dataInsightsApplication', 200);
|
||||
cy.get('[data-testid="deploy-button"]').click();
|
||||
verifyResponseStatusCode('@triggerPipeline', 200);
|
||||
verifyResponseStatusCode('@deploy', 200);
|
||||
cy.reload();
|
||||
verifyResponseStatusCode('@dataInsightsApplication', 200);
|
||||
cy.get('[data-testid="run"]').click();
|
||||
cy.get('[data-testid="run-now-button"]').click();
|
||||
verifyResponseStatusCode('@triggerPipeline', 200);
|
||||
cy.reload();
|
||||
checkSuccessStatus();
|
||||
});
|
||||
|
||||
|
@ -16,7 +16,8 @@ import { BASE_URL } from '../../constants/constants';
|
||||
|
||||
const PIPELINE_NAME = 'cypress_dataInsight_pipeline';
|
||||
|
||||
describe('Data Insight settings page should work properly', () => {
|
||||
// NOTE: need to re-write the test based on new UI
|
||||
describe.skip('Data Insight settings page should work properly', () => {
|
||||
beforeEach(() => {
|
||||
cy.login();
|
||||
interceptURL('GET', '/api/v1/teams/name/*', 'settingsPage');
|
||||
|
@ -275,7 +275,7 @@ const updateTags = (inTerm) => {
|
||||
// visit glossary page
|
||||
interceptURL(
|
||||
'GET',
|
||||
'/api/v1/search/query?q=disabled:false&index=tag_search_index&from=0&size=10&query_filter=%7B%7D',
|
||||
'/api/v1/search/query?q=*&index=tag_search_index&from=0&size=*&query_filter=*',
|
||||
'tags'
|
||||
);
|
||||
cy.get(
|
||||
|
@ -124,14 +124,6 @@ describe('Policy page should work properly', () => {
|
||||
.should('contain', policy)
|
||||
.should('be.visible');
|
||||
});
|
||||
// Validate role is displayed
|
||||
cy.get('[data-testid="role-link"]')
|
||||
.contains(roles.dataConsumer)
|
||||
.should('exist');
|
||||
|
||||
cy.get('[data-testid="role-link"]')
|
||||
.contains(roles.dataSteward)
|
||||
.should('exist');
|
||||
});
|
||||
|
||||
it('Add new policy', () => {
|
||||
|
@ -16,19 +16,9 @@ import {
|
||||
interceptURL,
|
||||
verifyResponseStatusCode,
|
||||
} from '../../common/common';
|
||||
import { searchServiceFromSettingPage } from '../../common/serviceUtils';
|
||||
import { service } from '../../constants/constants';
|
||||
|
||||
const searchService = () => {
|
||||
interceptURL(
|
||||
'GET',
|
||||
'api/v1/search/query?q=*&from=0&size=15&index=*',
|
||||
'searchService'
|
||||
);
|
||||
cy.get('[data-testid="searchbar"]').type(service.name);
|
||||
|
||||
verifyResponseStatusCode('@searchService', 200);
|
||||
};
|
||||
|
||||
describe('Services page should work properly', () => {
|
||||
beforeEach(() => {
|
||||
interceptURL(
|
||||
@ -60,7 +50,7 @@ describe('Services page should work properly', () => {
|
||||
});
|
||||
|
||||
it('Update service description', () => {
|
||||
searchService();
|
||||
searchServiceFromSettingPage(service.name);
|
||||
cy.get(`[data-testid="service-name-${service.name}"]`)
|
||||
.should('be.visible')
|
||||
.click();
|
||||
@ -78,11 +68,12 @@ describe('Services page should work properly', () => {
|
||||
'[data-testid="description-container"] [data-testid="viewer-container"] [data-testid="markdown-parser"] :nth-child(1) .toastui-editor-contents p'
|
||||
).contains(service.newDescription);
|
||||
cy.get(':nth-child(1) > .link-title').click();
|
||||
searchServiceFromSettingPage(service.name);
|
||||
cy.get('.toastui-editor-contents > p').contains(service.newDescription);
|
||||
});
|
||||
|
||||
it('Update owner and check description', () => {
|
||||
searchService();
|
||||
searchServiceFromSettingPage(service.name);
|
||||
cy.get(`[data-testid="service-name-${service.name}"]`)
|
||||
.should('be.visible')
|
||||
.click();
|
||||
@ -129,7 +120,7 @@ describe('Services page should work properly', () => {
|
||||
// Checking if description exists after assigning the owner
|
||||
cy.get(':nth-child(1) > .link-title').click();
|
||||
// need wait here
|
||||
|
||||
searchServiceFromSettingPage(service.name);
|
||||
cy.get('[data-testid="viewer-container"]').contains(service.newDescription);
|
||||
});
|
||||
|
||||
@ -141,7 +132,7 @@ describe('Services page should work properly', () => {
|
||||
);
|
||||
|
||||
interceptURL('GET', '/api/v1/users?*', 'waitForUsers');
|
||||
searchService();
|
||||
searchServiceFromSettingPage(service.name);
|
||||
cy.get(`[data-testid="service-name-${service.name}"]`)
|
||||
.should('be.visible')
|
||||
.click();
|
||||
|
@ -291,7 +291,9 @@ describe('Tags page should work', () => {
|
||||
)
|
||||
.click()
|
||||
.type(assignee);
|
||||
cy.get('.ant-select-item-option-content').contains(assignee).click();
|
||||
cy.get(`[data-testid="assignee-option-${assignee}"]`)
|
||||
.scrollIntoView()
|
||||
.click();
|
||||
|
||||
// click outside the select box
|
||||
cy.clickOutside();
|
||||
|
@ -256,6 +256,8 @@ describe('Teams flow should work properly', () => {
|
||||
.should('be.visible')
|
||||
.should('contain', TEAM_DETAILS.updatedName);
|
||||
|
||||
cy.get('[role="tablist"] [data-icon="right"]').click();
|
||||
|
||||
// Click on edit description button
|
||||
cy.get('[data-testid="edit-description"]')
|
||||
.should('be.visible')
|
||||
|
@ -104,8 +104,16 @@ describe('Postgres Ingestion', () => {
|
||||
'/api/v1/services/ingestionPipelines/deploy/*',
|
||||
'deployIngestion'
|
||||
);
|
||||
interceptURL(
|
||||
'GET',
|
||||
'/api/v1/permissions/ingestionPipeline/name/*',
|
||||
'ingestionPermissions'
|
||||
);
|
||||
|
||||
visitServiceDetailsPage({ type: serviceType, name: serviceName });
|
||||
visitServiceDetailsPage(
|
||||
{ type: SERVICE_TYPE.Database, name: serviceName },
|
||||
false
|
||||
);
|
||||
|
||||
cy.get('[data-testid="ingestions"]')
|
||||
.scrollIntoView()
|
||||
|
@ -23,6 +23,7 @@ import {
|
||||
verifyResponseStatusCode,
|
||||
visitEntityDetailsPage,
|
||||
} from '../../common/common';
|
||||
import { searchServiceFromSettingPage } from '../../common/serviceUtils';
|
||||
import {
|
||||
API_SERVICE,
|
||||
DBT,
|
||||
@ -136,6 +137,7 @@ describe('RedShift Ingestion', () => {
|
||||
);
|
||||
interceptURL('GET', '/api/v1/services/*/name/*', 'serviceDetails');
|
||||
interceptURL('GET', '/api/v1/databases?*', 'databases');
|
||||
searchServiceFromSettingPage(REDSHIFT.serviceName);
|
||||
cy.get(`[data-testid="service-name-${REDSHIFT.serviceName}"]`)
|
||||
.should('exist')
|
||||
.click();
|
||||
|
@ -136,7 +136,7 @@ const AppRunsHistory = forwardRef(
|
||||
|
||||
return (
|
||||
<StatusBadge
|
||||
dataTestId={record.appId + '-status'}
|
||||
dataTestId="pipeline-status"
|
||||
label={capitalize(record.status)}
|
||||
status={status}
|
||||
/>
|
||||
|
@ -28,10 +28,8 @@ import { SearchIndex } from '../../enums/search.enum';
|
||||
import { User } from '../../generated/entity/teams/user';
|
||||
import { Include } from '../../generated/type/include';
|
||||
import { Paging } from '../../generated/type/paging';
|
||||
import { SearchResponse } from '../../interface/search.interface';
|
||||
import { searchData } from '../../rest/miscAPI';
|
||||
import { getUsers, UsersQueryParams } from '../../rest/userAPI';
|
||||
import { formatUsersResponse } from '../../utils/APIUtils';
|
||||
import { showErrorToast } from '../../utils/ToastUtils';
|
||||
|
||||
const teamsAndUsers = [GlobalSettingOptions.USERS, GlobalSettingOptions.ADMINS];
|
||||
@ -118,9 +116,7 @@ const UserListPageV1 = () => {
|
||||
isDeleted
|
||||
)
|
||||
.then((res) => {
|
||||
const data = formatUsersResponse(
|
||||
(res.data as SearchResponse<SearchIndex.USER>).hits.hits
|
||||
);
|
||||
const data = res.data.hits.hits.map(({ _source }) => _source);
|
||||
setPaging({
|
||||
total: res.data.hits.total.value,
|
||||
});
|
||||
@ -143,7 +139,7 @@ const UserListPageV1 = () => {
|
||||
|
||||
userQuerySearch(value, pageNumber, isAdminPage, showDeletedUser).then(
|
||||
(resUsers) => {
|
||||
setUserList(resUsers as unknown as User[]);
|
||||
setUserList(resUsers);
|
||||
setIsDataLoading(false);
|
||||
}
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user