publicdashboards: split create/update api paths (#57940)

This PR splits the create and update paths for public dashboards and includes assorted refactors toward a proper REST API. Additionally, we removed the concept of a "public dashboard config" in favor of "public dashboard" 

Co-authored-by: juanicabanas <juan.cabanas@grafana.com>
Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
This commit is contained in:
Jeff Levin
2022-11-03 11:30:12 -08:00
committed by GitHub
co-authored by juanicabanas Ezequiel Victorero
parent 0367f61bb3
commit 6fcc5b42c0
24 changed files with 996 additions and 612 deletions
@@ -8,7 +8,7 @@ e2e.scenario({
skipScenario: false,
scenario: () => {
// Opening a dashboard without template variables
e2e().intercept('/api/ds/query').as('query');
e2e().intercept('POST', '/api/ds/query').as('query');
e2e.flows.openDashboard({ uid: 'ZqZnVvFZz' });
e2e().wait('@query');
@@ -16,9 +16,7 @@ e2e.scenario({
e2e.pages.ShareDashboardModal.shareButton().click();
// Select public dashboards tab
e2e().intercept('GET', '/api/dashboards/uid/ZqZnVvFZz/public-dashboards').as('query-public-dashboard');
e2e.pages.ShareDashboardModal.PublicDashboard.Tab().click();
e2e().wait('@query-public-dashboard');
// Saving button should be disabled
e2e.pages.ShareDashboardModal.PublicDashboard.SaveConfigButton().should('be.disabled');
@@ -57,7 +55,7 @@ e2e.scenario({
skipScenario: false,
scenario: () => {
// Opening a dashboard without template variables
e2e().intercept('/api/ds/query').as('query');
e2e().intercept('POST', '/api/ds/query').as('query');
e2e.flows.openDashboard({ uid: 'ZqZnVvFZz' });
e2e().wait('@query');
@@ -125,9 +123,9 @@ e2e.scenario({
e2e.pages.ShareDashboardModal.PublicDashboard.EnableSwitch().should('be.enabled').click({ force: true });
// Save public dashboard
e2e().intercept('POST', '/api/dashboards/uid/ZqZnVvFZz/public-dashboards').as('save');
e2e().intercept('PUT', '/api/dashboards/uid/ZqZnVvFZz/public-dashboards/*').as('update');
e2e.pages.ShareDashboardModal.PublicDashboard.SaveConfigButton().click();
e2e().wait('@save');
e2e().wait('@update');
// Url should be hidden
e2e.pages.ShareDashboardModal.PublicDashboard.CopyUrlInput().should('not.exist');
@@ -14,9 +14,7 @@ e2e.scenario({
e2e.pages.ShareDashboardModal.shareButton().click();
// Select public dashboards tab
e2e().intercept('GET', '/api/dashboards/uid/HYaGDGIMk/public-dashboards').as('query-public-config');
e2e.pages.ShareDashboardModal.PublicDashboard.Tab().click();
e2e().wait('@query-public-config');
// Warning Alert dashboard cannot be made public because it has template variables
e2e.pages.ShareDashboardModal.PublicDashboard.TemplateVariablesWarningAlert().should('be.visible');