From 8813cbfb62f01af33e46239fa9715ed61b1547f2 Mon Sep 17 00:00:00 2001 From: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com> Date: Thu, 11 Aug 2022 17:57:10 +0200 Subject: [PATCH] Loki: Update copy for missing label filter error message (#53449) * Loki: Update copy for missing label filter * Update --- e2e/various-suite/loki-query-builder.spec.ts | 5 +++-- .../querybuilder/components/LokiQueryBuilder.test.tsx | 10 +++------- .../loki/querybuilder/components/LokiQueryBuilder.tsx | 3 ++- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/e2e/various-suite/loki-query-builder.spec.ts b/e2e/various-suite/loki-query-builder.spec.ts index e617a42468f..13419aa0d43 100644 --- a/e2e/various-suite/loki-query-builder.spec.ts +++ b/e2e/various-suite/loki-query-builder.spec.ts @@ -1,5 +1,6 @@ import { e2e } from '@grafana/e2e'; +const MISSING_LABEL_FILTER_ERROR_MESSAGE = 'Select at least 1 label filter (label and value)'; const dataSourceName = 'LokiBuilder'; const addDataSource = () => { e2e.flows.addDataSource({ @@ -56,7 +57,7 @@ describe('Loki query builder', () => { e2e().contains('rate({} | logfmt | __error__=`` [$__interval]').should('be.visible'); // Check for expected error - e2e().contains('You need to specify at least 1 label filter (stream selector)').should('be.visible'); + e2e().contains(MISSING_LABEL_FILTER_ERROR_MESSAGE).should('be.visible'); // Add labels to remove error e2e.components.QueryBuilder.labelSelect().should('be.visible').click().type('instance{enter}'); @@ -66,7 +67,7 @@ describe('Loki query builder', () => { .click() .type('instance1{enter}') .type('instance2{enter}'); - e2e().contains('You need to specify at least 1 label filter (stream selector)').should('not.exist'); + e2e().contains(MISSING_LABEL_FILTER_ERROR_MESSAGE).should('not.exist'); e2e().contains(finalQuery).should('be.visible'); // Switch to code editor and check if query was parsed diff --git a/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilder.test.tsx b/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilder.test.tsx index 08cfd3bd16d..fbbd7470011 100644 --- a/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilder.test.tsx +++ b/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilder.test.tsx @@ -7,7 +7,7 @@ import { DataSourceInstanceSettings, DataSourcePluginMeta } from '@grafana/data' import { LokiDatasource } from '../../datasource'; import { LokiOperationId, LokiVisualQuery } from '../types'; -import { LokiQueryBuilder } from './LokiQueryBuilder'; +import { MISSING_LABEL_FILTER_ERROR_MESSAGE, LokiQueryBuilder } from './LokiQueryBuilder'; import { EXPLAIN_LABEL_FILTER_CONTENT } from './LokiQueryBuilderExplained'; const defaultQuery: LokiVisualQuery = { @@ -54,9 +54,7 @@ describe('LokiQueryBuilder', () => { const query = { labels: [], operations: [{ id: LokiOperationId.Logfmt, params: [] }] }; render(); - expect( - await screen.findByText('You need to specify at least 1 label filter (stream selector)') - ).toBeInTheDocument(); + expect(await screen.findByText(MISSING_LABEL_FILTER_ERROR_MESSAGE)).toBeInTheDocument(); }); it('shows no error for query with empty __line_contains operation and no stream selector', async () => { @@ -64,9 +62,7 @@ describe('LokiQueryBuilder', () => { render(); await waitFor(() => { - expect( - screen.queryByText('You need to specify at least 1 label filter (stream selector)') - ).not.toBeInTheDocument(); + expect(screen.queryByText(MISSING_LABEL_FILTER_ERROR_MESSAGE)).not.toBeInTheDocument(); }); }); it('shows explain section when showExplain is true', async () => { diff --git a/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilder.tsx b/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilder.tsx index 5b04f7476e7..f643002fa57 100644 --- a/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilder.tsx +++ b/public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilder.tsx @@ -31,6 +31,7 @@ export interface Props { onChange: (update: LokiVisualQuery) => void; onRunQuery: () => void; } +export const MISSING_LABEL_FILTER_ERROR_MESSAGE = 'Select at least 1 label filter (label and value)'; export const LokiQueryBuilder = React.memo(({ datasource, query, onChange, onRunQuery, showExplain }) => { const [sampleData, setSampleData] = useState(); @@ -83,7 +84,7 @@ export const LokiQueryBuilder = React.memo(({ datasource, query, onChange if (op.length === 1 && op[0].id === LokiOperationId.LineContains && op[0].params[0] === '') { return undefined; } - return 'You need to specify at least 1 label filter (stream selector)'; + return MISSING_LABEL_FILTER_ERROR_MESSAGE; } return undefined; }, [query]);