From c98c99e48812184ea10365933baa771987eca8f3 Mon Sep 17 00:00:00 2001 From: Adam Kol <93466081+AdamKol-up9@users.noreply.github.com> Date: Thu, 17 Feb 2022 13:19:44 +0200 Subject: [PATCH] Cypress fix: resizing mizu when needed (#821) --- acceptanceTests/cypress.json | 8 +++- .../integration/testHelpers/TrafficHelper.js | 41 ++++++++++++------- .../cypress/integration/tests/Rabbit.js | 2 +- 3 files changed, 34 insertions(+), 17 deletions(-) diff --git a/acceptanceTests/cypress.json b/acceptanceTests/cypress.json index c43ec18bf..bdb63c4d1 100644 --- a/acceptanceTests/cypress.json +++ b/acceptanceTests/cypress.json @@ -15,7 +15,8 @@ "tests/IgnoredUserAgents.js", "tests/UiTest.js", "tests/Redis.js", - "tests/Rabbit.js" + "tests/Rabbit.js", + "tests/serviceMapFunction.js" ], "env": { @@ -26,6 +27,9 @@ "minimumEntries": 25, "greenFilterColor": "rgb(210, 250, 210)", "redFilterColor": "rgb(250, 214, 220)", - "bodyJsonClass": ".hljs" + "bodyJsonClass": ".hljs", + "mizuWidth": 1920, + "normalMizuHeight": 1080, + "hugeMizuHeight": 3500 } } diff --git a/acceptanceTests/cypress/integration/testHelpers/TrafficHelper.js b/acceptanceTests/cypress/integration/testHelpers/TrafficHelper.js index cd4a0e757..4471e4a6a 100644 --- a/acceptanceTests/cypress/integration/testHelpers/TrafficHelper.js +++ b/acceptanceTests/cypress/integration/testHelpers/TrafficHelper.js @@ -4,6 +4,8 @@ export const valueTabs = { none: null } +const maxEntriesInDom = 13; + export function isValueExistsInElement(shouldInclude, content, domPathToContainer){ it(`should ${shouldInclude ? '' : 'not'} include '${content}'`, function () { cy.get(domPathToContainer).then(htmlText => { @@ -15,11 +17,11 @@ export function isValueExistsInElement(shouldInclude, content, domPathToContaine } export function resizeToHugeMizu() { - cy.viewport(1920, 3500); + cy.viewport(Cypress.env('mizuWidth'), Cypress.env('hugeMizuHeight')); } export function resizeToNormalMizu() { - cy.viewport(1920, 1080); + cy.viewport(Cypress.env('mizuWidth'), Cypress.env('normalMizuHeight')); } export function verifyMinimumEntries() { @@ -61,7 +63,7 @@ export function checkThatAllEntriesShown() { } export function checkFilterByMethod(funcDict) { - const {protocol, method, summary} = funcDict; + const {protocol, method, summary, hugeMizu} = funcDict; const summaryDict = getSummeryDict(summary); const methodDict = getMethodDict(method); const protocolDict = getProtocolDict(protocol.name, protocol.text); @@ -82,20 +84,24 @@ export function checkFilterByMethod(funcDict) { const listElmWithIdAttr = Object.values(elements); let doneCheckOnFirst = false; - listElmWithIdAttr.forEach(entry => { - if (entry?.id && entry.id.match(RegExp(/entry-(\d{2}|\d{1})$/gm))) { - const entryNum = getEntryNumById(entry.id); + cy.get('#entries-length').invoke('text').then(len => { + resizeIfNeeded(len); + listElmWithIdAttr.forEach(entry => { + if (entry?.id && entry.id.match(RegExp(/entry-(\d{2}|\d{1})$/gm))) { + const entryNum = getEntryNumById(entry.id); - leftTextCheck(entryNum, methodDict.pathLeft, methodDict.expectedText); - leftTextCheck(entryNum, protocolDict.pathLeft, protocolDict.expectedTextLeft); - if (summaryDict) - leftTextCheck(entryNum, summaryDict.pathLeft, summaryDict.expectedText); + leftTextCheck(entryNum, methodDict.pathLeft, methodDict.expectedText); + leftTextCheck(entryNum, protocolDict.pathLeft, protocolDict.expectedTextLeft); + if (summaryDict) + leftTextCheck(entryNum, summaryDict.pathLeft, summaryDict.expectedText); - if (!doneCheckOnFirst) { - deepCheck(funcDict, protocolDict, methodDict, entry); - doneCheckOnFirst = true; + if (!doneCheckOnFirst) { + deepCheck(funcDict, protocolDict, methodDict, entry); + doneCheckOnFirst = true; + } } - } + }); + resizeIfNeeded(len); }); }); }); @@ -103,6 +109,13 @@ export function checkFilterByMethod(funcDict) { }); } +function resizeIfNeeded(entriesLen) { + if (entriesLen > maxEntriesInDom){ + Cypress.config().viewportHeight === Cypress.env('normalMizuHeight') ? + resizeToHugeMizu() : resizeToNormalMizu() + } +} + function deepCheck(generalDict, protocolDict, methodDict, entry) { const entryNum = getEntryNumById(entry.id); const {summary, value} = generalDict; diff --git a/acceptanceTests/cypress/integration/tests/Rabbit.js b/acceptanceTests/cypress/integration/tests/Rabbit.js index 225266e34..5abe03bab 100644 --- a/acceptanceTests/cypress/integration/tests/Rabbit.js +++ b/acceptanceTests/cypress/integration/tests/Rabbit.js @@ -1,8 +1,8 @@ import {checkFilterByMethod, valueTabs,} from "../testHelpers/TrafficHelper"; - it('opening mizu', function () { cy.visit(Cypress.env('testUrl')); + cy.get('#total-entries').invoke('text').should('match', /^[4-7][0-9]$/m) }); const rabbitProtocolDetails = {name: 'AMQP', text: 'Advanced Message Queuing Protocol 0-9-1'};