datajunction-ui
Version:
DataJunction Metrics Platform UI
64 lines (61 loc) • 1.83 kB
JSX
import * as React from 'react';
import { render, screen, fireEvent } from '@testing-library/react';
import Search from '../Search';
import DJClientContext from '../../providers/djclient';
import { Root } from '../../pages/Root';
import { HelmetProvider } from 'react-helmet-async';
describe('<Search />', () => {
const mockDjClient = {
logout: jest.fn(),
nodeDetails: async () => [
{
name: 'default.repair_orders',
display_name: 'Default: Repair Orders',
description: 'Repair orders',
version: 'v1.0',
type: 'source',
status: 'valid',
mode: 'published',
updated_at: '2023-08-21T16:48:52.880498+00:00',
},
{
name: 'default.repair_order_details',
display_name: 'Default: Repair Order Details',
description: 'Details on repair orders',
version: 'v1.0',
type: 'source',
status: 'valid',
mode: 'published',
updated_at: '2023-08-21T16:48:52.981201+00:00',
},
],
listTags: async () => [
{
description: 'something',
display_name: 'Report A',
tag_metadata: {},
name: 'report.a',
tag_type: 'report',
},
{
description: 'report B',
display_name: 'Report B',
tag_metadata: {},
name: 'report.b',
tag_type: 'report',
},
],
};
it('displays search results correctly', () => {
render(
<HelmetProvider>
<DJClientContext.Provider value={{ DataJunctionAPI: mockDjClient }}>
<Root />
</DJClientContext.Provider>
</HelmetProvider>,
);
const searchInput = screen.queryByPlaceholderText('Search');
fireEvent.change(searchInput, { target: { value: 'Repair' } });
expect(searchInput.value).toBe('Repair');
});
});