Skip to content

Commit

Permalink
[Backport 4.4-1.2-wzd] add feature for row dropdown on the rule page …
Browse files Browse the repository at this point in the history
…- WZD - 4676 (#4679)

add feature for row dropdown on the rule page - WZD - 4676 (#4677)

add feature for row dropdown on the rule page

(cherry picked from commit 114610f)

Co-authored-by: mauceballos <76791841+mauceballos@users.noreply.github.com>
  • Loading branch information
github-actions[bot] and mauceballos authored Oct 13, 2022
1 parent cf5ce54 commit 87ba151
Show file tree
Hide file tree
Showing 8 changed files with 102 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
Feature: Validate row dropdown on Rule page

As a wazuh user
I want to see the Rules pages
in order to manage them

Background: the user navigate to the Rules page
Given The wazuh admin user is logged
When The user navigates to rules
And The user see that the rule list is displayed with a limit per rows

Scenario: Rules are displayed - Select 10 rows
When The user click the limit selector for 10 rows
Then a maximum of 10 rows of rules are displayed per page


Scenario: Rules are displayed - Select 15 rows
When The user click the limit selector for 15 rows
Then a maximum of 15 rows of rules are displayed per page


Scenario: Rules are displayed - Select 25 rows
When The user click the limit selector for 25 rows
Then a maximum of 25 rows of rules are displayed per page


Scenario: Rules are displayed - Select 50 rows
When The user click the limit selector for 50 rows
Then a maximum of 50 rows of rules are displayed per page


Scenario: Rules are displayed - Select 100 rows
When The user click the limit selector for 100 rows
Then a maximum of 100 rows of rules are displayed per page
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,21 @@ export const RULES_PAGE = {
saveRulesMessage: '.euiText span:contains("Changes will not take effect until a restart is performed.")',
refreshButtonSelector: '.euiFlexGroup .euiFlexItem .euiButtonEmpty .euiButtonContent .euiButtonEmpty__text:contains("Refresh")',
rulestableSelector: '[name="WzManagement"] table tr',
rulesRowTableSelector: '[name="WzManagement"] tbody tr',
buttonListPageSelector: '[name="WzManagement"] button > span',
rulesFilterSelector: '.euiSuggestInput [placeholder="Filter or search"]',
dropdownFilterSelector: '.euiPanel.euiPopover__panel.euiPopover__panel--bottom',
filterLevelSelector: 'button:contains("level")',
filterNumberSelector: 'button:nth-child(0)',
filterLabelSelector: '.euiPopover.euiPopover--anchorDownLeft [data-testid="wz-search-badge-0"]',
paginatorSelector: '.euiBasicTable .euiPagination',
paginatorPreviousSelector: '[data-test-subj="pagination-button-previous"]',
paginatorNextSelector: '[data-test-subj="pagination-button-next"]',
paginatorFirstSelector: '.euiBasicTable .euiPagination li.euiPagination__item:first-child',
paginatorSecondSelector: '.euiBasicTable .euiPagination li.euiPagination__item:nth-child(2)',
paginatorthirdSelector: '.euiBasicTable .euiPagination li.euiPagination__item:nth-child(3)',
paginatorFourthSelector: '.euiBasicTable .euiPagination li.euiPagination__item:nth-child(4)',
paginatorLastSelector: '.euiBasicTable .euiPagination li.euiPagination__item:last-child',
};


Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,21 @@ export const RULES_PAGE = {
saveRulesMessage: '.euiText span:contains("Changes will not take effect until a restart is performed.")',
refreshButtonSelector: '.euiFlexGroup .euiFlexItem .euiButtonEmpty .euiButtonContent .euiButtonEmpty__text:contains("Refresh")',
rulestableSelector: '[name="WzManagement"] table tr',
rulesRowTableSelector: '[name="WzManagement"] tbody tr',
buttonListPageSelector: '[name="WzManagement"] button > span',
rulesFilterSelector: '.euiSuggestInput [placeholder="Filter or search"]',
dropdownFilterSelector: '.euiPanel.euiPopover__panel.euiPopover__panel--bottom',
filterLevelSelector: 'button:contains("level")',
filterNumberSelector: 'button:nth-child(0)',
filterLabelSelector: '.euiPopover.euiPopover--anchorDownLeft [data-testid="wz-search-badge-0"]',
paginatorSelector: '.euiBasicTable .euiPagination',
paginatorPreviousSelector: '[data-test-subj="pagination-button-previous"]',
paginatorNextSelector: '[data-test-subj="pagination-button-next"]',
paginatorFirstSelector: '.euiBasicTable .euiPagination li.euiPagination__item:first-child',
paginatorSecondSelector: '.euiBasicTable .euiPagination li.euiPagination__item:nth-child(2)',
paginatorthirdSelector: '.euiBasicTable .euiPagination li.euiPagination__item:nth-child(3)',
paginatorFourthSelector: '.euiBasicTable .euiPagination li.euiPagination__item:nth-child(4)',
paginatorLastSelector: '.euiBasicTable .euiPagination li.euiPagination__item:last-child',
};


Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export const RULES_PAGE = {
saveRulesMessage: '.euiText span:contains("Changes will not take effect until a restart is performed.")',
refreshButtonSelector: '.euiFlexGroup .euiFlexItem .euiButtonEmpty .euiButtonContent .euiButtonEmpty__text:contains("Refresh")',
rulestableSelector: '[name="WzManagement"] table tr',
rulesRowTableSelector: '[name="WzManagement"] tbody tr',
buttonListPageSelector: '[name="WzManagement"] button > span',
rulesFilterSelector: '.euiSuggestInput [placeholder="Filter or search"]',
dropdownFilterSelector: '.euiPanel.euiPopover__panel.euiPopover__panel--bottom',
Expand All @@ -30,5 +31,4 @@ export const RULES_PAGE = {
paginatorthirdSelector: '.euiBasicTable .euiPagination li.euiPagination__item:nth-child(3)',
paginatorFourthSelector: '.euiBasicTable .euiPagination li.euiPagination__item:nth-child(4)',
paginatorLastSelector: '.euiBasicTable .euiPagination li.euiPagination__item:last-child',

};
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,19 @@ export const RULES_PAGE = {
saveRulesMessage: '.euiText span:contains("Changes will not take effect until a restart is performed.")',
refreshButtonSelector: '.euiFlexGroup .euiFlexItem .euiButtonEmpty .euiButtonContent .euiButtonEmpty__text:contains("Refresh")',
rulestableSelector: '[name="WzManagement"] table tr',
rulesRowTableSelector: '[name="WzManagement"] tbody tr',
buttonListPageSelector: '[name="WzManagement"] button > span',
rulesFilterSelector: '.euiSuggestInput [placeholder="Filter or search"]',
dropdownFilterSelector: '.euiPanel.euiPopover__panel.euiPopover__panel--bottom',
filterLevelSelector: 'button:contains("level")',
filterNumberSelector: 'button:nth-child(0)',
filterLabelSelector: '.euiPopover.euiPopover--anchorDownLeft [data-testid="wz-search-badge-0"]',
paginatorSelector: '.euiBasicTable .euiPagination',
paginatorPreviousSelector: '[data-test-subj="pagination-button-previous"]',
paginatorNextSelector: '[data-test-subj="pagination-button-next"]',
paginatorFirstSelector: '.euiBasicTable .euiPagination li.euiPagination__item:first-child',
paginatorSecondSelector: '.euiBasicTable .euiPagination li.euiPagination__item:nth-child(2)',
paginatorthirdSelector: '.euiBasicTable .euiPagination li.euiPagination__item:nth-child(3)',
paginatorFourthSelector: '.euiBasicTable .euiPagination li.euiPagination__item:nth-child(4)',
paginatorLastSelector: '.euiBasicTable .euiPagination li.euiPagination__item:last-child',
};

Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { Then } from "cypress-cucumber-preprocessor/steps";
import { getSelector, elementIsVisible } from "../../../utils/driver";
import { RULES_PAGE as pageName } from '../../../utils/pages-constants';
const dropdownPaginationSelector = getSelector('dropdownPaginationSelector', pageName);
const rulesRowTableSelector = getSelector('rulesRowTableSelector', pageName);

Then('a maximum of {} rows of rules are displayed per page', (countRulesPerPage) => {
elementIsVisible(dropdownPaginationSelector);
elementIsVisible(rulesRowTableSelector);
cy.get(rulesRowTableSelector).then(($list) => {
expect($list.length).to.equal(parseInt(countRulesPerPage));
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { When } from 'cypress-cucumber-preprocessor/steps';
import { getSelector, elementIsVisible, clickElement } from "../../../utils/driver";
import { RULES_PAGE as pageName } from '../../../utils/pages-constants';
const dropdownPaginationSelector = getSelector('dropdownPaginationSelector', pageName);

When('The user click the limit selector for {} rows', (countRulesPerPage) => {
clickElement(dropdownPaginationSelector);
let locator = '.euiContextMenuPanel [data-test-subj="tablePagination-'+countRulesPerPage+'-rows"]';
elementIsVisible(locator);
clickElement(locator);
cy.wait(2000);
cy.get(dropdownPaginationSelector).find('.euiButtonEmpty__text').then(($list) => {
cy.wrap($list).contains('Rows per page: ' + countRulesPerPage);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { When } from "cypress-cucumber-preprocessor/steps";
import { getSelector, elementIsVisible } from "../../../utils/driver";
import { RULES_PAGE as pageName } from '../../../utils/pages-constants';
const dropdownPaginationSelector = getSelector('dropdownPaginationSelector', pageName);
const rulesRowTableSelector = getSelector('rulesRowTableSelector', pageName);

When('The user see that the rule list is displayed with a limit per rows', () => {
elementIsVisible(dropdownPaginationSelector);
elementIsVisible(rulesRowTableSelector);
})

0 comments on commit 87ba151

Please sign in to comment.