mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	| https://linear.app/unleash/issue/2-3028/fix-create-feature-flag-e2e-test Fixes our failing [create feature e2e test](https://github.com/Unleash/unleash/actions/runs/12027120576/job/33527490303?pr=8843). We were looking for the feature flag name in the URL, not the DOM. Previously, whenever we created a new feature flag, this would automatically redirect us to that flag's page. This is no longer the case if you use the "Create flag" button you see in the onboarding header, which is the one the test is now using. I agree it makes sense not to redirect in this case, but the test should be adapted accordingly, and instead look for the feature flag name in the table. | ||
|---|---|---|
| .. | ||
| fixtures | ||
| integration | ||
| oss/feature | ||
| support | ||
| global.d.ts | ||
| README.md | ||
| tsconfig.json | ||
Unleash Behavioural tests
Add common commands to Cypress
- global.d.tsis where we extend Cypress types
- API.tscontains api requests for common actions (great place for cleanup actions)
- UI.tscontains common functions for UI operations
- commands.tsis the place to map the functions to a cypress command
Test Format
Ideally each test should manage its own data.
Avoid using after and afterEach hooks for cleaning up. According to Cypress docs, there is no guarantee that the functions will run
Suggested Format:
- prepare
- when
- then
- clean
Passing (returned) parameters around
it('can add, update and delete a gradual rollout strategy to the development environment', async () => {
    cy.addFlexibleRolloutStrategyToFeature_UI({
        featureToggleName,
    }).then(value => {
        strategyId = value;
        cy.updateFlexibleRolloutStrategy_UI(featureToggleName, strategyId).then(
            () => cy.deleteFeatureStrategy_UI(featureToggleName, strategyId)
        );
    });
});