mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-07-08 17:47:11 +00:00

* 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');
|
|
});
|
|
});
|
|
}
|