import_files_test.dart 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import 'dart:io';
  2. import 'package:flutter/services.dart';
  3. import 'package:flutter_test/flutter_test.dart';
  4. import 'package:integration_test/integration_test.dart';
  5. import 'util/mock/mock_file_picker.dart';
  6. import 'util/util.dart';
  7. import 'package:path/path.dart' as p;
  8. void main() {
  9. IntegrationTestWidgetsFlutterBinding.ensureInitialized();
  10. group('import files', () {
  11. testWidgets('import multiple markdown files', (tester) async {
  12. final context = await tester.initializeAppFlowy();
  13. await tester.tapGoButton();
  14. // expect to see a readme page
  15. tester.expectToSeePageName(readme);
  16. await tester.tapAddButton();
  17. await tester.tapImportButton();
  18. final testFileNames = ['test1.md', 'test2.md'];
  19. final paths = <String>[];
  20. for (final fileName in testFileNames) {
  21. final str = await rootBundle.loadString(
  22. 'assets/test/workspaces/markdowns/$fileName',
  23. );
  24. final path = p.join(context.applicationDataDirectory, fileName);
  25. paths.add(path);
  26. File(path).writeAsStringSync(str);
  27. }
  28. // mock get files
  29. await mockPickFilePaths(
  30. paths: testFileNames
  31. .map((e) => p.join(context.applicationDataDirectory, e))
  32. .toList(),
  33. );
  34. await tester.tapTextAndMarkdownButton();
  35. tester.expectToSeePageName('test1');
  36. tester.expectToSeePageName('test2');
  37. });
  38. });
  39. }