12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- import 'package:appflowy/startup/startup.dart';
- import 'package:flowy_infra/file_picker/file_picker_service.dart';
- class MockFilePicker implements FilePickerService {
- MockFilePicker({
- this.mockPath = '',
- this.mockPaths = const [],
- });
- final String mockPath;
- final List<String> mockPaths;
- @override
- Future<String?> getDirectoryPath({String? title}) {
- return Future.value(mockPath);
- }
- @override
- Future<String?> saveFile({
- String? dialogTitle,
- String? fileName,
- String? initialDirectory,
- FileType type = FileType.any,
- List<String>? allowedExtensions,
- bool lockParentWindow = false,
- }) {
- return Future.value(mockPath);
- }
- @override
- Future<FilePickerResult?> pickFiles({
- String? dialogTitle,
- String? initialDirectory,
- FileType type = FileType.any,
- List<String>? allowedExtensions,
- Function(FilePickerStatus p1)? onFileLoading,
- bool allowCompression = true,
- bool allowMultiple = false,
- bool withData = false,
- bool withReadStream = false,
- bool lockParentWindow = false,
- }) {
- final platformFiles =
- mockPaths.map((e) => PlatformFile(path: e, name: '', size: 0)).toList();
- return Future.value(
- FilePickerResult(
- platformFiles,
- ),
- );
- }
- }
- Future<void> mockGetDirectoryPath(
- String path,
- ) async {
- getIt.unregister<FilePickerService>();
- getIt.registerFactory<FilePickerService>(
- () => MockFilePicker(
- mockPath: path,
- ),
- );
- return;
- }
- Future<String> mockSaveFilePath(
- String path,
- ) async {
- getIt.unregister<FilePickerService>();
- getIt.registerFactory<FilePickerService>(
- () => MockFilePicker(
- mockPath: path,
- ),
- );
- return path;
- }
- Future<List<String>> mockPickFilePaths({
- required List<String> paths,
- }) async {
- // late final Directory dir;
- // if (customPath != null) {
- // dir = Directory(customPath);
- // } else {
- // dir = await TestFolder.testLocation(applicationDataPath, name);
- // }
- // final paths = fileNames.map((e) => p.join(dir.path, e)).toList();
- getIt.unregister<FilePickerService>();
- getIt.registerFactory<FilePickerService>(
- () => MockFilePicker(
- mockPaths: paths,
- ),
- );
- return paths;
- }
|