From 54b2f40c92b16006d105eb6f6d4de965f2911c45 Mon Sep 17 00:00:00 2001 From: sjaanus Date: Thu, 23 May 2024 11:46:48 +0300 Subject: [PATCH 1/2] chore: rename roles toggles to flag --- ...40523113322-roles-toggle-to-flag-rename.js | 32 +++++++++++++++++++ .../favor-permission-name-over-id.e2e.test.ts | 7 ++-- 2 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 src/migrations/20240523113322-roles-toggle-to-flag-rename.js 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 000000000000..a0e9a15be8ef --- /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 f51448a24b4d..a7a5b7408840 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', }, ]); From 8eac6368f8c8a4e989fd805bc92e000c2f914238 Mon Sep 17 00:00:00 2001 From: sjaanus Date: Thu, 23 May 2024 11:49:13 +0300 Subject: [PATCH 2/2] Fix --- frontend/cypress/integration/feature/feature.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/cypress/integration/feature/feature.spec.ts b/frontend/cypress/integration/feature/feature.spec.ts index f2b0e5a6772d..ec3dd69b8018 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', ); });