diff --git a/frontend/cypress/integration/feature/feature.spec.ts b/frontend/cypress/integration/feature/feature.spec.ts index f2b0e5a677..ec3dd69b80 100644 --- a/frontend/cypress/integration/feature/feature.spec.ts +++ b/frontend/cypress/integration/feature/feature.spec.ts @@ -32,7 +32,7 @@ describe('feature', () => { 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 toggle with that name already exists', + 'A flag with that name already exists', ); }); diff --git a/src/migrations/20240523113322-roles-toggle-to-flag-rename.js b/src/migrations/20240523113322-roles-toggle-to-flag-rename.js new file mode 100644 index 0000000000..a0e9a15be8 --- /dev/null +++ b/src/migrations/20240523113322-roles-toggle-to-flag-rename.js @@ -0,0 +1,32 @@ +exports.up = function (db, cb) { + db.runSql(` + UPDATE roles + SET description = 'Users with the project owner role have full control over the project, and can add and manage other users within the project context, manage feature flags within the project, and control advanced project features like archiving and deleting the project.' + WHERE name = 'Owner' + AND type = 'project'; + + UPDATE roles + SET description = 'Users with the project member role are allowed to view, create, and update feature flags within a project, but have limited permissions in regards to managing the project''s user access and can not archive or delete the project.' + WHERE name = 'Member' + AND type = 'project'; + + `, cb); +}; + +exports.down = function (db, cb) { + db.runSql( + ` + UPDATE roles + SET description = 'Users with the project owner role have full control over the project, and can add and manage other users within the project context, manage feature toggles within the project, and control advanced project features like archiving and deleting the project.' + WHERE name = 'Owner' + AND type = 'project'; + + UPDATE roles + SET description = 'Users with the project member role are allowed to view, create, and update feature toggles within a project, but have limited permissions in regards to managing the project''s user access and can not archive or delete the project.' + WHERE name = 'Member' + AND type = 'project'; + + `, + cb, + ); +}; diff --git a/src/test/e2e/favor-permission-name-over-id.e2e.test.ts b/src/test/e2e/favor-permission-name-over-id.e2e.test.ts index f51448a24b..a7a5b74088 100644 --- a/src/test/e2e/favor-permission-name-over-id.e2e.test.ts +++ b/src/test/e2e/favor-permission-name-over-id.e2e.test.ts @@ -110,6 +110,9 @@ test('Favor permission name over id migration correctly assigns permissions by n { role_id: 101, permission: 'TEST_PERMISSION_4' }, ]); + // Run the toggle to flag update migration + await dbm.up('20240523113322-roles-toggle-to-flag-rename.js'); + // Check the results that ensure the default roles exist and have the correct permissions const { rows: resultsRoles } = await client.query(` SELECT name, description, type FROM "favor_permission_name_over_id_test"."roles" WHERE id != 101 ORDER BY created_at; @@ -142,13 +145,13 @@ test('Favor permission name over id migration correctly assigns permissions by n { name: 'Owner', description: - 'Users with the project owner role have full control over the project, and can add and manage other users within the project context, manage feature toggles within the project, and control advanced project features like archiving and deleting the project.', + 'Users with the project owner role have full control over the project, and can add and manage other users within the project context, manage feature flags within the project, and control advanced project features like archiving and deleting the project.', type: 'project', }, { name: 'Member', description: - "Users with the project member role are allowed to view, create, and update feature toggles within a project, but have limited permissions in regards to managing the project's user access and can not archive or delete the project.", + "Users with the project member role are allowed to view, create, and update feature flags within a project, but have limited permissions in regards to managing the project's user access and can not archive or delete the project.", type: 'project', }, ]);