mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-08-12 08:50:30 +00:00
fix: Add contacts test providers
This commit is contained in:
@@ -8,11 +8,20 @@ import 'package:meshcore_sar_app/models/channel.dart';
|
|||||||
import 'package:meshcore_sar_app/models/contact.dart';
|
import 'package:meshcore_sar_app/models/contact.dart';
|
||||||
import 'package:meshcore_sar_app/models/contact_group.dart';
|
import 'package:meshcore_sar_app/models/contact_group.dart';
|
||||||
import 'package:meshcore_sar_app/models/device_info.dart' as device_info;
|
import 'package:meshcore_sar_app/models/device_info.dart' as device_info;
|
||||||
|
import 'package:meshcore_sar_app/providers/app_provider.dart';
|
||||||
|
import 'package:meshcore_sar_app/providers/channels_provider.dart';
|
||||||
import 'package:meshcore_sar_app/providers/connection_provider.dart';
|
import 'package:meshcore_sar_app/providers/connection_provider.dart';
|
||||||
import 'package:meshcore_sar_app/providers/contacts_provider.dart';
|
import 'package:meshcore_sar_app/providers/contacts_provider.dart';
|
||||||
|
import 'package:meshcore_sar_app/providers/drawing_provider.dart';
|
||||||
|
import 'package:meshcore_sar_app/providers/image_provider.dart'
|
||||||
|
as image_provider;
|
||||||
import 'package:meshcore_sar_app/providers/map_provider.dart';
|
import 'package:meshcore_sar_app/providers/map_provider.dart';
|
||||||
import 'package:meshcore_sar_app/providers/messages_provider.dart';
|
import 'package:meshcore_sar_app/providers/messages_provider.dart';
|
||||||
|
import 'package:meshcore_sar_app/providers/voice_provider.dart';
|
||||||
import 'package:meshcore_sar_app/screens/contacts_tab.dart';
|
import 'package:meshcore_sar_app/screens/contacts_tab.dart';
|
||||||
|
import 'package:meshcore_sar_app/services/profiles_feature_service.dart';
|
||||||
|
import 'package:meshcore_sar_app/services/voice_codec_service.dart';
|
||||||
|
import 'package:meshcore_sar_app/services/voice_player_service.dart';
|
||||||
import 'package:meshcore_sar_app/utils/contact_grouping.dart';
|
import 'package:meshcore_sar_app/utils/contact_grouping.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
@@ -31,11 +40,25 @@ class _FakeConnectionProvider extends ConnectionProvider {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class _FakeMessagesProvider extends MessagesProvider {
|
||||||
|
@override
|
||||||
|
bool get isInitialized => true;
|
||||||
|
}
|
||||||
|
|
||||||
|
class _FakeDrawingProvider extends DrawingProvider {
|
||||||
|
@override
|
||||||
|
bool get isInitialized => true;
|
||||||
|
}
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
String? clipboardText;
|
String? clipboardText;
|
||||||
|
|
||||||
setUp(() {
|
setUp(() {
|
||||||
SharedPreferences.setMockInitialValues({});
|
SharedPreferences.setMockInitialValues({});
|
||||||
|
ProfileStorageScope.setScope(
|
||||||
|
profilesEnabled: false,
|
||||||
|
activeProfileId: 'default',
|
||||||
|
);
|
||||||
clipboardText = null;
|
clipboardText = null;
|
||||||
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
|
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
|
||||||
.setMockMethodCallHandler(SystemChannels.platform, (call) async {
|
.setMockMethodCallHandler(SystemChannels.platform, (call) async {
|
||||||
@@ -122,6 +145,23 @@ void main() {
|
|||||||
final contactsProvider = ContactsProvider();
|
final contactsProvider = ContactsProvider();
|
||||||
final resolvedConnectionProvider =
|
final resolvedConnectionProvider =
|
||||||
connectionProvider ?? ConnectionProvider();
|
connectionProvider ?? ConnectionProvider();
|
||||||
|
final messagesProvider = _FakeMessagesProvider();
|
||||||
|
final drawingProvider = _FakeDrawingProvider();
|
||||||
|
final channelsProvider = ChannelsProvider();
|
||||||
|
final voiceProvider = VoiceProvider(
|
||||||
|
codec: VoiceCodecService(),
|
||||||
|
player: VoicePlayerService(),
|
||||||
|
);
|
||||||
|
final imageProvider = image_provider.ImageProvider();
|
||||||
|
final appProvider = AppProvider(
|
||||||
|
connectionProvider: resolvedConnectionProvider,
|
||||||
|
contactsProvider: contactsProvider,
|
||||||
|
messagesProvider: messagesProvider,
|
||||||
|
drawingProvider: drawingProvider,
|
||||||
|
channelsProvider: channelsProvider,
|
||||||
|
voiceProvider: voiceProvider,
|
||||||
|
imageProvider: imageProvider,
|
||||||
|
);
|
||||||
for (final contact in contacts) {
|
for (final contact in contacts) {
|
||||||
contactsProvider.addOrUpdateContact(contact);
|
contactsProvider.addOrUpdateContact(contact);
|
||||||
}
|
}
|
||||||
@@ -135,12 +175,17 @@ void main() {
|
|||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MultiProvider(
|
MultiProvider(
|
||||||
providers: [
|
providers: [
|
||||||
ChangeNotifierProvider.value(value: contactsProvider),
|
ChangeNotifierProvider<ContactsProvider>(
|
||||||
ChangeNotifierProvider<ConnectionProvider>.value(
|
create: (_) => contactsProvider,
|
||||||
value: resolvedConnectionProvider,
|
),
|
||||||
|
ChangeNotifierProvider<ConnectionProvider>(
|
||||||
|
create: (_) => resolvedConnectionProvider,
|
||||||
|
),
|
||||||
|
ChangeNotifierProvider<MessagesProvider>(
|
||||||
|
create: (_) => messagesProvider,
|
||||||
),
|
),
|
||||||
ChangeNotifierProvider(create: (_) => MessagesProvider()),
|
|
||||||
ChangeNotifierProvider(create: (_) => MapProvider()),
|
ChangeNotifierProvider(create: (_) => MapProvider()),
|
||||||
|
ChangeNotifierProvider<AppProvider>(create: (_) => appProvider),
|
||||||
],
|
],
|
||||||
child: MaterialApp(
|
child: MaterialApp(
|
||||||
localizationsDelegates: AppLocalizations.localizationsDelegates,
|
localizationsDelegates: AppLocalizations.localizationsDelegates,
|
||||||
|
|||||||
Reference in New Issue
Block a user