Skip to content

Commit

Permalink
UISACQCOMP-227 added tests for AcqDateRangeFilter reset
Browse files Browse the repository at this point in the history
  • Loading branch information
BogdanDenis committed Nov 6, 2024
1 parent f231c8c commit 3586aad
Showing 1 changed file with 30 additions and 1 deletion.
31 changes: 30 additions & 1 deletion lib/AcqDateRangeFilter/AcqDateRangeFilter.test.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import React from 'react';
import { render, fireEvent } from '@testing-library/react';
import { render, fireEvent, waitFor } from '@testing-library/react';
import { noop } from 'lodash';

import AcqDateRangeFilter from './AcqDateRangeFilter';

const FILTER_LABEL = 'some date filter';
const FILTER_NAME = 'some-date-filter';

const mockSubscribeOnReset = jest.fn();

const renderFilter = (closedByDefault, onChange = noop, dateFormat) => (render(
<AcqDateRangeFilter
id="some-date-filter"
Expand All @@ -15,6 +17,7 @@ const renderFilter = (closedByDefault, onChange = noop, dateFormat) => (render(
closedByDefault={closedByDefault}
onChange={onChange}
dateFormat={dateFormat}
subscribeOnReset={mockSubscribeOnReset}
/>,
));

Expand All @@ -32,6 +35,12 @@ describe('AcqDateRangeFilter component', () => {
expect(button.getAttribute('aria-expanded') || 'false').toBe('false');
});

it('should subscribe to reset events', () => {
renderFilter();

expect(mockSubscribeOnReset).toHaveBeenCalled();
});

it('should be opened by default when closedByDefault=false prop is passed', () => {
const { container } = renderFilter(false);
const button = container.querySelector('[id="accordion-toggle-button-some-date-filter"]');
Expand Down Expand Up @@ -78,4 +87,24 @@ describe('AcqDateRangeFilter component', () => {

expect(onChangeFilter).toHaveBeenCalled();
});

describe('when reset handler is called', () => {
it('should clear dates', async () => {
const callResetHandler = mockSubscribeOnReset.mockImplementationOnce(cb => cb);
const { getByLabelText } = renderFilter(false, () => {}, 'YYYY-DD-MM');
const fromDate = getByLabelText('stripes-smart-components.dateRange.from');
const toDate = getByLabelText('stripes-smart-components.dateRange.to');

fireEvent.change(fromDate, { target: { value: '2000-01-01' } });
fireEvent.change(toDate, { target: { value: '2020-01-01' } });

expect(fromDate).toHaveValue('2000-01-01');
expect(toDate).toHaveValue('2020-01-01');

callResetHandler();

await waitFor(() => expect(fromDate).toHaveValue(''));
await waitFor(() => expect(toDate).toHaveValue(''));
});
});
});

0 comments on commit 3586aad

Please sign in to comment.