Simplify mock code

This commit is contained in:
Ming Ming 2021-08-17 21:38:21 +08:00
parent d9c7aec92e
commit 788a47b1a4
2 changed files with 60 additions and 49 deletions

View file

@ -1,13 +1,12 @@
import 'dart:typed_data';
import 'package:bloc_test/bloc_test.dart'; import 'package:bloc_test/bloc_test.dart';
import 'package:nc_photos/account.dart'; import 'package:nc_photos/account.dart';
import 'package:nc_photos/bloc/ls_dir.dart'; import 'package:nc_photos/bloc/ls_dir.dart';
import 'package:nc_photos/entity/file.dart'; import 'package:nc_photos/entity/file.dart';
import 'package:nc_photos/or_null.dart';
import 'package:path/path.dart' as path; import 'package:path/path.dart' as path;
import 'package:test/test.dart'; import 'package:test/test.dart';
import '../mock_type.dart';
void main() { void main() {
final _buildBloc = () => LsDirBloc(fileRepo: _MockFileRepo()); final _buildBloc = () => LsDirBloc(fileRepo: _MockFileRepo());
final _buildAccount = final _buildAccount =
@ -130,29 +129,9 @@ void main() {
}); });
} }
class _MockFileRepo implements FileRepo { class _MockFileRepo extends MockFileRepo {
@override @override
Future<void> copy(Object account, File f, String destination, list(Account account, File root) async {
{bool? shouldOverwrite}) {
throw UnimplementedError();
}
@override
Future<void> createDir(Account account, String path) {
throw UnimplementedError();
}
@override
FileDataSource get dataSrc => throw UnimplementedError();
@override
Future<Uint8List> getBinary(Account account, File file) {
throw UnimplementedError();
}
@override
Future<List<File>> list(Account account, File root) async {
await Future.delayed(const Duration(seconds: 1));
return [ return [
File( File(
path: "remote.php/dav/files/admin/test1.jpg", path: "remote.php/dav/files/admin/test1.jpg",
@ -178,28 +157,4 @@ class _MockFileRepo implements FileRepo {
), ),
].where((element) => path.dirname(element.path) == root.path).toList(); ].where((element) => path.dirname(element.path) == root.path).toList();
} }
@override
Future<void> move(Account account, File f, String destination,
{bool? shouldOverwrite}) {
throw UnimplementedError();
}
@override
Future<void> putBinary(Account account, String path, Uint8List content) {
throw UnimplementedError();
}
@override
Future<void> remove(Account account, File file) {
throw UnimplementedError();
}
@override
Future<void> updateProperty(Account account, File file,
{OrNull<Metadata>? metadata,
OrNull<bool>? isArchived,
OrNull<DateTime>? overrideDateTime}) {
throw UnimplementedError();
}
} }

56
test/mock_type.dart Normal file
View file

@ -0,0 +1,56 @@
import 'dart:typed_data';
import 'package:nc_photos/account.dart';
import 'package:nc_photos/entity/file.dart';
import 'package:nc_photos/or_null.dart';
/// Mock of [FileRepo] where all methods will throw UnimplementedError
class MockFileRepo implements FileRepo {
@override
Future<void> copy(Object account, File f, String destination,
{bool? shouldOverwrite}) {
throw UnimplementedError();
}
@override
Future<void> createDir(Account account, String path) {
throw UnimplementedError();
}
@override
FileDataSource get dataSrc => throw UnimplementedError();
@override
Future<Uint8List> getBinary(Account account, File file) {
throw UnimplementedError();
}
@override
Future<List<File>> list(Account account, File root) async {
throw UnimplementedError();
}
@override
Future<void> move(Account account, File f, String destination,
{bool? shouldOverwrite}) {
throw UnimplementedError();
}
@override
Future<void> putBinary(Account account, String path, Uint8List content) {
throw UnimplementedError();
}
@override
Future<void> remove(Account account, File file) {
throw UnimplementedError();
}
@override
Future<void> updateProperty(Account account, File file,
{OrNull<Metadata>? metadata,
OrNull<bool>? isArchived,
OrNull<DateTime>? overrideDateTime}) {
throw UnimplementedError();
}
}