diff --git a/lib/src/fields/form_builder_date_time_picker.dart b/lib/src/fields/form_builder_date_time_picker.dart index f1f2d3276..eb21a3e1d 100644 --- a/lib/src/fields/form_builder_date_time_picker.dart +++ b/lib/src/fields/form_builder_date_time_picker.dart @@ -23,7 +23,7 @@ class FormBuilderDateTimePicker extends FormBuilderFieldDecoration { /// (Sunday, June 3, 2018 at 9:24pm) final DateFormat? format; - /// The date the calendar opens to when displayed. Defaults to the current date. + /// The date the calendar opens to when displayed. Defaults to null. /// /// To preset the widget's value, use [initialValue] instead. final DateTime? initialDate; @@ -327,7 +327,7 @@ class _FormBuilderDateTimePickerState extends FormBuilderFieldDecorationState< context: context, selectableDayPredicate: widget.selectableDayPredicate, initialDatePickerMode: widget.initialDatePickerMode, - initialDate: currentValue ?? widget.initialDate ?? DateTime.now(), + initialDate: currentValue ?? widget.initialDate, firstDate: widget.firstDate ?? DateTime(1900), lastDate: widget.lastDate ?? DateTime(2100), locale: widget.locale, diff --git a/test/src/fields/form_builder_date_time_picker_test.dart b/test/src/fields/form_builder_date_time_picker_test.dart index 961de70cd..0ad9439fa 100644 --- a/test/src/fields/form_builder_date_time_picker_test.dart +++ b/test/src/fields/form_builder_date_time_picker_test.dart @@ -41,7 +41,9 @@ void main() { expect(formValue(widgetName), DateTime(dateNow.year, dateNow.month, testDay, 12)); }); - testWidgets('input keyboard type', (WidgetTester tester) async { + testWidgets( + 'should change to text field and show keyboard when edit icon is pressed', + (WidgetTester tester) async { const widgetName = 'fdtp3'; final widgetKey = UniqueKey(); const keyboardType = TextInputType.datetime; @@ -63,6 +65,30 @@ void main() { final textField = tester.widget(find.byType(TextField).first); expect(textField.keyboardType, equals(keyboardType)); }); + testWidgets('should show a past year when set on lastDate', + (WidgetTester tester) async { + const widgetName = 'fdtp3'; + final widgetKey = UniqueKey(); + const confirmText = 'OK'; + const cancelText = 'CANCEL'; + final year = 2006; + + final testWidget = FormBuilderDateTimePicker( + key: widgetKey, + name: widgetName, + confirmText: confirmText, + cancelText: cancelText, + initialDate: null, + lastDate: DateTime(year, 12, 31), + ); + await tester.pumpWidget(buildTestableFieldWidget(testWidget)); + await tester.tap(find.byKey(widgetKey)); + await tester.pumpAndSettle(); + + expect(find.text(confirmText), findsOneWidget); + expect(find.text(cancelText), findsOneWidget); + expect(find.text('December ${year.toString()}'), findsOneWidget); + }); group('initial value -', () { testWidgets('to FormBuilder', (WidgetTester tester) async { const widgetName = 'fdtp2';