From 960d334d1fc4015be3c6b0b9e776a6aa46d097a9 Mon Sep 17 00:00:00 2001 From: Nidhin Ninan <nidhinvninan29@gmail.com> Date: Tue, 28 Nov 2023 21:21:42 +0530 Subject: [PATCH] modified --- lib/widgets/pinned_post.dart | 9 +++++---- .../widgets/pinned_post_test.dart | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/lib/widgets/pinned_post.dart b/lib/widgets/pinned_post.dart index 9aeae35775..5a0e1e2e50 100644 --- a/lib/widgets/pinned_post.dart +++ b/lib/widgets/pinned_post.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:talawa/locator.dart'; import 'package:talawa/models/post/post_model.dart'; import 'package:talawa/services/size_config.dart'; +import 'package:talawa/views/after_auth_screens/feed/pinned_post_screen.dart'; /// a_line_ending_with_end_punctuation. /// @@ -101,10 +102,10 @@ class PinnedPost extends StatelessWidget { child: GestureDetector( onTap: () { // final Map<String, dynamic> arg = {"index": "$index","post": pinnedPosts}; - navigationService.pushScreen( - '/pinnedpostscreen', - arguments: pinnedPosts[index], - ); + Navigator.of(context).push(MaterialPageRoute( + builder: (context) => + PinnedPostScreen(post: pinnedPosts[index]), + )); }, child: SizedBox( width: SizeConfig.screenWidth! / 4.1, diff --git a/test/widget_tests/widgets/pinned_post_test.dart b/test/widget_tests/widgets/pinned_post_test.dart index 8c2118c016..b3bbf1666e 100644 --- a/test/widget_tests/widgets/pinned_post_test.dart +++ b/test/widget_tests/widgets/pinned_post_test.dart @@ -1,9 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:mockito/mockito.dart'; import 'package:talawa/demo_server_data/pinned_post_demo_data.dart'; import 'package:talawa/locator.dart'; import 'package:talawa/models/post/post_model.dart'; +import 'package:talawa/services/navigation_service.dart'; import 'package:talawa/services/size_config.dart'; +import 'package:talawa/views/after_auth_screens/feed/pinned_post_screen.dart'; import 'package:talawa/widgets/pinned_post.dart'; import '../../helpers/test_helpers.dart'; @@ -28,11 +31,14 @@ List<Post> get pinnedPosts { /// **returns**: /// None void main() { + TestWidgetsFlutterBinding.ensureInitialized(); setupLocator(); locator<SizeConfig>().test(); + NavigationService navigationService; setUp(() { registerServices(); locator<SizeConfig>().test(); + navigationService = NavigationService(); }); tearDown(() { unregisterServices(); @@ -69,4 +75,17 @@ void main() { await widgetTester.pumpAndSettle(); expect(find.text('Church Meeting'), findsOneWidget); }); + + testWidgets('Tapping on a post triggers navigation', (widgetTester) async { + await widgetTester.pumpWidget( + MaterialApp( + home: PinnedPost(pinnedPost: pinnedPosts), + ), + ); + await widgetTester.pump(); + await widgetTester.tap(find.text('1hr')); + await widgetTester.pumpAndSettle(); + expect(find.byType(PinnedPost), findsNothing); + expect(find.byType(PinnedPostScreen), findsOneWidget); + }); }