D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
share
/
grafana
/
public
/
app
/
plugins
/
datasource
/
elasticsearch
/
hooks
/
Filename :
useNextId.test.tsx
back
Copy
import { renderHook } from '@testing-library/react'; import React, { PropsWithChildren } from 'react'; import { getDefaultTimeRange } from '@grafana/data'; import { ElasticsearchProvider } from '../components/QueryEditor/ElasticsearchQueryContext'; import { ElasticDatasource } from '../datasource'; import { ElasticsearchQuery } from '../types'; import { useNextId } from './useNextId'; describe('useNextId', () => { it('Should return the next available id', () => { const query: ElasticsearchQuery = { refId: 'A', query: '', metrics: [{ id: '1', type: 'avg' }], bucketAggs: [{ id: '2', type: 'date_histogram' }], }; const wrapper = ({ children }: PropsWithChildren<{}>) => { return ( <ElasticsearchProvider query={query} datasource={{} as ElasticDatasource} onChange={() => {}} onRunQuery={() => {}} range={getDefaultTimeRange()} > {children} </ElasticsearchProvider> ); }; const { result } = renderHook(() => useNextId(), { wrapper, }); expect(result.current).toBe('3'); }); });