diff --git a/src/datetimepicker.android.js b/src/datetimepicker.android.js index 8bea7d26..7aea9d86 100644 --- a/src/datetimepicker.android.js +++ b/src/datetimepicker.android.js @@ -88,6 +88,7 @@ export default function RNDateTimePickerAndroid( onNeutralButtonPress, valueTimestamp, mode, + design, ], ); diff --git a/test/index.test.js b/test/index.test.js index d1ce61d6..1fa91157 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -5,6 +5,7 @@ import RNDateTimePickerWindows, { } from '../src/datetimepicker.windows'; import RNDateTimePickerAndroid from '../src/datetimepicker.android'; import NativeDateTimePickerIOS from '../src/picker.ios'; +import {DateTimePickerAndroid} from '../src/DateTimePickerAndroid'; import {render, fireEvent, waitFor} from '@testing-library/react-native'; import {EVENT_TYPE_SET} from '../src/constants'; @@ -54,6 +55,29 @@ describe('DateTimePicker', () => { ])('throws when invalid props %s are passed', (props, expected) => { expect(() => RNDateTimePickerAndroid(props)).toThrow(expected); }); + + it('reopens the picker when the design changes', () => { + const open = jest + .spyOn(DateTimePickerAndroid, 'open') + .mockImplementation(() => {}); + jest + .spyOn(DateTimePickerAndroid, 'dismiss') + .mockImplementation(() => Promise.resolve(true)); + + const {rerender} = render( + , + ); + rerender( + , + ); + + expect(open.mock.calls.map(([params]) => params.design)).toEqual([ + 'default', + 'material', + ]); + + jest.restoreAllMocks(); + }); }); describe('RNDateTimePickerIOS', () => {