import 'dart:collection';
import 'dart:math';

import 'package:app_tracking_transparency/app_tracking_transparency.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:go_router/go_router.dart';
import 'package:hub/components/molecular_components/throw_exception/throw_exception_widget.dart';
import 'package:hub/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart';
import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart';
import 'package:hub/components/templates_components/forgot_password_template_component/forgot_password_template_component_widget.dart';
import 'package:hub/features/backend/api_requests/index.dart';
import 'package:hub/features/local/index.dart';
import 'package:hub/features/menu/index.dart';
import 'package:hub/features/module/data/index.dart';
import 'package:hub/features/module/domain/index.dart';
import 'package:hub/features/notification/index.dart';
import 'package:hub/features/storage/index.dart';
import 'package:hub/flutter_flow/index.dart' as ff;
import 'package:hub/flutter_flow/index.dart';
import 'package:hub/initialization.dart';
import 'package:hub/main.dart';
import 'package:hub/pages/forgot_password_page/forgot_password_screen.dart';
import 'package:material_symbols_icons/symbols.dart';
import 'package:flutter_web_plugins/url_strategy.dart';
import 'package:patrol/patrol.dart';

import 'app_test.dart';
import 'fuzzer/fuzzer.dart';

import 'package:patrol_finders/patrol_finders.dart';
import 'package:integration_test/integration_test.dart';
export 'package:flutter_test/flutter_test.dart';
export 'package:patrol/patrol.dart';

part 'auth_test.dart';
part 'common.dart';
part 'home_test.dart';
part 'locals_test.dart';
part 'menu_test.dart';
part 'module_test.dart';
part 'notify_test.dart';
part 'profile_test.dart';
part 'property_test.dart';
part 'setting_test.dart';
part 'storage_test.dart';
part 'utils_test.dart';
part 'welcome_test.dart';

late PatrolTester $;

void main() {
  //init integration test
  // IntegrationTestWidgetsFlutterBinding.ensureInitialized();

  // setUp(() async {});
  // tearDown(() async {});

  WelcomeTest.signInToSignUp();
  WelcomeTest.signUpToSignIn();

  AuthenticationTest.signIn();
  AuthenticationTest.signUp();
  AuthenticationTest.signOut();
  // AuthenticationTest.recovery();

  ModularizationTest.switchLicense();
  ModularizationTest.containLicense();

  MenuTest.navToEntries();
  MenuTest.containEntries();
  MenuTest.labels2AppbarConsistency();

  LocalsTest.setLocal();
  LocalsTest.unlinkLocal();
  LocalsTest.attachLocal();
}
