Skip to content

Commit 504d9a3

Browse files
committed
test coverage
1 parent 2152984 commit 504d9a3

File tree

2 files changed

+156
-6
lines changed

2 files changed

+156
-6
lines changed

test/form_builder_checkbox_group_test.dart

Lines changed: 78 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,87 @@ void main() {
2929
expect(formValue(widgetName), equals(const [1, 3]));
3030
});
3131

32-
testWidgets('FormBuilderCheckboxGroup -- decoration',
32+
testWidgets('FormBuilderCheckboxGroup -- decoration control',
3333
(WidgetTester tester) async {
3434
const widgetName = 'cbg1';
3535
final testWidget = FormBuilderCheckboxGroup<int>(
3636
name: widgetName,
37+
wrapSpacing: 10.0,
38+
options: const [
39+
FormBuilderFieldOption(key: ValueKey('1'), value: 1),
40+
FormBuilderFieldOption(key: ValueKey('2'), value: 2),
41+
],
42+
itemDecoration:
43+
BoxDecoration(border: Border.all(color: Colors.blueAccent)),
44+
);
45+
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
46+
47+
// this is a brittle test knowing how we use container for a border
48+
// there is one container for each option
49+
expect(find.byType(Container), findsExactly(2));
50+
// same as wrapSpacing
51+
Container foo = tester.firstWidget(find.byType(Container));
52+
expect(foo.padding, const EdgeInsets.only(right: 10.0));
53+
});
54+
55+
testWidgets('FormBuilderCheckboxGroup -- decoration control following',
56+
(WidgetTester tester) async {
57+
const widgetName = 'cbg1';
58+
final testWidget = FormBuilderCheckboxGroup<int>(
59+
name: widgetName,
60+
controlAffinity: ControlAffinity.trailing,
61+
wrapSpacing: 10.0,
62+
options: const [
63+
FormBuilderFieldOption(key: ValueKey('1'), value: 1),
64+
FormBuilderFieldOption(key: ValueKey('2'), value: 2),
65+
],
66+
itemDecoration:
67+
BoxDecoration(border: Border.all(color: Colors.blueAccent)),
68+
);
69+
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
70+
71+
// this is a brittle test knowing how we use container for a border
72+
// there is one container for each option
73+
expect(find.byType(Container), findsExactly(2));
74+
// same as wrapSpacing
75+
Container foo = tester.firstWidget(find.byType(Container));
76+
expect(foo.padding, const EdgeInsets.only(left: 10.0));
77+
});
78+
79+
testWidgets('FormBuilderCheckboxGroup -- decoration horizontal',
80+
(WidgetTester tester) async {
81+
const widgetName = 'cbg1';
82+
final testWidget = FormBuilderCheckboxGroup<int>(
83+
name: widgetName,
84+
orientation: OptionsOrientation.horizontal,
85+
wrapSpacing: 10.0,
86+
options: const [
87+
FormBuilderFieldOption(key: ValueKey('1'), value: 1),
88+
FormBuilderFieldOption(key: ValueKey('2'), value: 2),
89+
],
90+
itemDecoration:
91+
BoxDecoration(border: Border.all(color: Colors.blueAccent)),
92+
);
93+
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
94+
95+
// this is a brittle test knowing how we use container for a border
96+
// there is one container for each option
97+
expect(find.byType(Container), findsExactly(2));
98+
// same as wrapSpacing
99+
Container foo = tester.firstWidget(find.byType(Container));
100+
expect(foo.margin, const EdgeInsets.only(right: 10.0));
101+
});
102+
103+
testWidgets('FormBuilderCheckboxGroup -- decoration vertical',
104+
(WidgetTester tester) async {
105+
const widgetName = 'cbg1';
106+
final testWidget = FormBuilderCheckboxGroup<int>(
107+
name: widgetName,
108+
orientation: OptionsOrientation.vertical,
109+
wrapSpacing: 10.0,
37110
options: const [
38111
FormBuilderFieldOption(key: ValueKey('1'), value: 1),
39112
FormBuilderFieldOption(key: ValueKey('2'), value: 2),
40-
FormBuilderFieldOption(key: ValueKey('3'), value: 3),
41113
],
42114
itemDecoration:
43115
BoxDecoration(border: Border.all(color: Colors.blueAccent)),
@@ -46,7 +118,10 @@ void main() {
46118

47119
// this is a brittle test knowing how we use container for a border
48120
// there is one container for each option
49-
expect(find.byType(Container), findsExactly(3));
121+
expect(find.byType(Container), findsExactly(2));
122+
// same as wrapSpacing
123+
Container foo = tester.firstWidget(find.byType(Container));
124+
expect(foo.margin, const EdgeInsets.only(bottom: 10.0));
50125
});
51126

52127
testWidgets('FormBuilderCheckboxGroup -- didChange',

test/form_builder_radio_group_test.dart

Lines changed: 78 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,87 @@ void main() {
2828
expect(formValue(widgetName), equals(3));
2929
});
3030

31-
testWidgets('FormBuilderRadioGroup -- decoration',
31+
testWidgets('FormBuilderRadioGroup -- decoration control leading',
3232
(WidgetTester tester) async {
3333
const widgetName = 'rg1';
3434
final testWidget = FormBuilderRadioGroup<int>(
3535
name: widgetName,
36+
wrapSpacing: 10.0,
37+
options: const [
38+
FormBuilderFieldOption(key: ValueKey('1'), value: 1),
39+
FormBuilderFieldOption(key: ValueKey('2'), value: 2),
40+
],
41+
itemDecoration:
42+
BoxDecoration(border: Border.all(color: Colors.blueAccent)),
43+
);
44+
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
45+
46+
// this is a brittle test knowing how we use container for a border
47+
// there is one container for each option
48+
expect(find.byType(Container), findsExactly(2));
49+
// same as wrapSpacing
50+
Container foo = tester.firstWidget(find.byType(Container));
51+
expect(foo.padding, const EdgeInsets.only(right: 10.0));
52+
});
53+
54+
testWidgets('FormBuilderRadioGroup -- decoration control following',
55+
(WidgetTester tester) async {
56+
const widgetName = 'rg1';
57+
final testWidget = FormBuilderRadioGroup<int>(
58+
name: widgetName,
59+
controlAffinity: ControlAffinity.trailing,
60+
wrapSpacing: 10.0,
61+
options: const [
62+
FormBuilderFieldOption(key: ValueKey('1'), value: 1),
63+
FormBuilderFieldOption(key: ValueKey('2'), value: 2),
64+
],
65+
itemDecoration:
66+
BoxDecoration(border: Border.all(color: Colors.blueAccent)),
67+
);
68+
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
69+
70+
// this is a brittle test knowing how we use container for a border
71+
// there is one container for each option
72+
expect(find.byType(Container), findsExactly(2));
73+
// same as wrapSpacing
74+
Container foo = tester.firstWidget(find.byType(Container));
75+
expect(foo.padding, const EdgeInsets.only(left: 10.0));
76+
});
77+
78+
testWidgets('FormBuilderRadioGroup -- decoration horizontal',
79+
(WidgetTester tester) async {
80+
const widgetName = 'rg1';
81+
final testWidget = FormBuilderRadioGroup<int>(
82+
name: widgetName,
83+
orientation: OptionsOrientation.horizontal,
84+
wrapSpacing: 10.0,
85+
options: const [
86+
FormBuilderFieldOption(key: ValueKey('1'), value: 1),
87+
FormBuilderFieldOption(key: ValueKey('2'), value: 2),
88+
],
89+
itemDecoration:
90+
BoxDecoration(border: Border.all(color: Colors.blueAccent)),
91+
);
92+
await tester.pumpWidget(buildTestableFieldWidget(testWidget));
93+
94+
// this is a brittle test knowing how we use container for a border
95+
// there is one container for each option
96+
expect(find.byType(Container), findsExactly(2));
97+
// same as wrapSpacing
98+
Container foo = tester.firstWidget(find.byType(Container));
99+
expect(foo.margin, const EdgeInsets.only(right: 10.0));
100+
});
101+
102+
testWidgets('FormBuilderRadioGroup -- decoration vertical',
103+
(WidgetTester tester) async {
104+
const widgetName = 'rg1';
105+
final testWidget = FormBuilderRadioGroup<int>(
106+
name: widgetName,
107+
orientation: OptionsOrientation.vertical,
108+
wrapSpacing: 10.0,
36109
options: const [
37110
FormBuilderFieldOption(key: ValueKey('1'), value: 1),
38111
FormBuilderFieldOption(key: ValueKey('2'), value: 2),
39-
FormBuilderFieldOption(key: ValueKey('3'), value: 3),
40112
],
41113
itemDecoration:
42114
BoxDecoration(border: Border.all(color: Colors.blueAccent)),
@@ -45,6 +117,9 @@ void main() {
45117

46118
// this is a brittle test knowing how we use container for a border
47119
// there is one container for each option
48-
expect(find.byType(Container), findsExactly(3));
120+
expect(find.byType(Container), findsExactly(2));
121+
// same as wrapSpacing
122+
Container foo = tester.firstWidget(find.byType(Container));
123+
expect(foo.margin, const EdgeInsets.only(bottom: 10.0));
49124
});
50125
}

0 commit comments

Comments
 (0)