diff --git a/assets/js/components/Table/Table.jsx b/assets/js/components/Table/Table.jsx index 31fc737798..7a03991c22 100644 --- a/assets/js/components/Table/Table.jsx +++ b/assets/js/components/Table/Table.jsx @@ -72,6 +72,7 @@ const Table = ({ config, data = [] }) => { filters={filters} onChange={(newFilters) => { setFilters(newFilters); + setCurrentPage(1); }} /> diff --git a/test/e2e/cypress/fixtures/hosts-overview/hosts_overview.feature b/test/e2e/cypress/fixtures/hosts-overview/hosts_overview.feature index de5478cbe7..d5d6c9f3e8 100644 --- a/test/e2e/cypress/fixtures/hosts-overview/hosts_overview.feature +++ b/test/e2e/cypress/fixtures/hosts-overview/hosts_overview.feature @@ -101,3 +101,11 @@ Scenario: Filtering the Host Overview by Tags When I filter by tag 'env3' Then 8 items should be shown + +Scenario: Filtering when a non 1st page is selected + Given all the hosts containing 'prd' in their name are tagged with 'env1' + And the selected page is the last one + + When I filter by tag 'env1' + Then 8 items should be shown + And the selected page is the 1st one diff --git a/test/e2e/cypress/integration/hosts_overview.js b/test/e2e/cypress/integration/hosts_overview.js index b5ffb8fcfe..701942f71d 100644 --- a/test/e2e/cypress/integration/hosts_overview.js +++ b/test/e2e/cypress/integration/hosts_overview.js @@ -251,6 +251,16 @@ context('Hosts Overview', () => { cy.get('li > div > span.ml-3.block').contains(tag).click(); }); }); + + it('should reset the pagination and go the 1st page when a filter is selected', () => { + const tag = 'env1'; + + cy.get('.tn-page-item').eq(2).click(); + cy.get('span').contains('Filter Tags').parent().parent().click(); + cy.get('li > div > span.ml-3.block').contains(tag).click(); + cy.get('.tn-hostname').its('length').should('eq', 4); + cy.get('li > div > span.ml-3.block').contains(tag).click(); + }); }); }); });