// import 'package:flutter/material.dart'; // import 'package:flutter/services.dart'; // import 'package:flutter_test/flutter_test.dart'; // import 'package:hub/flutter_flow/random_data_util.dart'; // import 'package:hub/main.dart'; // import 'package:hub/shared/helpers/storage/base_storage.dart'; // import 'package:hub/shared/helpers/storage/storage_helper.dart'; // import 'package:integration_test/integration_test.dart'; // late WidgetTester widget; // void main() { // IntegrationTestWidgetsFlutterBinding.ensureInitialized(); // group('Initialization', () { // group('Navigation', () { // setUpAll(() async => // await initializeApp().then((_) async => await StorageHelper().s(SecureStorageKey.isLogged.value, 'false'))); // testWidgets('Test Welcome', (WidgetTester tester) async { // widget = tester; // await _testWelcome(); // }); // }); // group('Terms of Use', () {}); // }); // group('Authentication', () { // group('Sign in', () { // setUpAll(() async => // await initializeApp().then((_) async => await StorageHelper().s(SecureStorageKey.isLogged.value, 'false'))); // testWidgets('Test Sign In', (WidgetTester tester) async { // widget = tester; // await _testSignIn(); // }); // }); // group('Sign up', () { // setUpAll(() async => // await initializeApp().then((_) async => await StorageHelper().s(SecureStorageKey.isLogged.value, 'false'))); // testWidgets('Test Sign Up', (WidgetTester tester) async { // widget = tester; // await _testSignUp(); // }); // }); // group('Sign Out', () { // // Add tests for Sign Out here // }); // group('Forgot Password', () { // // setUpAll(() async => await initializeApp().then((_) => StorageUtil().isLogged = false)); // // testWidgets('Test Forgot Password', (WidgetTester tester) async { // // widget = tester; // // await _testForgotPassword(); // // }); // }); // }); // group('Localization', () { // // Add tests for Localization here // }); // group('Networking', () { // // Add tests for Networking here // }); // group('Functionality', () { // // Add tests for Functionality here // }); // group('Usability', () { // // Add tests for Usability here // }); // group('Performance', () { // // Add tests for Performance here // }); // group('Security', () { // // Add tests for Security here // }); // group('Accessibility', () { // // Add tests for Accessibility here // }); // group('Compatibility', () { // // Add tests for Compatibility here // }); // group('Internationalization', () { // // Add tests for Internationalization here // }); // } // Future _testWelcome() async { // await widget.pumpWidget(const App()); // await widget.pumpAndSettle(); // await _navigateToSignIn(); // await _navigateToSignUp(); // await widget.pumpAndSettle(); // await widget.pumpWidget(const App()); // await widget.pumpAndSettle(); // await _navigateToSignUp(); // await _navigateToSignIn(); // await widget.pumpAndSettle(); // } // Future _testSignIn() async { // await widget.pumpWidget(const App()); // await _navigateToSignIn(); // await _auth({'emailTextFormField': 'erro@exemplo.com', 'passwordTextFormField': '12345678'}); // await _auth({'emailTextFormField': 'email_app@exemplo.com', 'passwordTextFormField': '12345678'}); // } // Future _testSignUp() async { // await widget.pumpWidget(const App()); // await _navigateToSignUp(); // var credentials = { // 'nameTextFormField': 'app', // 'emailTextFormField': 'email_app@exemplo.com', // 'passwordTextFormField': '12345678' // }; // await _auth(credentials); // var name = randomString(7, 7, true, true, true); // var email = '$name@example.com'; // var password = '12345678'; // credentials = {'nameTextFormField': name, 'emailTextFormField': email, 'passwordTextFormField': password}; // await _navigateToSignUp(); // await _auth(credentials); // credentials = {'emailTextFormField': email, 'passwordTextFormField': password}; // await _auth(credentials); // } // Future _testForgotPassword() async { // await widget.pumpWidget(const App()); // await _navigateToSignIn(); // await _recoveryPassword(); // var addr = randomString(5, 5, true, true, true); // var credentials = {'recoveryTextFormField': '$addr@exemple.com'}; // await _send(credentials); // await Future.delayed(const Duration(seconds: 2)); // await _recoveryPassword(); // credentials = {'recoveryTextFormField': 'email_app@exemple.com'}; // await _send(credentials); // } // Future _recoveryPassword() async { // await widget.pumpAndSettle(); // final Finder forgotPassword = find.byKey(const ValueKey('ForgotPassword')); // if (forgotPassword.evaluate().isNotEmpty) await widget.tap(forgotPassword); // await widget.ensureVisible(forgotPassword); // await widget.pumpAndSettle(); // } // Future _navigateBackUsingSystemGesture() async => // IntegrationTestWidgetsFlutterBinding.instance.keyboard.isLogicalKeyPressed(LogicalKeyboardKey.escape); // Future _navigateToSignUp() async { // await widget.pumpAndSettle(); // final Finder navToSignUp = find.byKey(const ValueKey('toggleSignUpPage')); // if (navToSignUp.evaluate().isNotEmpty) { // await widget.tap(navToSignUp); // await widget.pumpAndSettle(); // } // } // Future _navigateToSignIn() async { // await widget.pumpAndSettle(); // final Finder navToSignIn = find.byKey(const ValueKey('toggleSignInPage')); // expect(navToSignIn, findsOneWidget); // if (navToSignIn.evaluate().isNotEmpty) { // await widget.tap(navToSignIn); // await widget.pumpAndSettle(); // } // } // Future _auth(Map credentials) async { // await _enterCredentials(credentials); // await _submit('SubmitButtonWidget'); // } // Future _send(Map credentials) async { // await _enterCredentials(credentials); // await _submit('SendButtonWidget'); // } // Future _enterCredentials(Map credentials) async { // await widget.pumpAndSettle(); // for (var entry in credentials.entries) { // final Finder field = find.byKey(ValueKey(entry.key)); // await widget.pumpAndSettle(); // expect(field, findsOneWidget); // await widget.enterText(field, entry.value); // await widget.pumpAndSettle(); // } // await widget.pumpAndSettle(); // } // Future _submit(String key) async { // await widget.pumpAndSettle(); // final Finder submitButton = find.byKey(ValueKey(key)); // await widget.pumpAndSettle(); // if (submitButton.evaluate().isNotEmpty) { // await widget.tap(submitButton); // await widget.pumpAndSettle(); // } // final Finder throwExceptionWidget = find.byKey(const ValueKey('ThrowExceptionWidget')); // await widget.pumpAndSettle(); // if (throwExceptionWidget.evaluate().isNotEmpty) { // await widget.ensureVisible(throwExceptionWidget); // await widget.tap(throwExceptionWidget); // await widget.pumpAndSettle(); // } else { // await _navigateBackUsingSystemGesture(); // } // }