Cypress fix: resizing mizu when needed (#821)

This commit is contained in:
Adam Kol 2022-02-17 13:19:44 +02:00 committed by GitHub
parent 2d838d7699
commit c98c99e488
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 17 deletions

View File

@ -15,7 +15,8 @@
"tests/IgnoredUserAgents.js", "tests/IgnoredUserAgents.js",
"tests/UiTest.js", "tests/UiTest.js",
"tests/Redis.js", "tests/Redis.js",
"tests/Rabbit.js" "tests/Rabbit.js",
"tests/serviceMapFunction.js"
], ],
"env": { "env": {
@ -26,6 +27,9 @@
"minimumEntries": 25, "minimumEntries": 25,
"greenFilterColor": "rgb(210, 250, 210)", "greenFilterColor": "rgb(210, 250, 210)",
"redFilterColor": "rgb(250, 214, 220)", "redFilterColor": "rgb(250, 214, 220)",
"bodyJsonClass": ".hljs" "bodyJsonClass": ".hljs",
"mizuWidth": 1920,
"normalMizuHeight": 1080,
"hugeMizuHeight": 3500
} }
} }

View File

@ -4,6 +4,8 @@ export const valueTabs = {
none: null none: null
} }
const maxEntriesInDom = 13;
export function isValueExistsInElement(shouldInclude, content, domPathToContainer){ export function isValueExistsInElement(shouldInclude, content, domPathToContainer){
it(`should ${shouldInclude ? '' : 'not'} include '${content}'`, function () { it(`should ${shouldInclude ? '' : 'not'} include '${content}'`, function () {
cy.get(domPathToContainer).then(htmlText => { cy.get(domPathToContainer).then(htmlText => {
@ -15,11 +17,11 @@ export function isValueExistsInElement(shouldInclude, content, domPathToContaine
} }
export function resizeToHugeMizu() { export function resizeToHugeMizu() {
cy.viewport(1920, 3500); cy.viewport(Cypress.env('mizuWidth'), Cypress.env('hugeMizuHeight'));
} }
export function resizeToNormalMizu() { export function resizeToNormalMizu() {
cy.viewport(1920, 1080); cy.viewport(Cypress.env('mizuWidth'), Cypress.env('normalMizuHeight'));
} }
export function verifyMinimumEntries() { export function verifyMinimumEntries() {
@ -61,7 +63,7 @@ export function checkThatAllEntriesShown() {
} }
export function checkFilterByMethod(funcDict) { export function checkFilterByMethod(funcDict) {
const {protocol, method, summary} = funcDict; const {protocol, method, summary, hugeMizu} = funcDict;
const summaryDict = getSummeryDict(summary); const summaryDict = getSummeryDict(summary);
const methodDict = getMethodDict(method); const methodDict = getMethodDict(method);
const protocolDict = getProtocolDict(protocol.name, protocol.text); const protocolDict = getProtocolDict(protocol.name, protocol.text);
@ -82,6 +84,8 @@ export function checkFilterByMethod(funcDict) {
const listElmWithIdAttr = Object.values(elements); const listElmWithIdAttr = Object.values(elements);
let doneCheckOnFirst = false; let doneCheckOnFirst = false;
cy.get('#entries-length').invoke('text').then(len => {
resizeIfNeeded(len);
listElmWithIdAttr.forEach(entry => { listElmWithIdAttr.forEach(entry => {
if (entry?.id && entry.id.match(RegExp(/entry-(\d{2}|\d{1})$/gm))) { if (entry?.id && entry.id.match(RegExp(/entry-(\d{2}|\d{1})$/gm))) {
const entryNum = getEntryNumById(entry.id); const entryNum = getEntryNumById(entry.id);
@ -97,10 +101,19 @@ export function checkFilterByMethod(funcDict) {
} }
} }
}); });
resizeIfNeeded(len);
}); });
}); });
}); });
}); });
});
}
function resizeIfNeeded(entriesLen) {
if (entriesLen > maxEntriesInDom){
Cypress.config().viewportHeight === Cypress.env('normalMizuHeight') ?
resizeToHugeMizu() : resizeToNormalMizu()
}
} }
function deepCheck(generalDict, protocolDict, methodDict, entry) { function deepCheck(generalDict, protocolDict, methodDict, entry) {

View File

@ -1,8 +1,8 @@
import {checkFilterByMethod, valueTabs,} from "../testHelpers/TrafficHelper"; import {checkFilterByMethod, valueTabs,} from "../testHelpers/TrafficHelper";
it('opening mizu', function () { it('opening mizu', function () {
cy.visit(Cypress.env('testUrl')); 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'}; const rabbitProtocolDetails = {name: 'AMQP', text: 'Advanced Message Queuing Protocol 0-9-1'};