diff --git a/Libraries/Components/DatePicker/DatePickerIOS.ios.js b/Libraries/Components/DatePicker/DatePickerIOS.ios.js index 30cc13ad55f0..8295e3aeded2 100644 --- a/Libraries/Components/DatePicker/DatePickerIOS.ios.js +++ b/Libraries/Components/DatePicker/DatePickerIOS.ios.js @@ -117,10 +117,6 @@ type Props = $ReadOnly<{| * source of truth. */ class DatePickerIOS extends React.Component { - static DefaultProps: {|mode: $TEMPORARY$string<'datetime'>|} = { - mode: 'datetime', - }; - _picker: ?React.ElementRef = null; componentDidUpdate() { @@ -142,6 +138,7 @@ class DatePickerIOS extends React.Component { render(): React.Node { const props = this.props; + const mode = props.mode ?? 'datetime'; invariant( props.date || props.initialDate, 'A selected date or initial date should be specified.', @@ -153,7 +150,7 @@ class DatePickerIOS extends React.Component { ref={picker => { this._picker = picker; }} - style={getHeight(props.pickerStyle, props.mode)} + style={getHeight(props.pickerStyle, mode)} date={ props.date ? props.date.getTime() @@ -172,7 +169,7 @@ class DatePickerIOS extends React.Component { minimumDate={ props.minimumDate ? props.minimumDate.getTime() : undefined } - mode={props.mode} + mode={mode} minuteInterval={props.minuteInterval} timeZoneOffsetInMinutes={props.timeZoneOffsetInMinutes} onChange={this._onChange} diff --git a/Libraries/Components/DatePicker/__tests__/DatePickerIOS-test.js b/Libraries/Components/DatePicker/__tests__/DatePickerIOS-test.js index bcc029c47684..79579b82ee59 100644 --- a/Libraries/Components/DatePicker/__tests__/DatePickerIOS-test.js +++ b/Libraries/Components/DatePicker/__tests__/DatePickerIOS-test.js @@ -32,4 +32,18 @@ describe('DatePickerIOS', () => { }, ); }); + it('should render DatePicker with the datetime mode if no mode is passed inside the props', () => { + ReactNativeTestTools.expectRendersMatchingSnapshot( + 'DatePickerIOS', + () => ( + + ), + () => { + jest.dontMock('../DatePickerIOS'); + }, + ); + }); }); diff --git a/Libraries/Components/DatePicker/__tests__/__snapshots__/DatePickerIOS-test.js.snap b/Libraries/Components/DatePicker/__tests__/__snapshots__/DatePickerIOS-test.js.snap index e463f9819141..55ce6c206714 100644 --- a/Libraries/Components/DatePicker/__tests__/__snapshots__/DatePickerIOS-test.js.snap +++ b/Libraries/Components/DatePicker/__tests__/__snapshots__/DatePickerIOS-test.js.snap @@ -1,5 +1,53 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`DatePickerIOS should render DatePicker with the datetime mode if no mode is passed inside the props: should deep render when mocked (please verify output manually) 1`] = ` + + + +`; + +exports[`DatePickerIOS should render DatePicker with the datetime mode if no mode is passed inside the props: should deep render when not mocked (please verify output manually) 1`] = ` + + + +`; + +exports[`DatePickerIOS should render DatePicker with the datetime mode if no mode is passed inside the props: should shallow render as when mocked 1`] = ` + +`; + +exports[`DatePickerIOS should render DatePicker with the datetime mode if no mode is passed inside the props: should shallow render as when not mocked 1`] = ` + +`; + exports[`DatePickerIOS should render as expected: should deep render when mocked (please verify output manually) 1`] = `