63 lines
2.7 KiB
Dart
63 lines
2.7 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:simple_database/screens/contact_list.dart';
|
|
|
|
void main(){
|
|
void checkOneWidget(Finder finder){
|
|
const String trimStr1 = 'zero widgets with type "';
|
|
const String trimStr2 = '" (ignoring offstage widget)';
|
|
final finderMsg =
|
|
finder.toString().replaceAll(trimStr1, '').replaceAll(trimStr2, '');
|
|
expect(finder, findsOneWidget, reason: "Problem: $finderMsg not found ");
|
|
}
|
|
|
|
void checkNothing(Finder finder){
|
|
const String trimStr1 = 'exactly one widget with type "';
|
|
const String trimStr2 = '" this widget should not exist';
|
|
final finderMsg =
|
|
finder.toString().replaceAll(trimStr1, '').replaceAll(trimStr2, '');
|
|
expect(finder, findsNothing, reason: "Problem: $finderMsg");
|
|
}
|
|
testWidgets('UI Component-Scaffold Found', (WidgetTester tester) async {
|
|
await tester.pumpWidget(const MaterialApp(home: ContactList()));
|
|
Finder findAppBar = find.byKey(const Key('scaffold_contactlist'));
|
|
checkOneWidget(findAppBar);
|
|
});
|
|
testWidgets('UI Component-AppBar Found', (WidgetTester tester) async {
|
|
await tester.pumpWidget(const MaterialApp(home: ContactList()));
|
|
Finder findAppBar = find.byKey(const Key('appbar_contactlist'));
|
|
checkOneWidget(findAppBar);
|
|
});
|
|
|
|
testWidgets('UI Component-Center Title AppBar', (WidgetTester tester) async {
|
|
await tester.pumpWidget(const MaterialApp(home: ContactList()));
|
|
Finder findAppBar = find.byKey(const Key('center_text_appbar'));
|
|
checkOneWidget(findAppBar);
|
|
});
|
|
|
|
testWidgets('UI Component-Title AppBar Found', (WidgetTester tester) async {
|
|
await tester.pumpWidget(const MaterialApp(home: ContactList()));
|
|
Finder findTitleAppBar = find.byKey(const Key('title_appbar_contactlist'));
|
|
checkOneWidget(findTitleAppBar);
|
|
});
|
|
|
|
testWidgets('UI Component-ListView Found', (WidgetTester tester) async {
|
|
await tester.pumpWidget(const MaterialApp(home: ContactList()));
|
|
Finder findListViewWidget = find.byKey(const Key('listview_contactlist'));
|
|
checkOneWidget(findListViewWidget);
|
|
});
|
|
|
|
testWidgets('UI Component- FloatingButton Found', (WidgetTester tester) async{
|
|
await tester.pumpWidget(const MaterialApp(home: ContactList()));
|
|
Finder findButton = find.byKey(const Key('button_add'));
|
|
Finder findIconAdd = find.byKey( const Key('icon_add'));
|
|
checkOneWidget(findIconAdd);
|
|
checkOneWidget(findButton);
|
|
await tester.tap(findButton);
|
|
await tester.pumpAndSettle();
|
|
Finder findAppBar = find.byType(AppBar);
|
|
checkOneWidget(findAppBar);
|
|
Finder findTitleAppBar = find.byKey(const Key('title_appbar_contactform'));
|
|
checkOneWidget(findTitleAppBar);
|
|
});
|
|
} |