From 709e4de7c60de8871e7a3a53513a7d0dd9c8154b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Farkas?= Date: Wed, 19 Jul 2023 13:12:49 +0200 Subject: [PATCH] logs: log-details: test for datalink without field value (#71922) * logs: log-details: test for datalink without field value * added more test-cases --- .../logs/components/logParser.test.ts | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/public/app/features/logs/components/logParser.test.ts b/public/app/features/logs/components/logParser.test.ts index 9e6dd21ace7..520f7eaf234 100644 --- a/public/app/features/logs/components/logParser.test.ts +++ b/public/app/features/logs/components/logParser.test.ts @@ -6,6 +6,46 @@ import { getAllFields, createLogLineLinks, FieldDef } from './logParser'; describe('logParser', () => { describe('getAllFields', () => { + it('should filter out fields with data links that have a nullish value', () => { + const createScenario = (value: unknown) => + createLogRow({ + entryFieldIndex: 1, + rowIndex: 0, + dataFrame: { + refId: 'A', + fields: [ + testTimeField, + testLineField, + { + name: 'link', + type: FieldType.string, + config: { + links: [ + { + title: 'link1', + url: 'https://example.com', + }, + ], + }, + values: [value], + }, + ], + length: 1, + }, + }); + + expect(getAllFields(createScenario(null))).toHaveLength(0); + expect(getAllFields(createScenario(undefined))).toHaveLength(0); + expect(getAllFields(createScenario(''))).toHaveLength(1); + expect(getAllFields(createScenario('test'))).toHaveLength(1); + // technically this is a field-type-string, but i will add more + // falsy-values, just to be sure + expect(getAllFields(createScenario(false))).toHaveLength(1); + expect(getAllFields(createScenario(NaN))).toHaveLength(1); + expect(getAllFields(createScenario(0))).toHaveLength(1); + expect(getAllFields(createScenario(-0))).toHaveLength(1); + }); + it('should filter out field with labels name old-loki-style frame', () => { const logRow = createLogRow({ entryFieldIndex: 1,