mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
eb01b44e69
Some e2e Cypress tests were failing due to the Vercel live feedback toolbar covering interactive elements, preventing test actions from completing: https://github.com/Unleash/unleash/actions/runs/11048512034/job/30692949711#step:4:136 This PR addresses the issue by disabling the Vercel toolbar specifically during Cypress tests. This is done by setting the `x-vercel-skip-toolbar` header, which Vercel provides to prevent the toolbar from interfering with automated tests. You can find more information about this feature in the Vercel documentation: [Disable Toolbar for Automation](https://vercel.com/docs/workflow-collaboration/vercel-toolbar/managing-toolbar#disable-toolbar-for-automation). Specific type declarations were needed due to https://github.com/cypress-io/cypress/issues/19564
71 lines
2.4 KiB
TypeScript
71 lines
2.4 KiB
TypeScript
///<reference path="../global.d.ts" />
|
|
|
|
import {
|
|
runBefore,
|
|
login_UI,
|
|
logout_UI,
|
|
createProject_UI,
|
|
createFeature_UI,
|
|
createSegment_UI,
|
|
deleteSegment_UI,
|
|
deleteFeatureStrategy_UI,
|
|
addFlexibleRolloutStrategyToFeature_UI,
|
|
addUserIdStrategyToFeature_UI,
|
|
updateFlexibleRolloutStrategy_UI,
|
|
//@ts-ignore
|
|
} from './UI';
|
|
import {
|
|
addUserToProject_API,
|
|
createFeature_API,
|
|
createProject_API,
|
|
createUser_API,
|
|
deleteFeature_API,
|
|
deleteProject_API,
|
|
updateUserPassword_API,
|
|
createEnvironment_API,
|
|
//@ts-ignore
|
|
} from './API';
|
|
|
|
Cypress.on('window:before:load', (window) => {
|
|
Object.defineProperty(window.navigator, 'language', { value: 'en' });
|
|
Object.defineProperty(window.navigator, 'languages', { value: ['en'] });
|
|
});
|
|
Cypress.Commands.add('runBefore', runBefore);
|
|
Cypress.Commands.add('login_UI', login_UI);
|
|
Cypress.Commands.add('createSegment_UI', createSegment_UI);
|
|
Cypress.Commands.add('deleteSegment_UI', deleteSegment_UI);
|
|
Cypress.Commands.add('deleteFeature_API', deleteFeature_API);
|
|
Cypress.Commands.add('deleteProject_API', deleteProject_API);
|
|
Cypress.Commands.add('logout_UI', logout_UI);
|
|
Cypress.Commands.add('createProject_UI', createProject_UI);
|
|
Cypress.Commands.add('createProject_API', createProject_API);
|
|
Cypress.Commands.add('createUser_API', createUser_API);
|
|
Cypress.Commands.add('addUserToProject_API', addUserToProject_API);
|
|
Cypress.Commands.add('updateUserPassword_API', updateUserPassword_API);
|
|
Cypress.Commands.add('createFeature_UI', createFeature_UI);
|
|
Cypress.Commands.add('deleteFeatureStrategy_UI', deleteFeatureStrategy_UI);
|
|
Cypress.Commands.add('createFeature_API', createFeature_API);
|
|
Cypress.Commands.add(
|
|
'addUserIdStrategyToFeature_UI',
|
|
addUserIdStrategyToFeature_UI,
|
|
);
|
|
Cypress.Commands.add(
|
|
'addFlexibleRolloutStrategyToFeature_UI',
|
|
addFlexibleRolloutStrategyToFeature_UI,
|
|
);
|
|
Cypress.Commands.add(
|
|
'updateFlexibleRolloutStrategy_UI',
|
|
updateFlexibleRolloutStrategy_UI,
|
|
);
|
|
Cypress.Commands.add('createEnvironment_API', createEnvironment_API);
|
|
Cypress.Commands.overwrite('visit', (originalFn, url, options = {}) => {
|
|
if (!options.headers) {
|
|
options.headers = {};
|
|
}
|
|
|
|
// Add the x-vercel-skip-toolbar header. See: https://vercel.com/docs/workflow-collaboration/vercel-toolbar/managing-toolbar#disable-toolbar-for-automation
|
|
options.headers['x-vercel-skip-toolbar'] = '1';
|
|
|
|
return originalFn(url, options);
|
|
});
|