diff --git a/test/widgets/feed_screen_test.dart b/test/widgets/feed_screen_test.dart index afb8a4c..17864b6 100644 --- a/test/widgets/feed_screen_test.dart +++ b/test/widgets/feed_screen_test.dart @@ -1,9 +1,12 @@ import 'package:coves_flutter/models/feed_state.dart'; import 'package:coves_flutter/models/post.dart'; import 'package:coves_flutter/providers/auth_provider.dart'; +import 'package:coves_flutter/providers/block_provider.dart'; +import 'package:coves_flutter/providers/community_subscription_provider.dart'; import 'package:coves_flutter/providers/multi_feed_provider.dart'; import 'package:coves_flutter/providers/vote_provider.dart'; import 'package:coves_flutter/screens/home/feed_screen.dart'; +import 'package:coves_flutter/services/coves_api_service.dart'; import 'package:coves_flutter/services/vote_service.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -53,6 +56,16 @@ class FakeVoteProvider extends VoteProvider { } } +// Fake CommunitySubscriptionProvider that never touches the network +class FakeCommunitySubscriptionProvider extends CommunitySubscriptionProvider { + FakeCommunitySubscriptionProvider({required super.authProvider}); + + @override + Future loadSubscribedCommunities() async { + // No-op for testing - avoids network calls and pending timers + } +} + // Fake MultiFeedProvider for testing class FakeMultiFeedProvider extends MultiFeedProvider { FakeMultiFeedProvider() : super(FakeAuthProvider()); @@ -127,11 +140,20 @@ void main() { late FakeAuthProvider fakeAuthProvider; late FakeMultiFeedProvider fakeFeedProvider; late FakeVoteProvider fakeVoteProvider; + late CommunitySubscriptionProvider subscriptionProvider; + late BlockProvider blockProvider; setUp(() { fakeAuthProvider = FakeAuthProvider(); fakeFeedProvider = FakeMultiFeedProvider(); fakeVoteProvider = FakeVoteProvider(); + subscriptionProvider = FakeCommunitySubscriptionProvider( + authProvider: fakeAuthProvider, + ); + blockProvider = BlockProvider( + apiService: CovesApiService(), + authProvider: fakeAuthProvider, + ); }); Widget createTestWidget() { @@ -142,6 +164,10 @@ void main() { value: fakeFeedProvider, ), ChangeNotifierProvider.value(value: fakeVoteProvider), + ChangeNotifierProvider.value( + value: subscriptionProvider, + ), + ChangeNotifierProvider.value(value: blockProvider), ], child: const MaterialApp(home: FeedScreen()), );