| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 | 
							- import 'package:appflowy/startup/launch_configuration.dart';
 
- import 'package:appflowy/startup/startup.dart';
 
- import 'package:appflowy/user/application/auth_service.dart';
 
- import 'package:appflowy/user/application/user_service.dart';
 
- import 'package:appflowy/workspace/application/workspace/workspace_service.dart';
 
- import 'package:easy_localization/easy_localization.dart';
 
- import 'package:flowy_infra/uuid.dart';
 
- import 'package:appflowy_backend/protobuf/flowy-folder/app.pb.dart';
 
- import 'package:appflowy_backend/protobuf/flowy-folder/workspace.pb.dart';
 
- import 'package:appflowy_backend/protobuf/flowy-user/protobuf.dart';
 
- import 'package:flutter/material.dart';
 
- import 'package:flutter/services.dart';
 
- import 'package:flutter_test/flutter_test.dart';
 
- import 'package:integration_test/integration_test.dart';
 
- import 'package:appflowy/main.dart';
 
- import 'package:shared_preferences/shared_preferences.dart';
 
- class AppFlowyIntegrateTest {
 
-   static Future<AppFlowyIntegrateTest> ensureInitialized() async {
 
-     IntegrationTestWidgetsFlutterBinding.ensureInitialized();
 
-     SharedPreferences.setMockInitialValues({});
 
-     main();
 
-     return AppFlowyIntegrateTest();
 
-   }
 
- }
 
- class AppFlowyUnitTest {
 
-   late UserProfilePB userProfile;
 
-   late UserBackendService userService;
 
-   late WorkspaceService workspaceService;
 
-   late List<WorkspacePB> workspaces;
 
-   static Future<AppFlowyUnitTest> ensureInitialized() async {
 
-     TestWidgetsFlutterBinding.ensureInitialized();
 
-     SharedPreferences.setMockInitialValues({});
 
-     _pathProviderInitialized();
 
-     await EasyLocalization.ensureInitialized();
 
-     await FlowyRunner.run(FlowyTestApp());
 
-     final test = AppFlowyUnitTest();
 
-     await test._signIn();
 
-     await test._loadWorkspace();
 
-     await test._initialServices();
 
-     return test;
 
-   }
 
-   Future<void> _signIn() async {
 
-     final authService = getIt<AuthService>();
 
-     const password = "AppFlowy123@";
 
-     final uid = uuid();
 
-     final userEmail = "[email protected]";
 
-     final result = await authService.signUp(
 
-       name: "TestUser",
 
-       password: password,
 
-       email: userEmail,
 
-     );
 
-     return result.fold(
 
-       (user) {
 
-         userProfile = user;
 
-         userService = UserBackendService(userId: userProfile.id);
 
-       },
 
-       (error) {},
 
-     );
 
-   }
 
-   WorkspacePB get currentWorkspace => workspaces[0];
 
-   Future<void> _loadWorkspace() async {
 
-     final result = await userService.getWorkspaces();
 
-     result.fold(
 
-       (value) => workspaces = value,
 
-       (error) {
 
-         throw Exception(error);
 
-       },
 
-     );
 
-   }
 
-   Future<void> _initialServices() async {
 
-     workspaceService = WorkspaceService(workspaceId: currentWorkspace.id);
 
-   }
 
-   Future<AppPB> createTestApp() async {
 
-     final result = await workspaceService.createApp(name: "Test App");
 
-     return result.fold(
 
-       (app) => app,
 
-       (error) => throw Exception(error),
 
-     );
 
-   }
 
-   Future<List<AppPB>> loadApps() async {
 
-     final result = await workspaceService.getApps();
 
-     return result.fold(
 
-       (apps) => apps,
 
-       (error) => throw Exception(error),
 
-     );
 
-   }
 
- }
 
- void _pathProviderInitialized() {
 
-   const MethodChannel channel =
 
-       MethodChannel('plugins.flutter.io/path_provider');
 
-   channel.setMockMethodCallHandler((MethodCall methodCall) async {
 
-     return ".";
 
-   });
 
- }
 
- class FlowyTestApp implements EntryPoint {
 
-   @override
 
-   Widget create(LaunchConfiguration config) {
 
-     return Container();
 
-   }
 
- }
 
- Future<void> blocResponseFuture({int millisecond = 200}) {
 
-   return Future.delayed(Duration(milliseconds: millisecond));
 
- }
 
- Duration blocResponseDuration({int milliseconds = 200}) {
 
-   return Duration(milliseconds: milliseconds);
 
- }
 
 
  |