From 7a37fe5e3963fa00ec138ee124bd7481e36dfeec Mon Sep 17 00:00:00 2001 From: maxxkim Date: Mon, 11 Mar 2024 17:16:06 +0300 Subject: [PATCH] test(profile) Tried to make and debug the profile smoke test --- pubspec.yaml | 1 + test/profile_test.dart | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 test/profile_test.dart diff --git a/pubspec.yaml b/pubspec.yaml index 97271c6..14690c6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -26,6 +26,7 @@ dependencies: flutter_form_builder: ^9.2.1 image_picker: ^1.0.7 flutter_typeahead: ^5.2.0 + bloc_test: ^9.1.6 dev_dependencies: dart_code_metrics: ^5.7.6 diff --git a/test/profile_test.dart b/test/profile_test.dart new file mode 100644 index 0000000..97f34aa --- /dev/null +++ b/test/profile_test.dart @@ -0,0 +1,41 @@ +import 'package:eatvio_app/core/app_export.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:bloc_test/bloc_test.dart'; +import 'package:eatvio_app/presentation/profile/my_profile_screen/my_profile_screen.dart'; +import 'package:eatvio_app/presentation/profile/my_profile_screen/bloc/my_profile_bloc.dart'; +import 'package:eatvio_app/presentation//profile/my_profile_screen/models/my_profile_model.dart'; + +void main() { + group('MyProfileScreen', () { + testWidgets('renders CircularProgressIndicator in initial state', + (WidgetTester tester) async { + final myProfileBloc = MyProfileBloc(MyProfileState( + myProfileModelObj: + MyProfileModel())); // Ensure that MyProfileModel is non-nullable + + await tester.pumpWidget(BlocProvider( + create: (context) => myProfileBloc, + child: MyProfileScreen(), + )); + + expect(find.byType(CircularProgressIndicator), findsOneWidget); + }); + + blocTest( + 'renders MyProfileLoadedState correctly', + build: () { + final myProfileModel = MyProfileModel( + /* передайте здесь необходимые данные */); // Create an instance of MyProfileModel + return MyProfileBloc(MyProfileState( + myProfileModelObj: + myProfileModel)); // Ensure that MyProfileModel is non-nullable + }, + act: (bloc) => bloc.add(MyProfileInitialEvent()), + expect: () => [isA()], + verify: (_) { + // Add verification logic here + }, + ); + }); +}