diff --git a/src/connectors/clear-refinements/__tests__/connectClearRefinements-test.js b/src/connectors/clear-refinements/__tests__/connectClearRefinements-test.js index d32701fddc..c507400647 100644 --- a/src/connectors/clear-refinements/__tests__/connectClearRefinements-test.js +++ b/src/connectors/clear-refinements/__tests__/connectClearRefinements-test.js @@ -517,5 +517,26 @@ See documentation: https://www.algolia.com/doc/api-reference/widgets/clear-refin } }); }); + + it('reset the page to 0', () => { + const helper = jsHelper({}, '', {}); + helper.search = () => {}; + helper.setQuery('not empty'); + + const rendering = jest.fn(); + const makeWidget = connectClearRefinements(rendering); + const widget = makeWidget({}); + + widget.init({ + helper, + state: helper.state, + createURL: () => '#', + }); + const clearRefinements = rendering.mock.calls[0][0].refine; + + helper.setPage(2); + clearRefinements(); + expect(helper.state.page).toBe(0); + }); }); }); diff --git a/src/lib/utils/clearRefinements.js b/src/lib/utils/clearRefinements.js index 10f0c4800e..129989762e 100644 --- a/src/lib/utils/clearRefinements.js +++ b/src/lib/utils/clearRefinements.js @@ -8,7 +8,7 @@ * @returns {SearchParameters} search parameters with refinements cleared */ function clearRefinements({ helper, attributesToClear = [] }) { - let finalState = helper.state; + let finalState = helper.state.setPage(0); attributesToClear.forEach(attribute => { if (attribute === '_tags') {