12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import { waitFor } from '@testing-library/react';
- import { ExploreId } from '../../../../types';
- import { withinExplore } from './setup';
- export const assertQueryHistoryExists = async (query: string, exploreId: ExploreId = ExploreId.left) => {
- const selector = withinExplore(exploreId);
- expect(await selector.findByText('1 queries')).toBeInTheDocument();
- const queryItem = selector.getByLabelText('Query text');
- expect(queryItem).toHaveTextContent(query);
- };
- export const assertQueryHistory = async (expectedQueryTexts: string[], exploreId: ExploreId = ExploreId.left) => {
- const selector = withinExplore(exploreId);
- await waitFor(() => {
- expect(selector.getByText(new RegExp(`${expectedQueryTexts.length} queries`))).toBeInTheDocument();
- const queryTexts = selector.getAllByLabelText('Query text');
- expectedQueryTexts.forEach((expectedQueryText, queryIndex) => {
- expect(queryTexts[queryIndex]).toHaveTextContent(expectedQueryText);
- });
- });
- };
- export const assertQueryHistoryComment = async (
- expectedQueryComments: string[],
- exploreId: ExploreId = ExploreId.left
- ) => {
- const selector = withinExplore(exploreId);
- await waitFor(() => {
- expect(selector.getByText(new RegExp(`${expectedQueryComments.length} queries`))).toBeInTheDocument();
- const queryComments = selector.getAllByLabelText('Query comment');
- expectedQueryComments.forEach((expectedQueryText, queryIndex) => {
- expect(queryComments[queryIndex]).toHaveTextContent(expectedQueryText);
- });
- });
- };
- export const assertQueryHistoryIsStarred = async (expectedStars: boolean[], exploreId: ExploreId = ExploreId.left) => {
- const selector = withinExplore(exploreId);
- const starButtons = selector.getAllByRole('button', { name: /Star query|Unstar query/ });
- await waitFor(() =>
- expectedStars.forEach((starred, queryIndex) => {
- expect(starButtons[queryIndex]).toHaveAccessibleName(starred ? 'Unstar query' : 'Star query');
- })
- );
- };
- export const assertQueryHistoryTabIsSelected = (
- tabName: 'Query history' | 'Starred' | 'Settings',
- exploreId: ExploreId = ExploreId.left
- ) => {
- expect(withinExplore(exploreId).getByRole('tab', { name: `Tab ${tabName}`, selected: true })).toBeInTheDocument();
- };
- export const assertDataSourceFilterVisibility = (visible: boolean, exploreId: ExploreId = ExploreId.left) => {
- const filterInput = withinExplore(exploreId).queryByLabelText('Filter queries for data sources(s)');
- if (visible) {
- expect(filterInput).toBeInTheDocument();
- } else {
- expect(filterInput).not.toBeInTheDocument();
- }
- };
- export const assertQueryHistoryElementsShown = (
- shown: number,
- total: number,
- exploreId: ExploreId = ExploreId.left
- ) => {
- expect(withinExplore(exploreId).queryByText(`Showing ${shown} of ${total}`)).toBeInTheDocument();
- };
- export const assertLoadMoreQueryHistoryNotVisible = (exploreId: ExploreId = ExploreId.left) => {
- expect(withinExplore(exploreId).queryByRole('button', { name: 'Load more' })).not.toBeInTheDocument();
- };
|