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);
+  });
 }