mirror of
				https://github.com/AppFlowy-IO/AppFlowy.git
				synced 2025-10-31 01:54:37 +00:00 
			
		
		
		
	 f3aaff77b9
			
		
	
	
		f3aaff77b9
		
			
		
	
	
	
	
		
			
			* chore: default field settings if not exist * chore: field settings listeners and services * chore: don't need to updateFieldInfos * feat: per-view field visibilty UI * fix: remove unresolved imports
		
			
				
	
	
		
			56 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:appflowy/plugins/database_view/grid/presentation/grid_page.dart';
 | |
| import 'package:appflowy/plugins/database_view/tar_bar/tar_bar_add_button.dart';
 | |
| import 'package:appflowy_backend/protobuf/flowy-folder2/view.pbenum.dart';
 | |
| import 'package:flutter_test/flutter_test.dart';
 | |
| import 'package:integration_test/integration_test.dart';
 | |
| 
 | |
| import 'util/database_test_op.dart';
 | |
| import 'util/util.dart';
 | |
| 
 | |
| void main() {
 | |
|   IntegrationTestWidgetsFlutterBinding.ensureInitialized();
 | |
| 
 | |
|   group('database field settings', () {
 | |
|     testWidgets('field visibility', (tester) async {
 | |
|       await tester.initializeAppFlowy();
 | |
|       await tester.tapGoButton();
 | |
| 
 | |
|       await tester.createNewPageWithName(layout: ViewLayoutPB.Grid);
 | |
|       await tester.tapCreateLinkedDatabaseViewButton(AddButtonAction.grid);
 | |
| 
 | |
|       // create a field
 | |
|       await tester.scrollToRight(find.byType(GridPage));
 | |
|       await tester.tapNewPropertyButton();
 | |
|       await tester.renameField('New field 1');
 | |
|       await tester.dismissFieldEditor();
 | |
| 
 | |
|       // hide the field
 | |
|       await tester.tapGridFieldWithName('New field 1');
 | |
|       await tester.tapHidePropertyButton();
 | |
|       await tester.noFieldWithName('New field 1');
 | |
| 
 | |
|       // go back to inline database view, expect field to be shown
 | |
|       await tester.tapTabBarLinkedViewByViewName('Untitled');
 | |
|       await tester.findFieldWithName('New field 1');
 | |
| 
 | |
|       // go back to linked database view, expect field to be hidden
 | |
|       await tester.tapTabBarLinkedViewByViewName('grid');
 | |
|       await tester.noFieldWithName('New field 1');
 | |
| 
 | |
|       // use the settings button to show the field
 | |
|       await tester.tapDatabaseSettingButton();
 | |
|       await tester.tapViewPropertiesButton();
 | |
|       await tester.tapViewTogglePropertyVisibilityButtonByName('New field 1');
 | |
|       await tester.dismissFieldEditor();
 | |
|       await tester.findFieldWithName('New field 1');
 | |
| 
 | |
|       // open first row in popup then hide the field
 | |
|       await tester.openFirstRowDetailPage();
 | |
|       await tester.tapGridFieldWithNameInRowDetailPage('New field 1');
 | |
|       await tester.tapHidePropertyButtonInFieldEditor();
 | |
|       await tester.dismissRowDetailPage();
 | |
|       await tester.noFieldWithName('New field 1');
 | |
|     });
 | |
|   });
 | |
| }
 |