Skip to content

Commit 4ec3d22

Browse files
committed
add tests
1 parent ebe4a2c commit 4ec3d22

File tree

2 files changed

+54
-8
lines changed

2 files changed

+54
-8
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import React from 'react';
2+
import { render, fireEvent, screen } from '@testing-library/react';
3+
import { Basic } from './useSavedQueries.stories';
4+
5+
describe('useSavedQueries', () => {
6+
it('should allow to save a query', async () => {
7+
render(<Basic />);
8+
fireEvent.change(await screen.findByLabelText('Title'), {
9+
target: { value: 'Post 1' },
10+
});
11+
fireEvent.click(await screen.findByText('Save current query'));
12+
await screen.findByText('My saved query: Post 1 - unpublished');
13+
});
14+
15+
it('should allow to apply a query', async () => {
16+
render(<Basic />);
17+
await screen.findByText('1-2 of 2');
18+
fireEvent.change(await screen.findByLabelText('Title'), {
19+
target: { value: 'Post 1' },
20+
});
21+
await screen.findByText('1-1 of 1');
22+
fireEvent.click(await screen.findByText('Save current query'));
23+
await screen.findByText('My saved query: Post 1 - unpublished');
24+
fireEvent.change(await screen.findByLabelText('Title'), {
25+
target: { value: '' },
26+
});
27+
await screen.findByText('1-2 of 2');
28+
fireEvent.click(await screen.findByText('Apply'));
29+
await screen.findByText('1-1 of 1');
30+
});
31+
32+
it('should allow to remove a query', async () => {
33+
render(<Basic />);
34+
fireEvent.change(await screen.findByLabelText('Title'), {
35+
target: { value: 'Post 1' },
36+
});
37+
fireEvent.click(await screen.findByText('Save current query'));
38+
await screen.findByText('My saved query: Post 1 - unpublished');
39+
fireEvent.click(await screen.findByText('Remove'));
40+
await screen.findByText(
41+
'No saved queries yet. Set a filter to save it.'
42+
);
43+
});
44+
});

packages/ra-core/src/list/filter/useSavedQueries.stories.tsx

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,13 @@ import {
1313
extractValidSavedQueries,
1414
SavedQuery,
1515
} from '../..';
16-
import { Admin, DataTable, TextInput, BooleanInput } from '../../test-ui';
16+
import {
17+
Admin,
18+
DataTable,
19+
TextInput,
20+
BooleanInput,
21+
Pagination,
22+
} from '../../test-ui';
1723

1824
export default { title: 'ra-core/list/filter/useSavedQueries' };
1925

@@ -88,19 +94,15 @@ const SavedQueries = () => {
8894
<ul>
8995
{validSavedQueries.map(
9096
(savedQuery: SavedQuery, index: number) => (
91-
<li>
97+
<li key={index}>
9298
{savedQuery.label}{' '}
9399
{isEqual(savedQuery.value, {
94100
filter: filterValues,
95101
sort,
96102
perPage,
97103
displayedFilters,
98104
}) ? (
99-
<button
100-
type="button"
101-
onClick={removeQuery}
102-
key={index}
103-
>
105+
<button type="button" onClick={removeQuery}>
104106
Remove
105107
</button>
106108
) : (
@@ -109,7 +111,6 @@ const SavedQueries = () => {
109111
onClick={() => {
110112
applyQuery(savedQuery);
111113
}}
112-
key={index}
113114
>
114115
Apply
115116
</button>
@@ -163,6 +164,7 @@ export const Basic = () => (
163164
<DataTable.Col source="title" />
164165
<DataTable.Col source="published" />
165166
</DataTable>
167+
<Pagination />
166168
</ListBase>
167169
}
168170
/>

0 commit comments

Comments
 (0)