mirror of https://github.com/grafana/grafana
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 * stabilitypull/74888/head
parent
f3b6d01306
commit
ba7f77f25d
@ -1,13 +1,12 @@ |
||||
import testDashboard from '../dashboards/TestDashboard.json'; |
||||
import { e2e } from '../utils'; |
||||
|
||||
e2e.scenario({ |
||||
describeName: 'Import Dashboards Test', |
||||
itName: 'Ensure you can import a number of json test dashboards from a specific test directory', |
||||
addScenarioDataSource: false, |
||||
addScenarioDashBoard: false, |
||||
skipScenario: false, |
||||
scenario: () => { |
||||
describe('Import Dashboards Test', () => { |
||||
beforeEach(() => { |
||||
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD')); |
||||
}); |
||||
|
||||
it('Ensure you can import a number of json test dashboards from a specific test directory', () => { |
||||
e2e.flows.importDashboard(testDashboard, 1000); |
||||
}, |
||||
}); |
||||
}); |
||||
|
@ -1,17 +1,16 @@ |
||||
import { e2e } from '../utils'; |
||||
|
||||
e2e.scenario({ |
||||
describeName: 'Panel menu ui extension flow', |
||||
itName: 'Should be possible to click extension menu item', |
||||
addScenarioDataSource: false, |
||||
addScenarioDashBoard: false, |
||||
skipScenario: false, |
||||
scenario: () => { |
||||
describe('Panel menu ui extension flow', () => { |
||||
beforeEach(() => { |
||||
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD')); |
||||
}); |
||||
|
||||
it('Should be possible to click extension menu item', () => { |
||||
const panelTitle = 'Random walk series'; |
||||
const extensionTitle = 'Copy'; |
||||
|
||||
e2e.flows.openDashboard({ uid: '5SdHCasdf' }); |
||||
e2e.flows.openPanelMenuExtension(extensionTitle, panelTitle); |
||||
e2e.flows.assertSuccessNotification(); |
||||
}, |
||||
}); |
||||
}); |
||||
|
@ -1,16 +1,15 @@ |
||||
import { e2e } from '../utils'; |
||||
|
||||
e2e.scenario({ |
||||
describeName: 'Panel edit tests - transformations', |
||||
itName: 'Tests transformations editor', |
||||
addScenarioDataSource: false, |
||||
addScenarioDashBoard: false, |
||||
skipScenario: false, |
||||
scenario: () => { |
||||
describe('Panel edit tests - transformations', () => { |
||||
beforeEach(() => { |
||||
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD')); |
||||
}); |
||||
|
||||
it('Tests transformations editor', () => { |
||||
e2e.flows.openDashboard({ uid: '5SdHCadmz', queryParams: { editPanel: 3 } }); |
||||
|
||||
e2e.components.Tab.title('Transform').should('be.visible').click(); |
||||
e2e.components.TransformTab.newTransform('Reduce').scrollIntoView().should('be.visible').click(); |
||||
e2e.components.Transforms.Reduce.calculationsLabel().should('be.visible'); |
||||
}, |
||||
}); |
||||
}); |
||||
|
@ -1,33 +1,38 @@ |
||||
import { e2e } from '../utils'; |
||||
|
||||
export const smokeTestScenario = { |
||||
describeName: 'Smoke tests', |
||||
itName: 'Login scenario, create test data source, dashboard, panel, and export scenario', |
||||
addScenarioDataSource: true, |
||||
addScenarioDashBoard: true, |
||||
skipScenario: false, |
||||
loginViaApi: false, |
||||
scenario: () => { |
||||
// wait for time to be set to account for any layout shift
|
||||
cy.contains('2020-01-01 00:00:00 to 2020-01-01 06:00:00').should('be.visible'); |
||||
e2e.components.PageToolbar.itemButton('Add button').click(); |
||||
e2e.components.PageToolbar.itemButton('Add new visualization menu item').click(); |
||||
|
||||
e2e.components.DataSource.TestData.QueryTab.scenarioSelectContainer() |
||||
.should('be.visible') |
||||
.within(() => { |
||||
cy.get('input[id*="test-data-scenario-select-"]').should('be.visible').click(); |
||||
}); |
||||
|
||||
cy.contains('CSV Metric Values').scrollIntoView().should('be.visible').click(); |
||||
|
||||
// Make sure the graph renders via checking legend
|
||||
e2e.components.VizLegend.seriesName('A-series').should('be.visible'); |
||||
|
||||
// Expand options section
|
||||
e2e.components.PanelEditor.applyButton(); |
||||
|
||||
// Make sure panel is & visualization is added to dashboard
|
||||
e2e.components.VizLegend.seriesName('A-series').should('be.visible'); |
||||
}, |
||||
}; |
||||
export const smokeTestScenario = () => |
||||
describe('Smoke tests', () => { |
||||
before(() => { |
||||
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'), false); |
||||
e2e.flows.addDataSource(); |
||||
e2e.flows.addDashboard(); |
||||
}); |
||||
|
||||
after(() => { |
||||
e2e.flows.revertAllChanges(); |
||||
}); |
||||
|
||||
it('Login scenario, create test data source, dashboard, panel, and export scenario', () => { |
||||
// wait for time to be set to account for any layout shift
|
||||
cy.contains('2020-01-01 00:00:00 to 2020-01-01 06:00:00').should('be.visible'); |
||||
e2e.components.PageToolbar.itemButton('Add button').click(); |
||||
e2e.components.PageToolbar.itemButton('Add new visualization menu item').click(); |
||||
|
||||
e2e.components.DataSource.TestData.QueryTab.scenarioSelectContainer() |
||||
.should('be.visible') |
||||
.within(() => { |
||||
cy.get('input[id*="test-data-scenario-select-"]').should('be.visible').click(); |
||||
}); |
||||
|
||||
cy.contains('CSV Metric Values').scrollIntoView().should('be.visible').click(); |
||||
|
||||
// Make sure the graph renders via checking legend
|
||||
e2e.components.VizLegend.seriesName('A-series').should('be.visible'); |
||||
|
||||
// Expand options section
|
||||
e2e.components.PanelEditor.applyButton(); |
||||
|
||||
// Make sure panel is & visualization is added to dashboard
|
||||
e2e.components.VizLegend.seriesName('A-series').should('be.visible'); |
||||
}); |
||||
}); |
||||
|
@ -1,4 +1,3 @@ |
||||
import { smokeTestScenario } from '../shared/smokeTestScenario'; |
||||
import { e2e } from '../utils'; |
||||
|
||||
e2e.scenario(smokeTestScenario); |
||||
smokeTestScenario(); |
||||
|
@ -1,53 +0,0 @@ |
||||
import { e2e } from '../'; |
||||
|
||||
export interface ScenarioArguments { |
||||
describeName: string; |
||||
itName: string; |
||||
scenario: Function; |
||||
skipScenario?: boolean; |
||||
addScenarioDataSource?: boolean; |
||||
addScenarioDashBoard?: boolean; |
||||
loginViaApi?: boolean; |
||||
} |
||||
|
||||
export const e2eScenario = ({ |
||||
describeName, |
||||
itName, |
||||
scenario, |
||||
skipScenario = false, |
||||
addScenarioDataSource = false, |
||||
addScenarioDashBoard = false, |
||||
loginViaApi = true, |
||||
}: ScenarioArguments) => { |
||||
describe(describeName, () => { |
||||
if (skipScenario) { |
||||
it.skip(itName, () => scenario()); |
||||
} else { |
||||
before(() => { |
||||
cy.session( |
||||
'login', |
||||
() => { |
||||
e2e.flows.login(e2e.env('USERNAME'), e2e.env('PASSWORD'), loginViaApi); |
||||
}, |
||||
{ |
||||
cacheAcrossSpecs: true, |
||||
} |
||||
); |
||||
e2e.flows.setDefaultUserPreferences(); |
||||
}); |
||||
|
||||
beforeEach(() => { |
||||
if (addScenarioDataSource) { |
||||
e2e.flows.addDataSource(); |
||||
} |
||||
if (addScenarioDashBoard) { |
||||
e2e.flows.addDashboard(); |
||||
} |
||||
}); |
||||
|
||||
afterEach(() => e2e.flows.revertAllChanges()); |
||||
|
||||
it(itName, () => scenario()); |
||||
} |
||||
}); |
||||
}; |
@ -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,4 +1,3 @@ |
||||
import { smokeTestScenario } from '../../shared/smokeTestScenario'; |
||||
import { e2e } from '../../utils'; |
||||
|
||||
e2e.scenario(smokeTestScenario); |
||||
smokeTestScenario(); |
||||
|
Loading…
Reference in new issue