/* * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 */ import React from 'react'; import userEvent from '@testing-library/user-event'; import { SearchBar } from '../search_bar'; import { render, screen } from '../../../../test/test_utils'; describe('', () => { it('should render default search bar', () => { render(); expect(screen.getByPlaceholderText('Search by name or ID')).toBeInTheDocument(); }); it('should call onSearch with 400ms debounce', async () => { const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime }); jest.useFakeTimers(); const onSearch = jest.fn(); render(); await user.type(screen.getByPlaceholderText('Search by name or ID'), 'foo'); expect(onSearch).not.toHaveBeenCalled(); jest.advanceTimersByTime(400); expect(onSearch).toHaveBeenCalled(); jest.useRealTimers(); }); });