mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* Standarize e2e for addDashbaord e2e flow
* WIP: Duplicate e2e dashboard flows and smoke test for scene e2e tests
* Fix autoformatting mistake for bash file
* Enable dashboardScene using local storage and only for the scene folder
* Add missing folders
* Set the feature toggle in the before of all tests
* Revert "Standarize e2e for addDashbaord e2e flow"
This reverts commit 6b9ea9d5a4
.
* Add missing e2e selectors to NavToolbarActions, and modify addDashboard scene flow
* e2e: panels_smokescreen.spec.ts migrated
* e2e smokeTestSceneario migrated
* Start migrating dashbaord-suite e2e
* WIP create variable types
* adjust tests for scenes
* restore dashboard json file
* update scenes version
* restore pkg/build/wire/internal/wire/testdata modifications
* finalising test adjusments
* restore pkg/build/wire/internal/wire/testdata files
* add latest scenes version and update tests
* add drone setup for dashboard scenes tests
* update to latest scenes version
* adjust drone errors
* adjust indentation in drone yml file
* drone adjustments
* add github workflow to run scenes e2e
* restore drone file
* adjust github workflow
* wip: github workflow adjustments
* test remove gpu
* bump
* undo formating changes
* wip: github workflow debugging
* adjusting flaky tests
* update to latest scenes
* clean up workflow file
* adjust flaky test
* clean up pr
* finalise worflow logic and add to codeowners
* clean up launching old arch dashboards e2e separately
---------
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
Co-authored-by: Jeff Levin <jeff@levinology.com>
61 lines
2.0 KiB
TypeScript
61 lines
2.0 KiB
TypeScript
import { e2e } from '../utils';
|
|
|
|
describe('Dashboard templating', () => {
|
|
beforeEach(() => {
|
|
e2e.flows.login(Cypress.env('USERNAME'), Cypress.env('PASSWORD'));
|
|
});
|
|
|
|
it('Verify variable interpolation works', () => {
|
|
// Open dashboard global variables and interpolation
|
|
e2e.flows.openDashboard({ uid: 'HYaGDGIMk' });
|
|
|
|
const items: string[] = [];
|
|
const expectedItems: string[] = [
|
|
'__dashboard = Templating - Global variables and interpolation',
|
|
'__dashboard.name = Templating - Global variables and interpolation',
|
|
'__dashboard.uid = HYaGDGIMk',
|
|
'__org.name = Main Org.',
|
|
'__org.id = 1',
|
|
'__user.id = 1',
|
|
'__user.login = admin',
|
|
'__user.email = admin@localhost',
|
|
`Server:raw = A'A"A,BB\\B,CCC`,
|
|
`Server:regex = (A'A"A|BB\\\\B|CCC)`,
|
|
`Server:lucene = ("A'A\\"A" OR "BB\\\\B" OR "CCC")`,
|
|
`Server:glob = {A'A"A,BB\\B,CCC}`,
|
|
`Server:pipe = A'A"A|BB\\B|CCC`,
|
|
`Server:distributed = A'A"A,Server=BB\\B,Server=CCC`,
|
|
`Server:csv = A'A"A,BB\\B,CCC`,
|
|
`Server:html = A'A"A, BB\\B, CCC`,
|
|
`Server:json = ["A'A\\"A","BB\\\\B","CCC"]`,
|
|
`Server:percentencode = %7BA%27A%22A%2CBB%5CB%2CCCC%7D`,
|
|
`Server:singlequote = 'A\\'A"A','BB\\B','CCC'`,
|
|
`Server:doublequote = "A'A\\"A","BB\\B","CCC"`,
|
|
`Server:sqlstring = 'A''A\\"A','BB\\\B','CCC'`,
|
|
`Server:date = NaN`,
|
|
`Server:text = All`,
|
|
`Server:queryparam = var-Server=A%27A%22A&var-Server=BB%5CB&var-Server=CCC`,
|
|
`1 < 2`,
|
|
`Example: from=now-6h&to=now`,
|
|
];
|
|
|
|
cy.get('.markdown-html li')
|
|
.should('have.length', 26)
|
|
.each((element) => {
|
|
items.push(element.text());
|
|
})
|
|
.then(() => {
|
|
expectedItems.forEach((expected, index) => {
|
|
expect(items[index]).to.equal(expected);
|
|
});
|
|
});
|
|
|
|
// Check link interpolation is working correctly
|
|
cy.contains('a', 'Example: from=now-6h&to=now').should(
|
|
'have.attr',
|
|
'href',
|
|
'https://example.com/?from=now-6h&to=now'
|
|
);
|
|
});
|
|
});
|