From 800c3ee1a40dbdb8afe59464b0b7a2501590b60e Mon Sep 17 00:00:00 2001 From: Luis Correia Date: Tue, 2 Apr 2019 22:47:52 +0100 Subject: [PATCH] fix(widget-number): allow zero as value (#2261) --- .../netlify-cms-widget-number/src/NumberControl.js | 2 +- .../src/__tests__/number.spec.js | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/netlify-cms-widget-number/src/NumberControl.js b/packages/netlify-cms-widget-number/src/NumberControl.js index 1caa9218..96ddd6e6 100644 --- a/packages/netlify-cms-widget-number/src/NumberControl.js +++ b/packages/netlify-cms-widget-number/src/NumberControl.js @@ -100,7 +100,7 @@ export default class NumberControl extends React.Component { className={classNameWrapper} onFocus={setActiveStyle} onBlur={setInactiveStyle} - value={value || ''} + value={value || (value === 0 ? value : '')} step={step} min={min} max={max} diff --git a/packages/netlify-cms-widget-number/src/__tests__/number.spec.js b/packages/netlify-cms-widget-number/src/__tests__/number.spec.js index eb4afa6e..85884bf3 100644 --- a/packages/netlify-cms-widget-number/src/__tests__/number.spec.js +++ b/packages/netlify-cms-widget-number/src/__tests__/number.spec.js @@ -119,4 +119,15 @@ describe('Number widget', () => { expect(onChangeSpy).toHaveBeenCalledTimes(1); expect(onChangeSpy).toHaveBeenCalledWith(parseInt(testValue, 10)); }); + + it('should allow 0 as a value', () => { + const field = fromJS(fieldSettings); + const testValue = 0; + const { input } = setup({ field }); + + fireEvent.focus(input); + fireEvent.change(input, { target: { value: String(testValue) } }); + + expect(input.value).toBe('0'); + }); });