mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	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);
 | |
| });
 |