mirror of
https://github.com/grafana/grafana.git
synced 2024-11-28 11:44:26 -06:00
7005b7bf8a
* turn on topnav toggle in e2e tests * fix variable e2e tests * fix remaining tests + remove some hardcoded waits * speculative fixes * wait for error to disappear * use new selector, turn toggle back off
41 lines
1.5 KiB
TypeScript
41 lines
1.5 KiB
TypeScript
import { e2e } from '@grafana/e2e';
|
|
|
|
e2e.scenario({
|
|
describeName: 'Query editor',
|
|
itName: 'Undo should work in query editor for prometheus.',
|
|
addScenarioDataSource: false,
|
|
addScenarioDashBoard: false,
|
|
skipScenario: false,
|
|
scenario: () => {
|
|
e2e.pages.Explore.visit();
|
|
e2e.components.DataSourcePicker.container().should('be.visible').click();
|
|
|
|
cy.contains('gdev-prometheus').scrollIntoView().should('be.visible').click();
|
|
const queryText = `rate(http_requests_total{job="grafana"}[5m])`;
|
|
|
|
cy.contains('label', 'Code').click();
|
|
|
|
// we need to wait for the query-field being lazy-loaded, in two steps:
|
|
// it is a two-step process:
|
|
// 1. first we wait for the text 'Loading...' to appear
|
|
// 1. then we wait for the text 'Loading...' to disappear
|
|
const monacoLoadingText = 'Loading...';
|
|
e2e.components.QueryField.container().should('be.visible').should('have.text', monacoLoadingText);
|
|
e2e.components.QueryField.container().should('be.visible').should('not.have.text', monacoLoadingText);
|
|
e2e.components.QueryField.container().type(queryText, { parseSpecialCharSequences: false }).type('{backspace}');
|
|
|
|
cy.contains(queryText.slice(0, -1)).should('be.visible');
|
|
|
|
e2e.components.QueryField.container().type(e2e.typings.undo());
|
|
|
|
cy.contains(queryText).should('be.visible');
|
|
|
|
cy.get('body').click();
|
|
e2e.components.Alert.alertV2('error').should('not.be.visible');
|
|
|
|
cy.contains('label', 'Builder').click();
|
|
|
|
cy.get('[data-testid="operations.0.wrapper"]').should('be.visible');
|
|
},
|
|
});
|