Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

157 lines
5.1 KiB
JavaScript
Raw Normal View History

/*
* 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.
*/
2022-05-10 22:47:04 -07:00
// ***********************************************
// This example commands.js shows you how to
// create various custom commands and overwrite
// existing commands.
//
// For more comprehensive examples of custom
// commands please read more here:
// https://on.cypress.io/custom-commands
// ***********************************************
//
//
// -- This is a parent command --
// Cypress.Commands.add('login', (email, password) => { ... })
//
//
// -- This is a child command --
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
//
//
// -- This is a dual command --
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
//
//
// -- This will overwrite an existing command --
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
import { interceptURL, verifyResponseStatusCode } from '../common/common';
import { BASE_URL, LOGIN } from '../constants/constants';
2022-05-10 22:47:04 -07:00
Cypress.Commands.add('loginByGoogleApi', () => {
cy.log('Logging in to Google');
cy.request({
method: 'POST',
url: 'https://www.googleapis.com/oauth2/v4/token',
body: {
grant_type: 'refresh_token',
client_id: Cypress.env('googleClientId'),
client_secret: Cypress.env('googleClientSecret'),
refresh_token: Cypress.env('googleRefreshToken'),
},
}).then(({ body }) => {
const { access_token, id_token } = body;
cy.request({
method: 'GET',
url: 'https://www.googleapis.com/oauth2/v3/userinfo',
headers: { Authorization: `Bearer ${access_token}` },
}).then(({ body }) => {
cy.log(body);
const userItem = {
token: id_token,
user: {
googleId: body.sub,
email: body.email,
givenName: body.given_name,
familyName: body.family_name,
imageUrl: body.picture,
},
};
window.localStorage.setItem('googleCypress', JSON.stringify(userItem));
window.localStorage.setItem('oidcIdToken', id_token);
cy.visit('/');
2022-05-10 22:47:04 -07:00
});
});
});
Cypress.Commands.add('goToHomePage', (doNotNavigate) => {
interceptURL('GET', '/api/v1/users/loggedInUser?fields=*', 'userProfile');
!doNotNavigate && cy.visit('/');
verifyResponseStatusCode('@userProfile', 200);
});
Cypress.Commands.add('clickOnLogo', () => {
cy.get('#openmetadata_logo > [data-testid="image"]').click();
});
const resizeObserverLoopErrRe = /^[^(ResizeObserver loop limit exceeded)]/;
Cypress.on('uncaught:exception', (err) => {
/* returning false here prevents Cypress from failing the test */
if (resizeObserverLoopErrRe.test(err.message)) {
return false;
}
});
Cypress.Commands.add('storeSession', (username, password) => {
/*
Reference docs for session https://docs.cypress.io/api/commands/session
Its currently Experimental feature, but cypress is encouraging to use this feature
as Cypress.Cookies.preserveOnce() and Cypress.Cookies.defaults() has been deprecated
*/
cy.session([username, password], () => {
cy.visit('/');
cy.get('[id="email"]').should('be.visible').clear().type(username);
cy.get('[id="password"]').should('be.visible').clear().type(password);
interceptURL('POST', '/api/v1/users/login', 'login');
cy.get('[data-testid="login"]').contains('Login').click();
verifyResponseStatusCode('@login', 200);
cy.url().should('not.eq', `${BASE_URL}/signin`);
// Don't want to show any popup in the tests
cy.setCookie(`STAR_OMD_USER_admin`, 'true');
// Get version and set cookie to hide version banner
cy.request({
method: 'GET',
url: `api/v1/system/version`,
}).then((res) => {
const version = res.body.version;
const versionCookie = `VERSION_${version
.split('-')[0]
.replaceAll('.', '_')}`;
cy.setCookie(versionCookie, 'true');
});
});
});
Cypress.Commands.add(
'login',
(username = LOGIN.username, password = LOGIN.password) => {
cy.storeSession(username, password);
cy.goToHomePage();
}
);
UI - design update for new UI/UX (#12000) * chore(ui): revamp table details page Re-design table details header with schema tab * misc fixes for ui and tests * update * fix edit description * chore(ui): update the app left panel icons * chore(ui): update left panel icon stroke color * fix: explore page layout change * fix: highlight issues * updated right panel for explore page * fix: explore layout changes * separate out header component * added activity feed tab * fix: highlight issue * fix: highlight card for explore page * support all widget fix spacing issue * fix: show reactions * fix: update reactions for tasks tab * fix: make use of appstate to avoid repetitive calls * fix activity feed layout * fix: landing page and explore feedbacks * fix: missing localization * update activityFeedProvider with drawer * fix description v1 component icons * fix: update styles * minor fix on icons and entity table * Revamp Tag UI for TableDetailPage * fix: update css * Remove color in TagV1 component and minor file improvement * added frequantly joint table basic structure * fix: update kpi chart styles * supported request tags in table detail page * fix request description redirect issue * fix: update styles for my data page * added scroll to frequently joint table * removing unnaccessary code * fix: explore page feedbacks * fix: explore feedbacks * fixed signup page issue * chore(ui): only apply the text transform on heading * chore(ui): update table header styling * chore(ui): update table text color and border radius * fix: explore quick filters * update header for topic and dashboard * chore: update table body styling * supported glossary term hierarchy * updating spacing for all the page * chore(ui): update descriptionV1 component styling * chore: update add-chat viewbox * fix: left sidebar console errors * update all the entity headers * chore: update table name to name * update description component * clear console errors * revamp entity topbar manage area * fix: entity popover similar to explore card * updated navbar as per new UI mock * fix: feedbacks * updated announcement style as per mock * fix: explore feedbacks * implemented single box shadow wherever its needed and worked on feedback * worked on feedbacks * update feed tab on activityFeedTab component * updated glossary card, no owner icon * fix glossary hierarchy issue of repeating same glossary * fix: update resizable panel pages * updated navbar, align profiler picture in navbar with other element * fix: remove page layout component * fix: add missing layout in rule pages * fix: jest tests * fix: jest tests * replace old activity feed component with new one * fix: jest unit tests * initial DQ page setup * translation sync * fix: unit tests * supported subtab route for entities pages * fix: feedbacks * fix: update tasks pages * supported api for activity feeds for entity * added tabs component in entity table component * worked on test-suite tab * added quality page path in left bar * added action button for test suite * updated redirect path for data-quality * revert to old re-direction for add-test suite * update activity feed task tab * hide action for activity feed tab * fix: task action issue on descriptionV1 * supported new ui for data modal detail page * fix: feedbacks * fix: add missing localization * fix: breadcrumbs * data quality feedbacks * fix: feedbacks * fix: add missing localization * fix: feedbacks * supported activity feed in container and tags of all entities * update task relates changes * remove inline css for entity tag component * feat: update blue as primary color * feat: update svgs to use new primary color * updated DQ page with feedback, and add quality page flow change * translation-sync * fix assignee for tasks * updated api data for test suite pipeline creation * fix: primary color changes * fix: feedbacks * fix count issues * fix scrolling issue for activity feed * address feedbacks * combine open task with heading buttons * data quality changes * fix close with comment * removed delete functionality * clear CLI error, and changes as per JSON schema * update scroll issue on details page * added new badge, and api integration * chore: update data quality tab page styling * cleanup * fix settings page scroll issue * fix scroll issue on service page * chore: update summary cards * update graph color * DQ test case test as per mock * support edit and suggest * integrated API for status update * translation sync * fix cypress tests * integrated API call for test summary * mydata and following page change in user profile page * fix tag cypress tests * updated success % via api data for test suite * fix user component unit test * integrated API for test summary * updated data quality tab as per new mock * revert commented code fir testcaseForm.tsx * fix cypress tests * change user page activity feed with new ui * chore: fix console errors related to activity feed tab component * chore: update setting button style * chore: fix spacing * added pipeline tab * chore: update the colum profiler table * fix: test indicator styling * fetch test suite details * fix: lineage redesign * fix: missing localization * chore: add support for showing single column profile in page itself * chore: add column dropdown for column profiler * fix cypress for entity tags add and remove * supported more parameter in entity dashboard header * chore: add default tab for data quality * removed unneccessary code, and updated testsuite details page with new style * fixed DQ test * translation sync * fix cypress * added functionality to link test case with logical test suite * chore: remove fixed right from status column in column profile tab * fix: purple color issues * fix the count issue in user profile page and breaking of task page * fix: feedbacks * fix: feedbacks * ui improvements * fix cypress for owner and tier * change announcement card color and deleted old assest to it * remove old activity feed files * fix unit test * fix various cypress * fix cypress failues --------- Co-authored-by: Sachin Chaurasiya <sachinchaurasiyachotey87@gmail.com> Co-authored-by: karanh37 <karanh37@gmail.com> Co-authored-by: Shailesh Parmar <shailesh.parmar.webdev@gmail.com> Co-authored-by: Ashish Gupta <ashish@getcollate.io>
2023-06-21 12:59:20 +05:30
Cypress.Commands.add('clickOutside', function () {
return cy.get('body').click(0, 0); // 0,0 here are the x and y coordinates
});
Cypress.Commands.add('logout', () => {
interceptURL('POST', '/api/v1/users/logout', 'logoutUser');
cy.get('[data-testid="app-bar-item-logout"]').scrollIntoView().click();
cy.get('[data-testid="confirm-logout"]').click();
// verify the logout request
verifyResponseStatusCode('@logoutUser', 200);
cy.url().should('eq', `${BASE_URL}/signin`);
Cypress.session.clearAllSavedSessions();
});