photo_gallery/test/photo_gallery_test.dart

92 lines
2.8 KiB
Dart
Raw Normal View History

2020-08-14 18:07:27 +08:00
import 'dart:io';
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:photo_gallery/photo_gallery.dart';
import 'utils/generator.dart';
import 'utils/mock_handler.dart';
void main() {
const MethodChannel channel = MethodChannel('photo_gallery');
TestWidgetsFlutterBinding.ensureInitialized();
setUp(() {
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
channel,
mockMethodCallHandler,
);
2020-08-14 18:07:27 +08:00
});
tearDown(() {
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
channel,
null,
);
2020-08-14 18:07:27 +08:00
});
test('list albums', () async {
MediumType mediumType = MediumType.image;
2023-05-15 01:41:02 +08:00
bool newest = true;
2020-08-14 18:07:27 +08:00
var result = await PhotoGallery.listAlbums(mediumType: mediumType);
2023-05-15 01:41:02 +08:00
var expected = Generator.generateAlbums(mediumType: mediumType, newest: newest);
2020-08-14 18:07:27 +08:00
expect(result, expected);
});
test('list media', () async {
MediumType mediumType = MediumType.image;
int skip = 0;
int take = 1;
2020-08-22 16:59:52 +08:00
List<Album> albums = await PhotoGallery.listAlbums(mediumType: mediumType);
Album allAlbum = albums.firstWhere((element) => element.isAllAlbum);
MediaPage result = await allAlbum.listMedia(skip: skip, take: take);
2020-08-14 18:07:27 +08:00
MediaPage expected = Generator.generateMediaPage(
2020-08-22 16:59:52 +08:00
album: allAlbum,
2020-08-14 18:07:27 +08:00
mediumType: mediumType,
skip: skip,
take: take,
);
expect(result, expected);
});
test('get medium', () async {
String mediumId = 0.toString();
MediumType mediumType = MediumType.image;
Medium result = await PhotoGallery.getMedium(
mediumId: mediumId,
mediumType: mediumType,
);
Medium expected =
Generator.generateMedia(mediumId: mediumId, mediumType: mediumType);
expect(result, expected);
});
test('get thumbnail', () async {
String mediumId = 0.toString();
MediumType mediumType = MediumType.image;
List result = await PhotoGallery.getThumbnail(
mediumId: mediumId, mediumType: mediumType);
List expected = Generator.generateMockThumbnail(
mediumId: mediumId, mediumType: mediumType);
expect(result, expected);
});
2020-08-22 16:59:52 +08:00
test('get album thumbnail', () async {
String albumId = "__ALL__";
List? result = await PhotoGallery.getAlbumThumbnail(albumId: albumId);
2020-08-22 16:59:52 +08:00
List expected = Generator.generateMockAlbumThumbnail(albumId: albumId);
2020-08-14 18:07:27 +08:00
expect(result, expected);
});
test('get file', () async {
String mediumId = 0.toString();
MediumType mediumType = MediumType.image;
File result =
await PhotoGallery.getFile(mediumId: mediumId, mediumType: mediumType);
File expected =
Generator.generateFile(mediumId: mediumId, mediumType: mediumType);
expect(result.path, expected.path);
});
}