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]);