photo_gallery/test/utils/mock_handler.dart

53 lines
2.0 KiB
Dart
Raw Normal View History

2020-08-14 18:07:27 +08:00
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:photo_gallery/photo_gallery.dart';
import 'generator.dart';
Future<dynamic> mockMethodCallHandler(MethodCall call) async {
if (call.method == "listAlbums") {
2021-03-30 22:30:21 +08:00
MediumType? mediumType = jsonToMediumType(call.arguments['mediumType']);
2023-05-15 01:41:02 +08:00
bool newest = call.arguments['newest'];
2024-03-25 21:17:22 +08:00
dynamic albums = Generator.generateAlbumsJson(
mediumType: mediumType,
newest: newest,
);
2020-08-22 16:59:52 +08:00
return albums;
2020-08-14 18:07:27 +08:00
} else if (call.method == "listMedia") {
String albumId = call.arguments['albumId'];
2021-03-18 12:00:31 +00:00
MediumType? mediumType = jsonToMediumType(call.arguments['mediumType']);
2021-03-30 22:30:21 +08:00
int? skip = call.arguments['skip'];
int? take = call.arguments['take'];
2020-08-14 18:07:27 +08:00
dynamic mediaPage = Generator.generateMediaPageJson(
albumId: albumId,
2020-08-14 18:07:27 +08:00
mediumType: mediumType,
skip: skip,
take: take,
);
return mediaPage;
} else if (call.method == "getMedium") {
String mediumId = call.arguments['mediumId'];
2021-03-30 22:30:21 +08:00
MediumType? mediumType = jsonToMediumType(call.arguments['mediumType']);
2020-08-14 18:07:27 +08:00
dynamic media =
Generator.generateMediaJson(mediumId: mediumId, mediumType: mediumType);
return media;
} else if (call.method == "getThumbnail") {
String mediumId = call.arguments['mediumId'];
2021-03-30 22:30:21 +08:00
MediumType? mediumType = jsonToMediumType(call.arguments['mediumType']);
2020-08-14 18:07:27 +08:00
dynamic thumbnail = Generator.generateMockThumbnail(
mediumId: mediumId, mediumType: mediumType);
return thumbnail;
} else if (call.method == "getAlbumThumbnail") {
String albumId = call.arguments['albumId'];
2020-08-22 16:59:52 +08:00
dynamic thumbnail = Generator.generateMockAlbumThumbnail(albumId: albumId);
2020-08-14 18:07:27 +08:00
return thumbnail;
} else if (call.method == "getFile") {
String mediumId = call.arguments['mediumId'];
2021-03-30 22:30:21 +08:00
MediumType? mediumType = jsonToMediumType(call.arguments['mediumType']);
2020-08-14 18:07:27 +08:00
dynamic path =
Generator.generateFilePath(mediumId: mediumId, mediumType: mediumType);
return path;
}
throw UnimplementedError();
}