update test cases

This commit is contained in:
Wenqi Li 2023-05-15 01:41:02 +08:00
parent a68059733d
commit e708c0a964
3 changed files with 13 additions and 15 deletions

View File

@ -22,14 +22,14 @@ void main() {
test('list albums', () async { test('list albums', () async {
MediumType mediumType = MediumType.image; MediumType mediumType = MediumType.image;
bool newest = true;
var result = await PhotoGallery.listAlbums(mediumType: mediumType); var result = await PhotoGallery.listAlbums(mediumType: mediumType);
var expected = Generator.generateAlbums(mediumType: mediumType); var expected = Generator.generateAlbums(mediumType: mediumType, newest: newest);
expect(result, expected); expect(result, expected);
}); });
test('list media', () async { test('list media', () async {
MediumType mediumType = MediumType.image; MediumType mediumType = MediumType.image;
bool newest = true;
int skip = 0; int skip = 0;
int take = 1; int take = 1;
List<Album> albums = await PhotoGallery.listAlbums(mediumType: mediumType); List<Album> albums = await PhotoGallery.listAlbums(mediumType: mediumType);
@ -38,7 +38,6 @@ void main() {
MediaPage expected = Generator.generateMediaPage( MediaPage expected = Generator.generateMediaPage(
album: allAlbum, album: allAlbum,
mediumType: mediumType, mediumType: mediumType,
newest: newest,
skip: skip, skip: skip,
take: take, take: take,
); );

View File

@ -3,34 +3,37 @@ import 'dart:io';
import 'package:photo_gallery/photo_gallery.dart'; import 'package:photo_gallery/photo_gallery.dart';
class Generator { class Generator {
static dynamic generateAlbumsJson( static dynamic generateAlbumsJson({
{MediumType? mediumType = MediumType.image}) { MediumType? mediumType = MediumType.image,
bool? newest = true,
}) {
return [ return [
{ {
"id": "__ALL__", "id": "__ALL__",
"mediumType": mediumTypeToJson(mediumType), "mediumType": mediumTypeToJson(mediumType),
"newest": newest,
"name": "All", "name": "All",
"count": 5, "count": 5,
}, },
{ {
"id": "AlbumId", "id": "AlbumId",
"mediumType": mediumTypeToJson(mediumType), "mediumType": mediumTypeToJson(mediumType),
"newest": newest,
"name": "AlbumName", "name": "AlbumName",
"count": 5, "count": 5,
} }
]; ];
} }
static List<Album> generateAlbums({MediumType? mediumType}) { static List<Album> generateAlbums({MediumType? mediumType, bool newest = true}) {
return Generator.generateAlbumsJson(mediumType: mediumType) return Generator.generateAlbumsJson(mediumType: mediumType, newest: newest)
.map<Album>((x) => Album.fromJson(x)) .map<Album>((x) => Album.fromJson(x, mediumType, newest))
.toList(); .toList();
} }
static dynamic generateMediaPageJson({ static dynamic generateMediaPageJson({
required String albumId, required String albumId,
MediumType? mediumType, MediumType? mediumType,
bool newest = true,
int? skip, int? skip,
int? take, int? take,
}) { }) {
@ -44,7 +47,6 @@ class Generator {
} }
return { return {
"newest": newest,
"start": skip, "start": skip,
"items": items, "items": items,
}; };
@ -69,14 +71,12 @@ class Generator {
static MediaPage generateMediaPage({ static MediaPage generateMediaPage({
required Album album, required Album album,
MediumType? mediumType, MediumType? mediumType,
bool newest = true,
int? skip, int? skip,
int? take, int? take,
}) { }) {
dynamic json = generateMediaPageJson( dynamic json = generateMediaPageJson(
albumId: album.id, albumId: album.id,
mediumType: mediumType, mediumType: mediumType,
newest: newest,
skip: skip, skip: skip,
take: take ?? album.count, take: take ?? album.count,
); );

View File

@ -7,18 +7,17 @@ import 'generator.dart';
Future<dynamic> mockMethodCallHandler(MethodCall call) async { Future<dynamic> mockMethodCallHandler(MethodCall call) async {
if (call.method == "listAlbums") { if (call.method == "listAlbums") {
MediumType? mediumType = jsonToMediumType(call.arguments['mediumType']); MediumType? mediumType = jsonToMediumType(call.arguments['mediumType']);
dynamic albums = Generator.generateAlbumsJson(mediumType: mediumType); bool newest = call.arguments['newest'];
dynamic albums = Generator.generateAlbumsJson(mediumType: mediumType, newest: newest);
return albums; return albums;
} else if (call.method == "listMedia") { } else if (call.method == "listMedia") {
String albumId = call.arguments['albumId']; String albumId = call.arguments['albumId'];
MediumType? mediumType = jsonToMediumType(call.arguments['mediumType']); MediumType? mediumType = jsonToMediumType(call.arguments['mediumType']);
bool newest = call.arguments['newest'];
int? skip = call.arguments['skip']; int? skip = call.arguments['skip'];
int? take = call.arguments['take']; int? take = call.arguments['take'];
dynamic mediaPage = Generator.generateMediaPageJson( dynamic mediaPage = Generator.generateMediaPageJson(
albumId: albumId, albumId: albumId,
mediumType: mediumType, mediumType: mediumType,
newest: newest,
skip: skip, skip: skip,
take: take, take: take,
); );