From 1b63360b4176a15be5b8d68147d91325e64b59c7 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Thu, 7 Apr 2022 10:18:01 +0200 Subject: [PATCH] DynamicTable: Fix rendering of boolean fields --- .../CellContent/utils/hasContent.js | 4 ++++ .../CellContent/utils/tests/hasContent.test.js | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/utils/hasContent.js b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/utils/hasContent.js index 57cdd29ddb..6dc28b8bef 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/utils/hasContent.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/utils/hasContent.js @@ -56,5 +56,9 @@ export default function hasContent(type, content, metadatas, fieldSchema) { return isNumber(content); } + if (type === 'boolean') { + return content !== null; + } + return !isEmpty(content); } diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/utils/tests/hasContent.test.js b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/utils/tests/hasContent.test.js index d9b708c44c..342c75c065 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/utils/tests/hasContent.test.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/utils/tests/hasContent.test.js @@ -50,6 +50,23 @@ describe('hasContent', () => { }); }); + describe('boolean', () => { + it('returns true if enabled', () => { + const normalizedContent = hasContent('boolean', true); + expect(normalizedContent).toEqual(true); + }); + + it('returns false if disabled', () => { + const normalizedContent = hasContent('boolean', false); + expect(normalizedContent).toEqual(true); + }); + + it('returns false for null', () => { + const normalizedContent = hasContent('boolean', null); + expect(normalizedContent).toEqual(false); + }); + }); + describe('ID', () => { it('returns true for id main fields', () => { const normalizedContent = hasContent('media', { id: 1 });