Chore: remove scenario wrapping in cypress tests (#74674)

* remove scenario wrapping in cypress tests

* remove more hardcoded logins

* don't forget the various suite!

* make sure we log in for every test

* fix afterAll revert

* stability
This commit is contained in:
Ashley Harrison
2023-09-13 13:24:20 +01:00
committed by GitHub
parent f3b6d01306
commit ba7f77f25d
56 changed files with 350 additions and 465 deletions
+7 -8
View File
@@ -2,18 +2,17 @@ import { selectors } from '@grafana/e2e-selectors';
import { e2e } from '../utils';
e2e.scenario({
describeName: 'Bar Gauge Panel',
itName: 'Bar Gauge rendering e2e tests',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
scenario: () => {
describe('Bar Gauge Panel', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
it('Bar Gauge rendering e2e tests', () => {
// open Panel Tests - Bar Gauge
e2e.flows.openDashboard({ uid: 'O6f11TZWk' });
cy.get(`[data-panelid=6] [data-testid^="${selectors.components.Panels.Visualization.BarGauge.valueV2}"]`)
.should('have.css', 'color', 'rgb(242, 73, 92)')
.contains('100');
},
});
});
+1 -1
View File
@@ -19,7 +19,7 @@ const addDataSource = () => {
describe('Exemplars', () => {
beforeEach(() => {
e2e.flows.login('admin', 'admin');
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
cy.request({ url: `${e2e.env('BASE_URL')}/api/datasources/name/${dataSourceName}`, failOnStatusCode: false }).then(
(response) => {
+7 -8
View File
@@ -1,12 +1,11 @@
import { e2e } from '../utils';
e2e.scenario({
describeName: 'Explore',
itName: 'Basic path through Explore.',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
scenario: () => {
describe('Explore', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
it('Basic path through Explore.', () => {
e2e.pages.Explore.visit();
e2e.pages.Explore.General.container().should('have.length', 1);
e2e.components.RefreshPicker.runButtonV2().should('have.length', 1);
@@ -39,5 +38,5 @@ e2e.scenario({
cy.get('button[title="Delete query"]').each((button) => {
button.trigger('click');
});
},
});
});
+7 -8
View File
@@ -1,13 +1,12 @@
import { e2e } from '../utils';
const DASHBOARD_ID = 'ed155665';
e2e.scenario({
describeName: 'Annotations filtering',
itName: 'Tests switching filter type updates the UI accordingly',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
scenario: () => {
describe('Annotations filtering', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
it('Tests switching filter type updates the UI accordingly', () => {
e2e.flows.openDashboard({ uid: DASHBOARD_ID });
e2e.components.PageToolbar.item('Dashboard settings').click();
@@ -57,5 +56,5 @@ e2e.scenario({
.within(() => {
e2e.pages.Dashboard.Annotations.marker().should('exist').should('have.length', 4);
});
},
});
});
+7 -8
View File
@@ -1,12 +1,11 @@
import { e2e } from '../utils';
e2e.scenario({
describeName: 'Gauge Panel',
itName: 'Gauge rendering e2e tests',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
scenario: () => {
describe('Gauge Panel', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
it('Gauge rendering e2e tests', () => {
// open Panel Tests - Gauge
e2e.flows.openDashboard({ uid: '_5rDmaQiz' });
@@ -17,5 +16,5 @@ e2e.scenario({
// check that no panel errors exist
e2e.components.Panels.Panel.headerCornerInfo('error').should('not.exist');
},
});
});
+7 -8
View File
@@ -2,13 +2,12 @@ import { e2e } from '../utils';
const DASHBOARD_ID = 'XMjIZPmik';
const DASHBOARD_NAME = 'Panel Tests - Graph Time Regions';
e2e.scenario({
describeName: 'Auto-migrate graph panel',
itName: 'Annotation markers exist for time regions',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
scenario: () => {
describe('Auto-migrate graph panel', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
it('Annotation markers exist for time regions', () => {
e2e.flows.openDashboard({ uid: DASHBOARD_ID });
cy.contains(DASHBOARD_NAME).should('be.visible');
cy.contains('uplot-main-div').should('not.exist');
@@ -48,5 +47,5 @@ e2e.scenario({
.within(() => {
e2e.pages.Dashboard.Annotations.marker().should('exist');
});
},
});
});
+7 -8
View File
@@ -2,13 +2,12 @@ import { e2e } from '../utils';
const PANEL_UNDER_TEST = 'Value reducers 1';
e2e.scenario({
describeName: 'Inspect drawer tests',
itName: 'Tests various Inspect Drawer scenarios',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
scenario: () => {
describe('Inspect drawer tests', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
it('Tests various Inspect Drawer scenarios', () => {
// @ts-ignore some typing issue
cy.on('uncaught:exception', (err) => {
if (err.stack?.indexOf("TypeError: Cannot read property 'getText' of null") !== -1) {
@@ -59,7 +58,7 @@ e2e.scenario({
});
e2e.components.PanelInspector.Query.content().should('be.visible');
},
});
});
const expectDrawerTabsAndContent = () => {
+11 -8
View File
@@ -12,13 +12,16 @@ const addDataSource = () => {
});
};
e2e.scenario({
describeName: 'Loki Query Editor',
itName: 'Autocomplete features should work as expected.',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
scenario: () => {
describe('Loki Query Editor', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
afterEach(() => {
e2e.flows.revertAllChanges();
});
it('Autocomplete features should work as expected.', () => {
addDataSource();
cy.intercept(/labels?/, (req) => {
@@ -84,5 +87,5 @@ e2e.scenario({
e2e.components.QueryField.container().type('{selectall}av');
cy.contains('avg').should('be.visible');
cy.contains('avg_over_time').should('be.visible');
},
});
});
+1 -1
View File
@@ -17,7 +17,7 @@ const finalQuery = 'rate({instance=~"instance1|instance2"} | logfmt | __error__=
describe('Loki query builder', () => {
beforeEach(() => {
e2e.flows.login('admin', 'admin');
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
cy.request({ url: `${e2e.env('BASE_URL')}/api/datasources/name/${dataSourceName}`, failOnStatusCode: false }).then(
(response) => {
+7 -8
View File
@@ -2,13 +2,12 @@ import { selectors } from '@grafana/e2e-selectors';
import { e2e } from '../utils';
e2e.scenario({
describeName: 'Pie Chart Panel',
itName: 'Pie Chart rendering e2e tests',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
scenario: () => {
describe('Pie Chart Panel', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
it('Pie Chart rendering e2e tests', () => {
// open Panel Tests - Pie Chart
e2e.flows.openDashboard({ uid: 'lVE-2YFMz' });
@@ -16,5 +15,5 @@ e2e.scenario({
'have.length',
5
);
},
});
});
+7 -8
View File
@@ -1,12 +1,11 @@
import { e2e } from '../utils';
e2e.scenario({
describeName: 'Query editor',
itName: 'Undo should work in query editor for prometheus -- test CI.',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
scenario: () => {
describe('Query editor', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
it('Undo should work in query editor for prometheus -- test CI.', () => {
e2e.pages.Explore.visit();
e2e.components.DataSourcePicker.container().should('be.visible').click();
@@ -31,5 +30,5 @@ e2e.scenario({
cy.contains(queryText).should('be.visible');
e2e.components.Alert.alertV2('error').should('not.be.visible');
},
});
});
+7 -8
View File
@@ -1,12 +1,11 @@
import { e2e } from '../utils';
e2e.scenario({
describeName: 'Select focus/unfocus tests',
itName: 'Tests select focus/unfocus scenarios',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
scenario: () => {
describe('Select focus/unfocus tests', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
it('Tests select focus/unfocus scenarios', () => {
e2e.flows.openDashboard({ uid: '5SdHCadmz' });
e2e.components.PageToolbar.item('Dashboard settings').click();
@@ -31,5 +30,5 @@ e2e.scenario({
.within(() => {
cy.get('#dashboard-folder-input').should('exist').should('not.have.focus');
});
},
});
});
+7 -8
View File
@@ -1,15 +1,14 @@
import { e2e } from '../utils';
e2e.scenario({
describeName: 'Solo Route',
itName: 'Can view panels with shared queries in fullsceen',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
scenario: () => {
describe('Solo Route', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
it('Can view panels with shared queries in fullsceen', () => {
// open Panel Tests - Bar Gauge
e2e.pages.SoloPanel.visit('ZqZnVvFZz/datasource-tests-shared-queries?orgId=1&panelId=4');
cy.get('canvas').should('have.length', 6);
},
});
});
@@ -1,8 +1,11 @@
import { e2e } from '../utils';
describe('Trace view', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
it('Can lazy load big traces', () => {
e2e.flows.login('admin', 'admin');
cy.intercept('GET', '**/api/traces/trace', {
fixture: 'long-trace-response.json',
}).as('longTrace');
@@ -1,12 +1,11 @@
import { e2e } from '../utils';
e2e.scenario({
describeName: 'Visualization suggestions',
itName: 'Should be shown and clickable',
addScenarioDataSource: false,
addScenarioDashBoard: false,
skipScenario: false,
scenario: () => {
describe('Visualization suggestions', () => {
beforeEach(() => {
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'));
});
it('Should be shown and clickable', () => {
e2e.flows.openDashboard({ uid: 'aBXrJ0R7z', queryParams: { editPanel: 9 } });
// Try visualization suggestions
@@ -25,5 +24,5 @@ e2e.scenario({
// Select a visualisation
e2e.components.VisualizationPreview.card('Table').click();
e2e.components.Panels.Visualization.Table.header().should('be.visible');
},
});
});