add tests

This commit is contained in:
J. A. Messias 2025-01-28 09:51:33 -03:00
parent 41a2744b4a
commit 665039ee4d
3 changed files with 33 additions and 81 deletions

View File

@ -65,7 +65,7 @@ void main() {
// AuthenticationTest.signIn(); // AuthenticationTest.signIn();
// AuthenticationTest.signUp(); // AuthenticationTest.signUp();
// AuthenticationTest.signOut(); // AuthenticationTest.signOut();
AuthenticationTest.recovery(); // AuthenticationTest.recovery();
// ModularizationTest.switchLicense(); // ModularizationTest.switchLicense();
// ModularizationTest.containLicense(); // ModularizationTest.containLicense();
@ -76,4 +76,5 @@ void main() {
// LocalsTest.setLocal(); // LocalsTest.setLocal();
// LocalsTest.unlinkLocal(); // LocalsTest.unlinkLocal();
LocalsTest.attachLocal();
} }

View File

@ -57,8 +57,7 @@ class LocalsTest {
await $.waitUntilVisible($(MenuStaggeredView)); await $.waitUntilVisible($(MenuStaggeredView));
await $.waitUntilVisible($(LocalProfileComponentWidget)); await $.waitUntilVisible($(LocalProfileComponentWidget));
final PatrolFinder profileFinder = final PatrolFinder profileFinder = $(#AsyncLocalProfileComponentWidget_InkWell);
$(#AsyncLocalProfileComponentWidget_InkWell);
expect(profileFinder, findsOneWidget); expect(profileFinder, findsOneWidget);
await $(profileFinder) // await $(profileFinder) //
@ -184,12 +183,10 @@ class LocalsTest {
// // } // // }
// }, // },
// ); // );
patrol( patrol('Desvincular do local selecionado com somente um local disponivel', //
'Desvincular do local selecionado com somente um local disponivel', //
(PatrolIntegrationTester tester) async { (PatrolIntegrationTester tester) async {
$ = tester; $ = tester;
$.tester.printToConsole( $.tester.printToConsole('Locals Test - Desvincular do local selecionado com multiplos locais disponiveis');
'Locals Test - Desvincular do local selecionado com multiplos locais disponiveis');
await _loggedWithSomeoneLocalAccount($); await _loggedWithSomeoneLocalAccount($);
await $.pumpWidgetAndSettle(const App()); await $.pumpWidgetAndSettle(const App());
@ -228,9 +225,8 @@ class LocalsTest {
await $.pump(const Duration(seconds: 1)); await $.pump(const Duration(seconds: 1));
await $.pump(); await $.pump();
final PatrolFinder bottomSheetFinder = final PatrolFinder bottomSheetFinder = await $(BottomArrowLinkedLocalsComponentWidget) //
await $(BottomArrowLinkedLocalsComponentWidget) // .waitUntilVisible();
.waitUntilVisible();
expect(bottomSheetFinder, findsOneWidget); expect(bottomSheetFinder, findsOneWidget);
@ -240,9 +236,7 @@ class LocalsTest {
expect(listViewFinder, findsOneWidget); expect(listViewFinder, findsOneWidget);
final PatrolFinder entriesFinder = await $(listViewFinder) final PatrolFinder entriesFinder = await $(listViewFinder).$(CardItemTemplateComponentWidget).waitUntilVisible();
.$(CardItemTemplateComponentWidget)
.waitUntilVisible();
expect(entriesFinder, findsWidgets); expect(entriesFinder, findsWidgets);
}); });
@ -256,9 +250,8 @@ class LocalsTest {
await _loggedWithSomeoneLocalAccount($, false); await _loggedWithSomeoneLocalAccount($, false);
await $.pumpWidget(const App()); await $.pumpWidget(const App());
final PatrolFinder bottomSheetFinder = final PatrolFinder bottomSheetFinder = await $(BottomArrowLinkedLocalsComponentWidget) //
await $(BottomArrowLinkedLocalsComponentWidget) // .waitUntilVisible();
.waitUntilVisible();
expect(bottomSheetFinder, findsOneWidget); expect(bottomSheetFinder, findsOneWidget);
await $.pump(const Duration(milliseconds: 500)); await $.pump(const Duration(milliseconds: 500));
@ -303,73 +296,31 @@ class LocalsTest {
static Future attachLocal() async { static Future attachLocal() async {
patrol( patrol(
'Selecionar um local disponível com multíplos locais disponíveis', // 'Auto-Validação de Locais sem CliUUID/OwnerUUID', //
(PatrolIntegrationTester tester) async { (PatrolIntegrationTester tester) async {
$ = tester; $ = tester;
await _loggedWithMultiLocalsAccount($); await _loggedWithMultiLocalsAccount($, false);
await $.pumpWidget(const App()); await $.pumpWidgetAndSettle(const App());
late Map<String, String> credentials;
final PatrolFinder throwsException = $('');
var name = ff.randomString(7, 7, true, true, true); await $.pump();
var email = '$name@example.com'; await $.pump(Duration(seconds: 30));
var password = '12345678'; await $.pump();
credentials = {
'nameTextFormField': name,
'emailTextFormField': email,
'passwordTextFormField': password
};
await $.pumpWidget(const App()); final PatrolFinder bottomSheetFinder = await $(BottomArrowLinkedLocalsComponentWidget) //
await _navigateToSignUp($); .waitUntilVisible();
await _auth(credentials, $, throwsException);
credentials = {
'emailTextFormField': email,
'passwordTextFormField': password
};
await _auth(credentials, $, throwsException);
await $.pumpAndSettle(); expect(bottomSheetFinder, findsOneWidget);
await StorageHelper() //
.set(ProfileStorageKey.clientUUID.key, '7');
await $.pumpAndSettle();
await Future.delayed(const Duration(milliseconds: 500));
return;
},
);
patrol(
'Selecionar um local disponível com somente um local disponível', //
(PatrolIntegrationTester tester) async {
$ = tester;
await _loggedWithSomeoneLocalAccount($);
await $.pumpWidget(const App());
late Map<String, String> credentials;
final PatrolFinder throwsException = $('');
var name = ff.randomString(7, 7, true, true, true); final PatrolFinder listViewFinder = await $(bottomSheetFinder) //
var email = '$name@example.com'; .$(ListView)
var password = '12345678'; .waitUntilVisible();
credentials = {
'nameTextFormField': name,
'emailTextFormField': email,
'passwordTextFormField': password
};
await $.pumpWidget(const App()); expect(listViewFinder, findsOneWidget);
await _navigateToSignUp($);
await _auth(credentials, $, throwsException);
credentials = {
'emailTextFormField': email,
'passwordTextFormField': password
};
await _auth(credentials, $, throwsException);
await $.pumpAndSettle(); final PatrolFinder entriesFinder =
await StorageHelper() // await $(listViewFinder).$(CardItemTemplateComponentWidget).waitUntilVisible();
.set(ProfileStorageKey.clientUUID.key, '7');
await $.pumpAndSettle(); expect(entriesFinder, findsWidgets);
await Future.delayed(const Duration(milliseconds: 500));
return;
}, },
); );
} }

View File

@ -1,7 +1,9 @@
part of 'app_test.dart'; part of 'app_test.dart';
Future<void> _loggedWithMultiLocalsAccount(PatrolIntegrationTester $, Future<void> _loggedWithMultiLocalsAccount(
[bool forceLinkedLocal = true]) async { PatrolIntegrationTester $, [
bool forceLinkedLocal = true,
]) async {
await _init($); await _init($);
await StorageHelper() // await StorageHelper() //
.set(SecureStorageKey.isLogged.value, 'true'); .set(SecureStorageKey.isLogged.value, 'true');
@ -29,8 +31,7 @@ Future<void> _loggedWithMultiLocalsAccount(PatrolIntegrationTester $,
} }
} }
Future<void> _loggedWithSomeoneLocalAccount(PatrolIntegrationTester $, Future<void> _loggedWithSomeoneLocalAccount(PatrolIntegrationTester $, [bool forceLinkedLocal = true]) async {
[bool forceLinkedLocal = true]) async {
await _init($); await _init($);
await StorageHelper() // await StorageHelper() //
.set(SecureStorageKey.isLogged.value, 'true'); .set(SecureStorageKey.isLogged.value, 'true');
@ -101,8 +102,7 @@ Future<void> _navigateToSignUp(PatrolIntegrationTester $) async {
} }
Future<void> _navigateBackUsingSystemGesture() async => Future<void> _navigateBackUsingSystemGesture() async =>
IntegrationTestWidgetsFlutterBinding.instance.keyboard IntegrationTestWidgetsFlutterBinding.instance.keyboard.isLogicalKeyPressed(LogicalKeyboardKey.escape);
.isLogicalKeyPressed(LogicalKeyboardKey.escape);
Future<void> _initializeTracking() async { Future<void> _initializeTracking() async {
print('Requesting tracking authorization...'); print('Requesting tracking authorization...');