import React from 'react'; import { fireEvent, render, screen, waitFor } from '@testing-library/react'; import { Basic, defaultDataProvider, Limit, QueryOptions, } from './useSelectAll.stories'; describe('useSelectAll', () => { it('should select all', async () => { render(); await screen.findByText('Selected ids: []'); fireEvent.click(screen.getByText('Select All')); await waitFor(() => { expect( screen.queryByText('Selected ids: [1,2,3,4,5,6,7]') ).not.toBeNull(); }); }); it('should select all with limit', async () => { render(); await screen.findByText('Selected ids: []'); fireEvent.click(screen.getByText('Select All')); await waitFor(() => { expect(screen.queryByText('Selected ids: [1,2,3]')).not.toBeNull(); }); }); it('should pass query options', async () => { const getList = jest.spyOn(defaultDataProvider, 'getList'); render(); await screen.findByText('Selected ids: []'); fireEvent.click(screen.getByText('Select All')); await waitFor(() => { expect(getList).toHaveBeenCalledWith('posts', { meta: { foo: 'bar' }, pagination: { page: 1, perPage: 250 }, sort: { field: 'id', order: 'ASC' }, }); }); }); });