settings.dart 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import 'package:appflowy/generated/locale_keys.g.dart';
  2. import 'package:appflowy/workspace/presentation/settings/settings_dialog.dart';
  3. import 'package:appflowy/workspace/presentation/settings/widgets/settings_user_view.dart';
  4. import 'package:easy_localization/easy_localization.dart';
  5. import 'package:flutter_test/flutter_test.dart';
  6. import 'base.dart';
  7. enum SettingsPage {
  8. appearance,
  9. language,
  10. files,
  11. user,
  12. }
  13. extension on SettingsPage {
  14. String get name {
  15. switch (this) {
  16. case SettingsPage.appearance:
  17. return LocaleKeys.settings_menu_appearance.tr();
  18. case SettingsPage.language:
  19. return LocaleKeys.settings_menu_language.tr();
  20. case SettingsPage.files:
  21. return LocaleKeys.settings_menu_files.tr();
  22. case SettingsPage.user:
  23. return LocaleKeys.settings_menu_user.tr();
  24. }
  25. }
  26. }
  27. extension AppFlowySettings on WidgetTester {
  28. /// Open settings page
  29. Future<void> openSettings() async {
  30. final settingsButton = find.byTooltip(LocaleKeys.settings_menu_open.tr());
  31. expect(settingsButton, findsOneWidget);
  32. await tapButton(settingsButton);
  33. final settingsDialog = find.byType(SettingsDialog);
  34. expect(settingsDialog, findsOneWidget);
  35. return;
  36. }
  37. /// Open the page that insides the settings page
  38. Future<void> openSettingsPage(SettingsPage page) async {
  39. final button = find.text(page.name, findRichText: true);
  40. expect(button, findsOneWidget);
  41. await tapButton(button);
  42. return;
  43. }
  44. /// Restore the AppFlowy data storage location
  45. Future<void> restoreLocation() async {
  46. final button =
  47. find.byTooltip(LocaleKeys.settings_files_restoreLocation.tr());
  48. expect(button, findsOneWidget);
  49. await tapButton(button);
  50. return;
  51. }
  52. Future<void> tapOpenFolderButton() async {
  53. final button = find.text(LocaleKeys.settings_files_open.tr());
  54. expect(button, findsOneWidget);
  55. await tapButton(button);
  56. return;
  57. }
  58. Future<void> tapCustomLocationButton() async {
  59. final button =
  60. find.byTooltip(LocaleKeys.settings_files_customizeLocation.tr());
  61. expect(button, findsOneWidget);
  62. await tapButton(button);
  63. return;
  64. }
  65. /// Enter user name
  66. Future<void> enterUserName(String name) async {
  67. final uni = find.byType(UserNameInput);
  68. expect(uni, findsOneWidget);
  69. await tap(uni);
  70. await enterText(uni, name);
  71. await wait(300); //
  72. await testTextInput.receiveAction(TextInputAction.done);
  73. await pumpAndSettle();
  74. }
  75. }