mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-05-25 13:12:13 +00:00
Some checks are pending
Flutter analyze & test / flutter_analyze_and_test (push) Waiting to run
77 lines
2.6 KiB
Dart
77 lines
2.6 KiB
Dart
// ignore_for_file: avoid_dynamic_calls
|
|
|
|
import 'dart:async';
|
|
import 'package:flutter/services.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void setupPlatformChannelMocks() {
|
|
final secureStorageMock = <String, String>{};
|
|
Future<dynamic> mockHandler(MethodCall methodCall) async {
|
|
final userId = Zone.current[#userId] as int?;
|
|
final keyPrefix = userId != null ? '${userId}_' : '';
|
|
if (methodCall.method == 'read') {
|
|
final key = methodCall.arguments['key'] as String;
|
|
return secureStorageMock[keyPrefix + key];
|
|
} else if (methodCall.method == 'write') {
|
|
final key = methodCall.arguments['key'] as String;
|
|
final value = methodCall.arguments['value'] as String;
|
|
secureStorageMock[keyPrefix + key] = value;
|
|
return true;
|
|
} else if (methodCall.method == 'delete') {
|
|
final key = methodCall.arguments['key'] as String;
|
|
secureStorageMock.remove(keyPrefix + key);
|
|
return true;
|
|
} else if (methodCall.method == 'readAll') {
|
|
final result = <String, String>{};
|
|
secureStorageMock.forEach((k, v) {
|
|
if (k.startsWith(keyPrefix)) {
|
|
result[k.substring(keyPrefix.length)] = v;
|
|
}
|
|
});
|
|
return result;
|
|
} else if (methodCall.method == 'deleteAll') {
|
|
if (userId != null) {
|
|
secureStorageMock.removeWhere((k, v) => k.startsWith(keyPrefix));
|
|
} else {
|
|
secureStorageMock.clear();
|
|
}
|
|
return true;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
|
|
const MethodChannel(
|
|
'plugins.it_crowd.double_tapp/flutter_secure_storage',
|
|
),
|
|
mockHandler,
|
|
);
|
|
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
|
|
const MethodChannel('plugins.it_nomads.com/flutter_secure_storage'),
|
|
mockHandler,
|
|
);
|
|
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
|
|
const MethodChannel('dev.fluttercommunity.plus/connectivity'),
|
|
(call) async {
|
|
if (call.method == 'check') {
|
|
return ['wifi'];
|
|
}
|
|
return null;
|
|
},
|
|
);
|
|
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
|
|
const MethodChannel(
|
|
'be.tramesch.workmanager/foreground_channel_workmanager',
|
|
),
|
|
(call) async => true,
|
|
);
|
|
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
|
|
const MethodChannel('com.bbflight.background_downloader'),
|
|
(call) async {
|
|
if (call.method == 'enqueue') {
|
|
return true;
|
|
}
|
|
return null;
|
|
},
|
|
);
|
|
}
|