From 4ae0650fea032f1756ae86a5bfd3faef3fb18aba Mon Sep 17 00:00:00 2001 From: Simone Taeggi Date: Wed, 20 Jul 2022 14:28:37 +0200 Subject: [PATCH 01/10] refactor the if else block based on PR comments --- .../helper-plugin/lib/src/components/DateTimePicker/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/helper-plugin/lib/src/components/DateTimePicker/index.js b/packages/core/helper-plugin/lib/src/components/DateTimePicker/index.js index 655250e83d..e52cd57aa8 100644 --- a/packages/core/helper-plugin/lib/src/components/DateTimePicker/index.js +++ b/packages/core/helper-plugin/lib/src/components/DateTimePicker/index.js @@ -118,11 +118,11 @@ const DateTimePicker = ({ ? `${parsedData.getHours()}:${parsedData.getMinutes()}:${parsedData.getSeconds()}` : null ); - } else if ((!value && dateValue) || timeValue) { + } else { setDateValue(undefined); setTimeValue(undefined); } - }, [value, dateValue, timeValue]); + }, [value]); return ( Date: Wed, 20 Jul 2022 15:04:36 +0200 Subject: [PATCH 02/10] add some test to check the correct rerendering of a new value --- .../DateTimePicker/tests/index.test.js | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/packages/core/helper-plugin/lib/src/components/DateTimePicker/tests/index.test.js b/packages/core/helper-plugin/lib/src/components/DateTimePicker/tests/index.test.js index 2066b98851..5057faf5fa 100644 --- a/packages/core/helper-plugin/lib/src/components/DateTimePicker/tests/index.test.js +++ b/packages/core/helper-plugin/lib/src/components/DateTimePicker/tests/index.test.js @@ -40,4 +40,67 @@ describe('DateTimePicker', () => { expect(datepicker.value).toBe('10/13/2021'); }); + + it('should rerender a new value passed as props', () => { + const { rerender } = render( + + {}} + name="datetimepicker" + label="Date time picker" + hint="This is a super description" + /> + + ); + + rerender( + + {}} + name="datetimepicker" + label="Date time picker" + hint="This is a super description" + /> + + ); + + const datepicker = screen.getByTestId('datetimepicker-date'); + + expect(datepicker.value).toBe('4/10/2021'); + }); + + it('should rerender an empty value if it is passed as props', () => { + const { rerender } = render( + + {}} + name="datetimepicker" + label="Date time picker" + hint="This is a super description" + /> + + ); + + rerender( + + {}} + name="datetimepicker" + label="Date time picker" + hint="This is a super description" + /> + + ); + + const datepicker = screen.getByTestId('datetimepicker-date'); + + expect(datepicker.value).toBe(''); + }); }); From def292d7cd4137c8eafcecba3e987d313801b8cc Mon Sep 17 00:00:00 2001 From: Simone Taeggi Date: Wed, 20 Jul 2022 15:55:48 +0200 Subject: [PATCH 03/10] fix a snapshot and a unit test date format --- .../DateTimePicker/tests/__snapshots__/index.test.js.snap | 4 ++-- .../lib/src/components/DateTimePicker/tests/index.test.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/core/helper-plugin/lib/src/components/DateTimePicker/tests/__snapshots__/index.test.js.snap b/packages/core/helper-plugin/lib/src/components/DateTimePicker/tests/__snapshots__/index.test.js.snap index 6ceb08940f..ec2d36aa43 100644 --- a/packages/core/helper-plugin/lib/src/components/DateTimePicker/tests/__snapshots__/index.test.js.snap +++ b/packages/core/helper-plugin/lib/src/components/DateTimePicker/tests/__snapshots__/index.test.js.snap @@ -417,7 +417,7 @@ exports[`DateTimePicker snapshots the component 1`] = ` >