2018-09-28 04:05:34 -05:00
|
|
|
import React from 'react';
|
2021-02-22 06:02:10 -06:00
|
|
|
import { render, screen } from '@testing-library/react';
|
2018-09-28 04:05:34 -05:00
|
|
|
import DataSourcesList from './DataSourcesList';
|
|
|
|
import { getMockDataSources } from './__mocks__/dataSourcesMocks';
|
2021-04-21 09:39:56 -05:00
|
|
|
import { LayoutModes } from '@grafana/data';
|
2018-09-28 04:05:34 -05:00
|
|
|
|
|
|
|
const setup = () => {
|
|
|
|
const props = {
|
|
|
|
dataSources: getMockDataSources(3),
|
|
|
|
layoutMode: LayoutModes.Grid,
|
|
|
|
};
|
|
|
|
|
2021-02-22 06:02:10 -06:00
|
|
|
return render(<DataSourcesList {...props} />);
|
2018-09-28 04:05:34 -05:00
|
|
|
};
|
|
|
|
|
2021-02-22 06:02:10 -06:00
|
|
|
describe('DataSourcesList', () => {
|
|
|
|
it('should render list of datasources', () => {
|
|
|
|
setup();
|
|
|
|
expect(screen.getAllByRole('listitem')).toHaveLength(3);
|
|
|
|
expect(screen.getAllByRole('heading')).toHaveLength(3);
|
|
|
|
});
|
2018-09-28 04:05:34 -05:00
|
|
|
|
2021-02-22 06:02:10 -06:00
|
|
|
it('should render all elements in the list item', () => {
|
|
|
|
setup();
|
|
|
|
expect(screen.getByRole('heading', { name: 'dataSource-0' })).toBeInTheDocument();
|
|
|
|
expect(screen.getByRole('link', { name: 'dataSource-0 dataSource-0' })).toBeInTheDocument();
|
|
|
|
expect(screen.getByAltText('dataSource-0')).toBeInTheDocument();
|
2018-09-28 04:05:34 -05:00
|
|
|
});
|
|
|
|
});
|