123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- import 'package:appflowy/generated/locale_keys.g.dart';
- import 'package:appflowy/workspace/application/settings/appearance/appearance_cubit.dart';
- import 'package:appflowy/workspace/application/settings/prelude.dart';
- import 'package:appflowy/workspace/presentation/settings/settings_dialog.dart';
- import 'package:appflowy/workspace/presentation/settings/widgets/settings_menu_element.dart';
- import 'package:appflowy/workspace/presentation/settings/widgets/settings_user_view.dart';
- import 'package:easy_localization/easy_localization.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_test/flutter_test.dart';
- import 'base.dart';
- extension AppFlowySettings on WidgetTester {
- /// Open settings page
- Future<void> openSettings() async {
- final settingsButton = find.byTooltip(LocaleKeys.settings_menu_open.tr());
- expect(settingsButton, findsOneWidget);
- await tapButton(settingsButton);
- final settingsDialog = find.byType(SettingsDialog);
- expect(settingsDialog, findsOneWidget);
- return;
- }
- /// Open the page that insides the settings page
- Future<void> openSettingsPage(SettingsPage page) async {
- final button = find.byWidgetPredicate(
- (widget) => widget is SettingsMenuElement && widget.page == page,
- );
- expect(button, findsOneWidget);
- await tapButton(button);
- return;
- }
- Future<void> expectNoSettingsPage(SettingsPage page) async {
- final button = find.byWidgetPredicate(
- (widget) => widget is SettingsMenuElement && widget.page == page,
- );
- expect(button, findsNothing);
- return;
- }
- /// Restore the AppFlowy data storage location
- Future<void> restoreLocation() async {
- final button =
- find.byTooltip(LocaleKeys.settings_files_recoverLocationTooltips.tr());
- expect(button, findsOneWidget);
- await tapButton(button);
- return;
- }
- Future<void> tapOpenFolderButton() async {
- final button = find.text(LocaleKeys.settings_files_open.tr());
- expect(button, findsOneWidget);
- await tapButton(button);
- return;
- }
- Future<void> tapCustomLocationButton() async {
- final button = find.byTooltip(
- LocaleKeys.settings_files_changeLocationTooltips.tr(),
- );
- expect(button, findsOneWidget);
- await tapButton(button);
- return;
- }
- /// Enter user name
- Future<void> enterUserName(String name) async {
- final uni = find.byType(UserNameInput);
- expect(uni, findsOneWidget);
- await tap(uni);
- await enterText(uni, name);
- await wait(300); //
- await testTextInput.receiveAction(TextInputAction.done);
- await pumpAndSettle();
- }
- // go to settings page and switch the layout direction
- Future<void> switchLayoutDirectionMode(
- LayoutDirection layoutDirection,
- ) async {
- await openSettings();
- await openSettingsPage(SettingsPage.appearance);
- final button = find.byKey(const ValueKey('layout_direction_option_button'));
- expect(button, findsOneWidget);
- await tapButton(button);
- switch (layoutDirection) {
- case LayoutDirection.ltrLayout:
- final ltrButton = find.text(
- LocaleKeys.settings_appearance_layoutDirection_ltr.tr(),
- );
- await tapButton(ltrButton);
- break;
- case LayoutDirection.rtlLayout:
- final rtlButton = find.text(
- LocaleKeys.settings_appearance_layoutDirection_rtl.tr(),
- );
- await tapButton(rtlButton);
- break;
- }
- // tap anywhere to close the settings page
- await tapAt(Offset.zero);
- await pumpAndSettle();
- }
- }
|