flutter_profile/test/profile_test.dart

88 lines
2.6 KiB
Dart
Raw Normal View History

2022-09-21 09:20:15 +02:00
import 'package:flutter/material.dart';
2022-09-21 14:37:16 +02:00
import 'package:flutter_profile/flutter_profile.dart';
2022-09-21 09:20:15 +02:00
import 'package:flutter_test/flutter_test.dart';
import 'test_classes/test_profile_data.dart';
import 'test_classes/test_profile_service.dart';
void main() {
testWidgets('Profile page with preset values', (tester) async {
await tester.pumpWidget(
MaterialApp(
home: Material(
child: ProfilePage(
user: User(
2022-10-21 10:42:32 +02:00
firstName: 'Firstname',
lastName: 'Lastname',
profileData: TestProfileData(email: 'test@email.com'),
2022-09-21 09:20:15 +02:00
),
service: TestProfileService(),
),
),
),
);
final firstNameFinder = find.text('Firstname');
final lastNameFinder = find.text('Lastname');
final emailFinder = find.text('test@email.com');
expect(firstNameFinder, findsOneWidget);
expect(lastNameFinder, findsOneWidget);
expect(emailFinder, findsOneWidget);
});
testWidgets('Profile page without preset value', (tester) async {
await tester.pumpWidget(
MaterialApp(
home: Material(
child: ProfilePage(
user: User(
2022-10-21 10:42:32 +02:00
profileData: TestProfileData(email: null),
2022-09-21 09:20:15 +02:00
),
service: TestProfileService(),
),
),
),
);
});
testWidgets('Profile page with preset value and changing them',
(tester) async {
await tester.pumpWidget(
MaterialApp(
home: Material(
child: ProfilePage(
user: User(
2022-10-21 10:42:32 +02:00
firstName: 'Firstname',
lastName: 'Lastname',
profileData: TestProfileData(email: 'test@email.com'),
2022-09-21 09:20:15 +02:00
),
service: TestProfileService(),
),
),
),
);
await tester.enterText(find.text('Firstname'), 'FirstEditedName');
await tester.testTextInput.receiveAction(TextInputAction.send);
await tester.pump();
await tester.enterText(find.text('test@email.com'), 'edited@emial.com');
await tester.testTextInput.receiveAction(TextInputAction.send);
await tester.pump();
final firstNameFinder = find.text('Firstname');
final firstNameEditedFinder = find.text('FirstEditedName');
final lastNameFinder = find.text('Lastname');
final emailFinder = find.text('test@email.com');
final emailEditedFinder = find.text('edited@emial.com');
expect(firstNameFinder, findsNothing);
expect(firstNameEditedFinder, findsOneWidget);
expect(lastNameFinder, findsOneWidget);
expect(emailFinder, findsNothing);
expect(emailEditedFinder, findsOneWidget);
});
}