mirror of
https://github.com/grafana/grafana.git
synced 2024-11-27 03:11:01 -06:00
848efba0de
* user essentials mob! 🔱
lastFile:public/app/plugins/panel/dashlist/DashList.tsx
* DashList: Update variables in URL when they change
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* add e2e test to check dashlist variables are always correctly passed
* add comment with link to issue
* Alternative solution
* Minor tweaks
* revert accidental change
* fix
* New solution
* Fix test
* refinement
* Added unit test
* Update devenv/dev-dashboards/panel-dashlist/dashlist.json
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
---------
Co-authored-by: Joao Silva <joao.silva@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
38 lines
1.4 KiB
TypeScript
38 lines
1.4 KiB
TypeScript
import { e2e } from '../utils';
|
|
const PAGE_UNDER_TEST = 'a6801696-cc53-4196-b1f9-2403e3909185/panel-tests-dashlist-variables';
|
|
|
|
describe('DashList panel', () => {
|
|
beforeEach(() => {
|
|
e2e.flows.login(Cypress.env('USERNAME'), Cypress.env('PASSWORD'));
|
|
});
|
|
|
|
// this is to prevent the fix for https://github.com/grafana/grafana/issues/76800 from regressing
|
|
it('should pass current variable values correctly when `Include current template variable values` is set', () => {
|
|
e2e.flows.openDashboard({ uid: PAGE_UNDER_TEST });
|
|
|
|
// check the initial value of the urls contain the variable value correctly
|
|
e2e.components.Panels.Panel.title('Include time range and variables enabled')
|
|
.should('be.visible')
|
|
.within(() => {
|
|
cy.get('a').each(($el) => {
|
|
cy.wrap($el).should('have.attr', 'href').and('contain', 'var-server=A');
|
|
});
|
|
});
|
|
|
|
// update variable to b
|
|
e2e.pages.Dashboard.SubMenu.submenuItemLabels('server').click();
|
|
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('B').click();
|
|
// blur the dropdown
|
|
cy.get('body').click();
|
|
|
|
// check the urls are updated with the new variable value
|
|
e2e.components.Panels.Panel.title('Include time range and variables enabled')
|
|
.should('be.visible')
|
|
.within(() => {
|
|
cy.get('a').each(($el) => {
|
|
cy.wrap($el).should('have.attr', 'href').and('contain', 'var-server=B');
|
|
});
|
|
});
|
|
});
|
|
});
|