| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | import 'package:appflowy/generated/locale_keys.g.dart';import 'package:appflowy/plugins/document/presentation/banner.dart';import 'package:appflowy/workspace/presentation/home/home_stack.dart';import 'package:appflowy/workspace/presentation/home/menu/app/section/item.dart';import 'package:easy_localization/easy_localization.dart';import 'package:flowy_infra_ui/flowy_infra_ui.dart';import 'package:flutter_test/flutter_test.dart';const String readme = 'Read me';extension Expectation on WidgetTester {  /// Expect to see the home page and with a default read me page.  void expectToSeeHomePage() {    expect(find.byType(HomeStack), findsOneWidget);    expect(find.textContaining(readme), findsOneWidget);  }  /// Expect to see the page name on the home page.  void expectToSeePageName(String name) {    final pageName = findPageName(name);    expect(pageName, findsOneWidget);  }  /// Expect not to see the page name on the home page.  void expectNotToSeePageName(String name) {    final pageName = findPageName(name);    expect(pageName, findsNothing);  }  /// Expect to see the document banner.  void expectToSeeDocumentBanner() {    expect(find.byType(DocumentBanner), findsOneWidget);  }  /// Expect not to see the document banner.  void expectNotToSeeDocumentBanner() {    expect(find.byType(DocumentBanner), findsNothing);  }  /// Expect to the markdown file export success dialog.  void expectToExportSuccess() {    final exportSuccess = find.byWidgetPredicate(      (widget) =>          widget is FlowyText &&          widget.title == LocaleKeys.settings_files_exportFileSuccess.tr(),    );    expect(exportSuccess, findsOneWidget);  }  /// Expect to see the add button and icon button inside the document.  void expectToSeePluginAddCoverAndIconButton() {    final addCover = find.textContaining(      LocaleKeys.document_plugins_cover_addCover.tr(),    );    final addIcon = find.textContaining(      LocaleKeys.document_plugins_cover_addIcon.tr(),    );    expect(addCover, findsOneWidget);    expect(addIcon, findsOneWidget);  }  /// Expect to see the user name on the home page  void expectToSeeUserName(String name) {    final userName = find.byWidgetPredicate(      (widget) => widget is FlowyText && widget.title == name,    );    expect(userName, findsOneWidget);  }  /// Expect to see a text  void expectToSeeText(String text) {    Finder textWidget = find.textContaining(text, findRichText: true);    if (textWidget.evaluate().isEmpty) {      textWidget = find.byWidgetPredicate(        (widget) => widget is FlowyText && widget.title == text,      );    }    expect(textWidget, findsOneWidget);  }  /// Find the page name on the home page.  Finder findPageName(String name) {    return find.byWidgetPredicate(      (widget) => widget is ViewSectionItem && widget.view.name == name,    );  }}
 |