1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
unleash.unleash/frontend/cypress/support/commands.ts
Gastón Fournier acecffd93f
fix: force languages in cypress browser for tests (#8049)
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:
![image
(38)](https://github.com/user-attachments/assets/db2fad23-6fec-47c0-8c6f-a93f3e4e4c4c)

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
2024-09-03 10:06:58 +00:00

61 lines
2.0 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);