import 'dart:async'; import 'package:flutter_test/flutter_test.dart'; import 'package:plugin_platform_interface/plugin_platform_interface.dart'; import 'package:tencent_kit/src/constant.dart'; import 'package:tencent_kit/src/model/resp.dart'; import 'package:tencent_kit/src/tencent_kit_method_channel.dart'; import 'package:tencent_kit/src/tencent_kit_platform_interface.dart'; class MockTencentKitPlatform with MockPlatformInterfaceMixin implements TencentKitPlatform { @override Future setIsPermissionGranted({ required bool granted, String? buildModel, }) { throw UnimplementedError(); } @override Future registerApp({ required String appId, String? universalLink, }) async { throw UnimplementedError(); } @override Future isQQInstalled() { return Future.value(true); } @override Future isTIMInstalled() { throw UnimplementedError(); } @override Stream respStream() { throw UnimplementedError(); } @override Future login({ required List scope, }) { throw UnimplementedError(); } @override Future logout() { throw UnimplementedError(); } @override Future shareImage({ required int scene, required Uri imageUri, String? appName, int extInt = TencentQZoneFlag.DEFAULT, }) { throw UnimplementedError(); } @override Future shareMood({ required int scene, String? summary, List? imageUris, Uri? videoUri, }) { throw UnimplementedError(); } @override Future shareMusic({ required int scene, required String title, String? summary, Uri? imageUri, required String musicUrl, required String targetUrl, String? appName, int extInt = TencentQZoneFlag.DEFAULT, }) { throw UnimplementedError(); } @override Future shareText({ required int scene, required String summary, }) { throw UnimplementedError(); } @override Future shareWebpage({ required int scene, required String title, String? summary, Uri? imageUri, required String targetUrl, String? appName, int extInt = TencentQZoneFlag.DEFAULT, }) { throw UnimplementedError(); } } void main() { final TencentKitPlatform initialPlatform = TencentKitPlatform.instance; test('$MethodChannelTencentKit is the default instance', () { expect(initialPlatform, isInstanceOf()); }); test('isQQInstalled', () async { final MockTencentKitPlatform fakePlatform = MockTencentKitPlatform(); TencentKitPlatform.instance = fakePlatform; expect(await TencentKitPlatform.instance.isQQInstalled(), true); }); }