From ca2ae82e80bb8830f395441b028d305a316985de Mon Sep 17 00:00:00 2001 From: Scott Lepper Date: Thu, 1 May 2025 11:00:04 -0400 Subject: [PATCH] allow setting multiple feature toggles in run-suite (#104821) * allow setting multiple feature toggles in run-suite --- e2e/cypress/support/e2e.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/e2e/cypress/support/e2e.js b/e2e/cypress/support/e2e.js index 284ac975ef0..29385190b9c 100644 --- a/e2e/cypress/support/e2e.js +++ b/e2e/cypress/support/e2e.js @@ -45,14 +45,27 @@ Cypress.on('uncaught:exception', (err) => { // }); // +// TODO: read from toggles_gen.csv? +const featureToggles = ['kubernetesDashboards', 'dashboardNewLayouts']; + beforeEach(() => { + let toggles = []; + if (Cypress.env('DISABLE_SCENES')) { cy.logToConsole('disabling dashboardScene feature toggle in localstorage'); - cy.setLocalStorage('grafana.featureToggles', 'dashboardScene=false'); + toggles.push('dashboardScene=false'); } - if (Cypress.env('kubernetesDashboards')) { - cy.logToConsole('enabling kubernetes dashboards API in localstorage'); - cy.setLocalStorage('grafana.featureToggles', 'kubernetesDashboards=true'); + for (const toggle of featureToggles) { + const toggleValue = Cypress.env(toggle); + if (toggleValue !== undefined) { + cy.logToConsole(`setting ${toggle} to ${toggleValue} in localstorage`); + toggles.push(`${toggle}=${toggleValue}`); + } + } + + if (toggles.length > 0) { + cy.logToConsole('setting feature toggles in localstorage'); + cy.setLocalStorage('grafana.featureToggles', toggles.join(',')); } });