From 9695c905d9360404d3d48e3f3e08f88244f47fa8 Mon Sep 17 00:00:00 2001 From: Ayush Raghuwanshi Date: Sun, 19 Nov 2023 14:43:28 +0530 Subject: [PATCH] Add:Tests for misses --- .../profile_page_view_model_tests.dart | 93 ++++++++++++------- 1 file changed, 58 insertions(+), 35 deletions(-) diff --git a/test/view_model_tests/after_auth_view_model_tests/profile_view_model_tests/profile_page_view_model_tests.dart b/test/view_model_tests/after_auth_view_model_tests/profile_view_model_tests/profile_page_view_model_tests.dart index 1c89a1223c..aed035045e 100644 --- a/test/view_model_tests/after_auth_view_model_tests/profile_view_model_tests/profile_page_view_model_tests.dart +++ b/test/view_model_tests/after_auth_view_model_tests/profile_view_model_tests/profile_page_view_model_tests.dart @@ -3,7 +3,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:mockito/mockito.dart'; +import 'package:talawa/enums/enums.dart'; import 'package:talawa/services/graphql_config.dart'; import 'package:talawa/services/size_config.dart'; import 'package:talawa/view_model/after_auth_view_models/profile_view_models/profile_page_view_model.dart'; @@ -58,10 +60,15 @@ void main() { model.initialize(); model.showSnackBar("fake_message"); - verify(navigationService.showSnackBar("fake_message")); + verify( + navigationService.showTalawaErrorDialog( + "fake_message", + MessageType.error, + ), + ).called(1); model.popBottomSheet(); - verify(navigationService.pop()); + verify(navigationService.pop()).called(1); }); test("Test updateSheetHeight function", () { @@ -87,43 +94,59 @@ void main() { expect((iconButton as IconButton).icon, testIcon); }); - testWidgets("Test dominationButton function", (tester) async { - final mockContext = MockBuildContext(); - final model = ProfilePageViewModel(); - model.initialize(); - const String amt = "test_amt"; - await tester.pumpWidget( - MaterialApp( - home: Scaffold( - body: model.dominationButton( - amt, - mockContext, - (void Function() callback) {}, - ), - ), - ), - ); - final containerFinder = find.byType(Container); - final Container container = tester.firstWidget(containerFinder); - expect( - container.padding, - EdgeInsets.symmetric( - vertical: SizeConfig.screenHeight! * 0.02, - horizontal: SizeConfig.screenWidth! * 0.075, + testWidgets('Test logout function', (WidgetTester tester) async { + final mockDatabaseFunctions = databaseFunctions; + + when(mockDatabaseFunctions.gqlAuthMutation(queries.logout())).thenAnswer( + (_) async => QueryResult( + data: {'logout': true}, + source: QueryResultSource.network, + options: QueryOptions(document: gql(queries.logout())), ), ); - }); - testWidgets("Test logout function", (tester) async { - final mockContext = MockBuildContext(); - final model = ProfilePageViewModel(); - final mocknav = getAndRegisterNavigationService(); - model.initialize(); - await model.logout(mockContext); - await tester.pumpAndSettle(); + final ProfilePageViewModel viewModel = ProfilePageViewModel(); - //Ensures that naviagation service was called - verifyInteraction(mocknav, mockName: "NavigationService"); + await viewModel.logout(MockBuildContext()); }); }); + + testWidgets("Test dominationButton function", (tester) async { + final mockContext = MockBuildContext(); + final model = ProfilePageViewModel(); + model.initialize(); + const String amt = "test_amt"; + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: model.dominationButton( + amt, + mockContext, + (void Function() callback) {}, + ), + ), + ), + ); + final containerFinder = find.byType(Container); + final Container container = tester.firstWidget(containerFinder); + expect( + container.padding, + EdgeInsets.symmetric( + vertical: SizeConfig.screenHeight! * 0.02, + horizontal: SizeConfig.screenWidth! * 0.075, + ), + ); + }); + + // testWidgets("Test logout function", (tester) async { + // final mockContext = MockBuildContext(); + // final model = ProfilePageViewModel(); + // final mocknav = getAndRegisterNavigationService(); + // model.initialize(); + // await model.logout(mockContext); + // await tester.pumpAndSettle(); + + // //Ensures that naviagation service was called + // verifyInteraction(mocknav, mockName: "NavigationService"); + // }); }