mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
21b4ada577
https://linear.app/unleash/issue/2-1128/change-the-api-to-support-adding-multiple-roles-to-a-usergroup-on-a https://linear.app/unleash/issue/2-1125/be-able-to-fetch-all-roles-for-a-user-in-a-project https://linear.app/unleash/issue/2-1127/adapt-the-ui-to-be-able-to-do-a-multi-select-on-role-permissions-for - Allows assigning project roles to groups with root roles - Implements new methods that support assigning, editing, removing and retrieving multiple project roles in project access, along with other auxiliary methods - Adds new events for updating and removing assigned roles - Adapts `useProjectApi` to new methods that use new endpoints that support multiple roles - Adds the `multipleRoles` feature flag that controls the possibility of selecting multiple roles on the UI - Adapts `ProjectAccessAssign` to support multiple role, using the new methods - Adds a new `MultipleRoleSelect` component that allows you to select multiple roles based on the `RoleSelect` component - Adapts the `RoleCell` component to support either a single role or multiple roles - Updates the `access.spec.ts` Cypress e2e test to reflect our new logic - Updates `access-service.e2e.test.ts` with tests covering the multiple roles logic and covering some corner cases - Updates `project-service.e2e.test.ts` to adapt to the new logic, adding a test that covers adding access with `[roles], [groups], [users]` - Misc refactors and boy scouting ![image](https://github.com/Unleash/unleash/assets/14320932/d1cc7626-9387-4ab8-9860-cd293a0d4f62) --------- Co-authored-by: David Leek <david@getunleash.io> Co-authored-by: Mateusz Kwasniewski <kwasniewski.mateusz@gmail.com> Co-authored-by: Nuno Góis <github@nunogois.com> |
||
---|---|---|
.. | ||
fixtures | ||
integration | ||
support | ||
global.d.ts | ||
README.md | ||
tsconfig.json |
Unleash Behavioural tests
Add common commands to Cypress
global.d.ts
is where we extend Cypress typesAPI.ts
contains api requests for common actions (great place for cleanup actions)UI.ts
contains common functions for UI operationscommands.ts
is 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)
);
});
});