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.signUp();
// AuthenticationTest.signOut();
AuthenticationTest.recovery();
// AuthenticationTest.recovery();
// ModularizationTest.switchLicense();
// ModularizationTest.containLicense();
@ -76,4 +76,5 @@ void main() {
// LocalsTest.setLocal();
// LocalsTest.unlinkLocal();
LocalsTest.attachLocal();
}

View File

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

View File

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