mirror of
				https://github.com/AppFlowy-IO/AppFlowy.git
				synced 2025-10-31 18:15:09 +00:00 
			
		
		
		
	
		
			
	
	
		
			91 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
		
		
			
		
	
	
			91 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
|   | import 'package:appflowy/generated/locale_keys.g.dart'; | ||
|  | import 'package:appflowy_editor/appflowy_editor.dart'; | ||
|  | import 'package:easy_localization/easy_localization.dart'; | ||
|  | import 'package:flutter_test/flutter_test.dart'; | ||
|  | import 'package:integration_test/integration_test.dart'; | ||
|  | 
 | ||
|  | import 'util/util.dart'; | ||
|  | 
 | ||
|  | void main() { | ||
|  |   IntegrationTestWidgetsFlutterBinding.ensureInitialized(); | ||
|  | 
 | ||
|  |   group('document', () { | ||
|  |     const location = 'appflowy'; | ||
|  | 
 | ||
|  |     setUp(() async { | ||
|  |       await TestFolder.cleanTestLocation(location); | ||
|  |       await TestFolder.setTestLocation(location); | ||
|  |     }); | ||
|  | 
 | ||
|  |     tearDown(() async { | ||
|  |       await TestFolder.cleanTestLocation(location); | ||
|  |     }); | ||
|  | 
 | ||
|  |     tearDownAll(() async { | ||
|  |       await TestFolder.cleanTestLocation(null); | ||
|  |     }); | ||
|  | 
 | ||
|  |     testWidgets('create a new document when launching app in first time', | ||
|  |         (tester) async { | ||
|  |       await tester.initializeAppFlowy(); | ||
|  | 
 | ||
|  |       await tester.tapGoButton(); | ||
|  | 
 | ||
|  |       // create a new document
 | ||
|  |       await tester.tapAddButton(); | ||
|  |       await tester.tapCreateDocumentButton(); | ||
|  |       await tester.pumpAndSettle(); | ||
|  | 
 | ||
|  |       // expect to see a new document
 | ||
|  |       tester.expectToSeePageName( | ||
|  |         LocaleKeys.menuAppHeader_defaultNewPageName.tr(), | ||
|  |       ); | ||
|  |       // and with one paragraph block
 | ||
|  |       expect(find.byType(TextBlockComponentWidget), findsOneWidget); | ||
|  |     }); | ||
|  | 
 | ||
|  |     testWidgets('delete the readme page and restore it', (tester) async { | ||
|  |       await tester.initializeAppFlowy(); | ||
|  | 
 | ||
|  |       await tester.tapGoButton(); | ||
|  | 
 | ||
|  |       // delete the readme page
 | ||
|  |       await tester.hoverOnPageName(readme); | ||
|  |       await tester.tapDeletePageButton(); | ||
|  | 
 | ||
|  |       // the banner should show up and the readme page should be gone
 | ||
|  |       tester.expectToSeeDocumentBanner(); | ||
|  |       tester.expectNotToSeePageName(readme); | ||
|  | 
 | ||
|  |       // restore the readme page
 | ||
|  |       await tester.tapRestoreButton(); | ||
|  | 
 | ||
|  |       // the banner should be gone and the readme page should be back
 | ||
|  |       tester.expectNotToSeeDocumentBanner(); | ||
|  |       tester.expectToSeePageName(readme); | ||
|  |     }); | ||
|  | 
 | ||
|  |     testWidgets('delete the readme page and delete it permanently', | ||
|  |         (tester) async { | ||
|  |       await tester.initializeAppFlowy(); | ||
|  | 
 | ||
|  |       await tester.tapGoButton(); | ||
|  | 
 | ||
|  |       // delete the readme page
 | ||
|  |       await tester.hoverOnPageName(readme); | ||
|  |       await tester.tapDeletePageButton(); | ||
|  | 
 | ||
|  |       // the banner should show up and the readme page should be gone
 | ||
|  |       tester.expectToSeeDocumentBanner(); | ||
|  |       tester.expectNotToSeePageName(readme); | ||
|  | 
 | ||
|  |       // delete the page permanently
 | ||
|  |       await tester.tapDeletePermanentlyButton(); | ||
|  | 
 | ||
|  |       // the banner should be gone and the readme page should be gone
 | ||
|  |       tester.expectNotToSeeDocumentBanner(); | ||
|  |       tester.expectNotToSeePageName(readme); | ||
|  |     }); | ||
|  |   }); | ||
|  | } |