mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	To fix this we had to create a free trial account on cypress and enable
the recording of the test. That way we found out the issue was with a
locale:

Probably, this works well locally because our local machines do have a
default locale, but probably we don't have one when running in CI, and
millify library is causing the tests to fail specifically at this line:
363911c4a1/frontend/src/component/common/AvatarGroup/AvatarGroup.tsx (L89)
(validated
[here](https://github.com/Unleash/unleash/pull/8040/files#diff-afc857890da2221bd34feed0ff45dd7745ff32fb0b27055214cbe69896d5311dL89)).
Unfortunately, upgrading millify didn't help, but downgrading to v5
(which doesn't support locales), solve the issue at the cost of not
having the up-to-date library:
https://github.com/Unleash/unleash/pull/8048
I believe the issue is related to this locale `c` reported here:
https://github.com/cypress-io/cypress/issues/7890#issuecomment-2105991364
because only after overriding the languages this worked
		
	
			
		
			
				
	
	
		
			70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| ///<reference path="../../global.d.ts" />
 | |
| 
 | |
| describe('feature', () => {
 | |
|     const randomId = String(Math.random()).split('.')[1];
 | |
|     const featureToggleName = `unleash-e2e-${randomId}`;
 | |
|     const projectName = `unleash-e2e-project-${randomId}`;
 | |
| 
 | |
|     before(() => {
 | |
|         cy.runBefore();
 | |
|         cy.login_UI();
 | |
|         cy.createProject_API(projectName);
 | |
|     });
 | |
| 
 | |
|     after(() => {
 | |
|         cy.on('uncaught:exception', (err) => {
 | |
|             if (
 | |
|                 err.message.includes(
 | |
|                     'ResizeObserver loop completed with undelivered notifications',
 | |
|                 )
 | |
|             ) {
 | |
|                 console.log(
 | |
|                     'Ignored an uncaught resize observer error:',
 | |
|                     err.message,
 | |
|                 );
 | |
|                 // ignore resize observer errors
 | |
|                 // https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver#observation_errors
 | |
|                 // returning false here prevents Cypress from failing the test
 | |
|                 return false;
 | |
|             }
 | |
|         });
 | |
|         cy.deleteFeature_API(featureToggleName, projectName);
 | |
|         cy.deleteProject_API(projectName);
 | |
|     });
 | |
| 
 | |
|     beforeEach(() => {
 | |
|         cy.login_UI();
 | |
|         cy.visit('/features');
 | |
|     });
 | |
| 
 | |
|     it('can create a feature flag', () => {
 | |
|         cy.createFeature_UI(featureToggleName, true, projectName);
 | |
|         cy.url().should('include', featureToggleName);
 | |
|     });
 | |
| 
 | |
|     it('gives an error if a toggle exists with the same name', () => {
 | |
|         cy.createFeature_UI(featureToggleName, false, projectName);
 | |
|         cy.get("[data-testid='INPUT_ERROR_TEXT']").contains(
 | |
|             'A flag with that name already exists',
 | |
|         );
 | |
|     });
 | |
| 
 | |
|     it('gives an error if a toggle name is url unsafe', () => {
 | |
|         cy.createFeature_UI('featureToggleUnsafe####$#//', false, projectName);
 | |
|         cy.get("[data-testid='INPUT_ERROR_TEXT']").contains(
 | |
|             `"name" must be URL friendly`,
 | |
|         );
 | |
|     });
 | |
| 
 | |
|     it('can add, update and delete a gradual rollout strategy to the development environment', () => {
 | |
|         cy.addFlexibleRolloutStrategyToFeature_UI({
 | |
|             featureToggleName,
 | |
|             project: projectName,
 | |
|         });
 | |
| 
 | |
|         cy.updateFlexibleRolloutStrategy_UI(featureToggleName, projectName);
 | |
| 
 | |
|         cy.deleteFeatureStrategy_UI(featureToggleName, false, projectName);
 | |
|     });
 | |
| });
 |