Skip to content

Commit 9ed6fe1

Browse files
committed
Dropdown field test.
1 parent 2c55da6 commit 9ed6fe1

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:flutter_test/flutter_test.dart';
3+
import 'package:flutter_form_builder/flutter_form_builder.dart';
4+
import 'form_builder_tester.dart';
5+
6+
void main() {
7+
testWidgets('FormBuilderDropdown -- 1,3', (WidgetTester tester) async {
8+
const widgetName = 'd1';
9+
final testWidget = FormBuilderDropdown<int>(
10+
name: widgetName,
11+
items: [
12+
DropdownMenuItem(
13+
key: ValueKey(1),
14+
value: 1,
15+
child: Text('One'),
16+
),
17+
DropdownMenuItem(
18+
key: ValueKey(2),
19+
value: 2,
20+
child: Text('Two'),
21+
),
22+
DropdownMenuItem(
23+
key: ValueKey(3),
24+
value: 3,
25+
child: Text('Three'),
26+
),
27+
],
28+
onChanged: (newValue) => print('>>>> Changed to $newValue'),
29+
);
30+
final widgetFinder = find.byWidget(testWidget);
31+
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
32+
33+
expect(formSave(), isTrue);
34+
expect(formValue(widgetName), isNull);
35+
await tester.tap(widgetFinder);
36+
await tester.pumpAndSettle();
37+
await tester.tap(
38+
find.descendant(of: widgetFinder, matching: find.byKey(ValueKey(1))));
39+
await tester.pumpAndSettle();
40+
expect(formSave(), isTrue);
41+
expect(formValue(widgetName), equals(1));
42+
43+
/* Not sure why this isn't working; instead of 3, 1 is being tapped?
44+
await tester.tap(widgetFinder);
45+
await tester.pumpAndSettle();
46+
await tester.tap(
47+
find.descendant(of: widgetFinder, matching: find.byKey(ValueKey(3))));
48+
await tester.pumpAndSettle();
49+
expect(formSave(), isTrue);
50+
expect(formValue(widgetName), equals(3));
51+
*/
52+
});
53+
}

0 commit comments

Comments
 (0)