Skip to content

Commit cb31359

Browse files
committed
Add more steps
1 parent 9c881f7 commit cb31359

11 files changed

Lines changed: 130 additions & 4 deletions

lib/src/step/i_tap_icon.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import 'package:flutter_test/flutter_test.dart';
88
99
Future<void> iTapIcon(WidgetTester tester, IconData icon) async {
1010
await tester.tap(find.byIcon(icon));
11-
await tester.pumpAndSettle();
11+
await tester.pump();
1212
}
1313
''';
1414
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import 'package:bdd_widget_test/src/step/bdd_step.dart';
2+
3+
class ITapIconAndWait implements BddStep {
4+
@override
5+
String get content => '''
6+
import 'package:flutter/widgets.dart';
7+
import 'package:flutter_test/flutter_test.dart';
8+
9+
Future<void> iTapIconAndWait(WidgetTester tester, IconData icon) async {
10+
await tester.tap(find.byIcon(icon));
11+
await tester.pumpAndSettle();
12+
}
13+
''';
14+
}

lib/src/step/i_tap_text.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import 'package:flutter_test/flutter_test.dart';
77
88
Future<void> iTapText(WidgetTester tester, String text) async {
99
await tester.tap(find.text(text));
10-
await tester.pumpAndSettle();
10+
await tester.pump();
1111
}
1212
''';
1313
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import 'package:bdd_widget_test/src/step/bdd_step.dart';
2+
3+
class ITapTextAndWait implements BddStep {
4+
@override
5+
String get content => '''
6+
import 'package:flutter_test/flutter_test.dart';
7+
8+
Future<void> iTapTextAndWait(WidgetTester tester, String text) async {
9+
await tester.tap(find.text(text));
10+
await tester.pumpAndSettle();
11+
}
12+
''';
13+
}

lib/src/step/i_wait.dart

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import 'package:bdd_widget_test/src/step/bdd_step.dart';
2+
3+
class IWait implements BddStep {
4+
@override
5+
String get content => '''
6+
import 'package:flutter_test/flutter_test.dart';
7+
8+
Future<void> iWait(WidgetTester tester) async {
9+
await tester.pumpAndSettle();
10+
}
11+
''';
12+
}

lib/src/step_generator.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ import 'package:bdd_widget_test/src/step/i_dont_see_text.dart';
77
import 'package:bdd_widget_test/src/step/i_see_icon.dart';
88
import 'package:bdd_widget_test/src/step/i_see_text.dart';
99
import 'package:bdd_widget_test/src/step/i_tap_icon.dart';
10+
import 'package:bdd_widget_test/src/step/i_tap_icon_and_wait.dart';
1011
import 'package:bdd_widget_test/src/step/i_tap_text.dart';
12+
import 'package:bdd_widget_test/src/step/i_tap_text_and_wait.dart';
13+
import 'package:bdd_widget_test/src/step/i_wait.dart';
1114
import 'package:bdd_widget_test/src/step/the_app_is_running_step.dart';
1215
import 'package:strings/strings.dart';
1316

@@ -58,8 +61,11 @@ final predefinedSteps = <String, BddStep Function(String, String)>{
5861
'iSeeText': (_, __) => ISeeText(),
5962
'iSeeIcon': (_, __) => ISeeIcon(),
6063
'iTapText': (_, __) => ITapText(),
64+
'iTapTextAndWait': (_, __) => ITapTextAndWait(),
6165
'iTapIcon': (_, __) => ITapIcon(),
66+
'iTapIconAndWait': (_, __) => ITapIconAndWait(),
6267
'iDontSeeIcon': (_, __) => IDontSeeIcon(),
6368
'iDontSeeText': (_, __) => IDontSeeText(),
6469
'dismissThePage': (_, __) => DismissThePage(),
70+
'iWait': (_, __) => IWait(),
6571
};
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import 'package:bdd_widget_test/src/feature_file.dart';
2+
import 'package:flutter_test/flutter_test.dart';
3+
4+
void main() {
5+
test('I Tap Icon And Wait pre-built step generated', () {
6+
const path = 'test';
7+
const featureFile = '''
8+
Feature: Testing feature
9+
Scenario: Testing scenario
10+
When I tap {Icons.add} icon and wait
11+
''';
12+
13+
const expectedSteps = '''
14+
import 'package:flutter/widgets.dart';
15+
import 'package:flutter_test/flutter_test.dart';
16+
17+
Future<void> iTapIconAndWait(WidgetTester tester, IconData icon) async {
18+
await tester.tap(find.byIcon(icon));
19+
await tester.pumpAndSettle();
20+
}
21+
''';
22+
23+
final feature =
24+
FeatureFile(path: '$path.feature', package: path, input: featureFile);
25+
26+
expect(feature.getStepFiles().single.dartContent, expectedSteps);
27+
});
28+
}

test/step/i_tap_icon_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import 'package:flutter_test/flutter_test.dart';
1616
1717
Future<void> iTapIcon(WidgetTester tester, IconData icon) async {
1818
await tester.tap(find.byIcon(icon));
19-
await tester.pumpAndSettle();
19+
await tester.pump();
2020
}
2121
''';
2222

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import 'package:bdd_widget_test/src/feature_file.dart';
2+
import 'package:flutter_test/flutter_test.dart';
3+
4+
void main() {
5+
test('I Tap Text And Wait pre-built step generated', () {
6+
const path = 'test';
7+
const featureFile = '''
8+
Feature: Testing feature
9+
Scenario: Testing scenario
10+
When I tap {foo} text and wait
11+
''';
12+
13+
const expectedSteps = '''
14+
import 'package:flutter_test/flutter_test.dart';
15+
16+
Future<void> iTapTextAndWait(WidgetTester tester, String text) async {
17+
await tester.tap(find.text(text));
18+
await tester.pumpAndSettle();
19+
}
20+
''';
21+
22+
final feature =
23+
FeatureFile(path: '$path.feature', package: path, input: featureFile);
24+
25+
expect(feature.getStepFiles().single.dartContent, expectedSteps);
26+
});
27+
}

test/step/i_tap_text_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import 'package:flutter_test/flutter_test.dart';
1515
1616
Future<void> iTapText(WidgetTester tester, String text) async {
1717
await tester.tap(find.text(text));
18-
await tester.pumpAndSettle();
18+
await tester.pump();
1919
}
2020
''';
2121

0 commit comments

Comments
 (0)