Commit 29598d83 by Hugo Häggmark Committed by GitHub

e2e: waits for requests to minimize flakiness (#25368)

parent 69b36697
......@@ -25,6 +25,14 @@ e2e.scenario({
expect(rows.length).equals(1);
});
e2e().server();
e2e()
.route({
method: 'POST',
url: '/api/tsdb/query',
})
.as('apiPostQuery');
// Add query button should be visible and clicking on it should create a new row
e2e.components.QueryTab.addQuery()
.scrollIntoView()
......@@ -42,6 +50,8 @@ e2e.scenario({
.should('be.visible')
.click();
cy.wait('@apiPostQuery');
// We expect row with refId B to exist and be visible
e2e.components.QueryEditorRows.rows().within(rows => {
expect(rows.length).equals(1);
......@@ -63,6 +73,8 @@ e2e.scenario({
.eq(1)
.select('CSV Metric Values');
cy.wait('@apiPostQuery');
// Change order or query rows
// Check the order of the rows before
e2e.components.QueryEditorRows.rows()
......@@ -82,6 +94,8 @@ e2e.scenario({
.eq(1)
.click();
cy.wait('@apiPostQuery');
// Check the order of the rows after change
e2e.components.QueryEditorRows.rows()
.eq(0)
......@@ -108,6 +122,8 @@ e2e.scenario({
.should('be.visible')
.click();
cy.wait('@apiPostQuery');
expectInspectorResultAndClose(keys => {
const length = keys.length;
expect(keys[length - 1].innerText).equals('A:');
......@@ -119,6 +135,8 @@ e2e.scenario({
.should('be.visible')
.click();
cy.wait('@apiPostQuery');
expectInspectorResultAndClose(keys => {
const length = keys.length;
expect(keys[length - 2].innerText).equals('A:');
......@@ -136,6 +154,8 @@ const expectInspectorResultAndClose = (expectCallBack: (keys: any[]) => void) =>
.should('be.visible')
.click();
cy.wait('@apiPostQuery');
e2e.components.PanelInspector.Query.jsonObjectKeys()
.should('be.visible')
.within((keys: any) => expectCallBack(keys));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment