377 lines
13 KiB
Dart
377 lines
13 KiB
Dart
part of 'app_test.dart';
|
|
|
|
class LocalsTest {
|
|
static Future setLocal() async {
|
|
// patrolWidgetTest(
|
|
// 'Selecionar um local disponível com multiplos locais disponiveis', //
|
|
// (PatrolTester tester) async {
|
|
// $ = tester;
|
|
// $.tester.printToConsole('Locals Test - Selecionar um local disponível');
|
|
//
|
|
// await _loggedWithMultiLocalsAccount(false);
|
|
// await $.pumpWidgetAndSettle(const App());
|
|
// await $.waitUntilVisible($(MenuStaggeredView));
|
|
// await $.waitUntilVisible($(LocalProfileComponentWidget));
|
|
//
|
|
// final PatrolFinder profileFinder =
|
|
// $(#AsyncLocalProfileComponentWidget_InkWell);
|
|
// expect(profileFinder, findsOneWidget);
|
|
//
|
|
// await $(profileFinder) //
|
|
// .waitUntilVisible()
|
|
// .tap();
|
|
//
|
|
// final PatrolFinder bottomSheetFinder =
|
|
// await $(BottomArrowLinkedLocalsComponentWidget) //
|
|
// .waitUntilVisible();
|
|
// expect(bottomSheetFinder, findsOneWidget);
|
|
//
|
|
// final PatrolFinder listViewFinder = await $(bottomSheetFinder) //
|
|
// .$(ListView)
|
|
// .waitUntilVisible();
|
|
// expect(listViewFinder, findsOneWidget);
|
|
//
|
|
// await $.pump(const Duration(milliseconds: 500));
|
|
//
|
|
// final PatrolFinder entriesFinder = await $(listViewFinder) //
|
|
// .$(CardItemTemplateComponentWidget)
|
|
// .waitUntilVisible();
|
|
// expect(entriesFinder, findsWidgets);
|
|
//
|
|
// if (entriesFinder.evaluate().isNotEmpty) {
|
|
// await $(entriesFinder.first) //
|
|
// .waitUntilVisible()
|
|
// .tap();
|
|
// await $.pumpAndSettle();
|
|
// }
|
|
// },
|
|
// );
|
|
patrolWidgetTest(
|
|
'Selecionar um local disponível com somente um local disponivel', //
|
|
(PatrolTester tester) async {
|
|
$ = tester;
|
|
$.tester.printToConsole('Locals Test - Selecionar um local disponível');
|
|
|
|
await _loggedWithSomeoneLocalAccount($, false);
|
|
await $.pumpWidgetAndSettle(const App());
|
|
await $.waitUntilVisible($(MenuStaggeredView));
|
|
await $.waitUntilVisible($(LocalProfileComponentWidget));
|
|
|
|
final PatrolFinder profileFinder =
|
|
$(#AsyncLocalProfileComponentWidget_InkWell);
|
|
expect(profileFinder, findsOneWidget);
|
|
|
|
await $(profileFinder) //
|
|
.waitUntilVisible()
|
|
.tap();
|
|
},
|
|
);
|
|
}
|
|
|
|
static Future unlinkLocal() async {
|
|
// patrolWidgetTest(
|
|
// 'Desvincular do local selecionado com multiplos locais disponiveis', //
|
|
// (PatrolTester tester) async {
|
|
// $ = tester;
|
|
// $.tester.printToConsole(
|
|
// 'Locals Test - Desvincular do local selecionado com multiplos locais disponiveis');
|
|
//
|
|
// await _loggedWithMultiLocalsAccount();
|
|
// await $.pumpWidgetAndSettle(const App());
|
|
// await $.waitUntilVisible($(MenuStaggeredView));
|
|
//
|
|
// final PatrolFinder gridView = await $(GridView) //
|
|
// .waitUntilVisible();
|
|
// final PatrolFinder entries = await $(gridView)
|
|
// .$(ButtonMenuItem) //
|
|
// .waitUntilVisible();
|
|
//
|
|
// await $.pumpAndSettle();
|
|
// expect(entries, findsWidgets);
|
|
// final PatrolFinder settings = await $(gridView) //
|
|
// .$(Icons.settings)
|
|
// .waitUntilVisible();
|
|
// expect(settings, findsOneWidget);
|
|
//
|
|
// await $(settings).tap();
|
|
//
|
|
// final PatrolFinder unlinkButton = await $(Symbols.digital_out_of_home) //
|
|
// .waitUntilVisible();
|
|
// expect(unlinkButton, findsOneWidget);
|
|
// await $(unlinkButton) //
|
|
// .waitUntilVisible()
|
|
// .tap();
|
|
//
|
|
// final PatrolFinder alertDialog = await $(#AlertDialogKey) //
|
|
// .waitUntilVisible();
|
|
// await alertDialog
|
|
// .$(#AcceptOptionKey) //
|
|
// .waitUntilVisible()
|
|
// .tap(settlePolicy: SettlePolicy.noSettle);
|
|
//
|
|
// await $.pump();
|
|
// await $.pump(const Duration(seconds: 1));
|
|
// await $.pump();
|
|
//
|
|
// final PatrolFinder bottomSheetFinder =
|
|
// await $(BottomArrowLinkedLocalsComponentWidget) //
|
|
// .waitUntilVisible();
|
|
//
|
|
// expect(bottomSheetFinder, findsOneWidget);
|
|
//
|
|
// final PatrolFinder listViewFinder = await $(bottomSheetFinder) //
|
|
// .$(ListView)
|
|
// .waitUntilVisible();
|
|
//
|
|
// expect(listViewFinder, findsOneWidget);
|
|
//
|
|
// final PatrolFinder entriesFinder = await $(listViewFinder)
|
|
// .$(CardItemTemplateComponentWidget)
|
|
// .waitUntilVisible();
|
|
//
|
|
// expect(entriesFinder, findsWidgets);
|
|
// });
|
|
//
|
|
// patrolWidgetTest(
|
|
// 'Vincular um local desvinculado com multiplos locais disponiveis', //
|
|
// (PatrolTester tester) async {
|
|
// $ = tester;
|
|
// $.tester.printToConsole('Locals Test - Vincular um local desvinculado');
|
|
//
|
|
// await _loggedWithMultiLocalsAccount(false);
|
|
// await $.pumpWidget(const App());
|
|
//
|
|
// final PatrolFinder bottomSheetFinder =
|
|
// await $(BottomArrowLinkedLocalsComponentWidget) //
|
|
// .waitUntilVisible();
|
|
// expect(bottomSheetFinder, findsOneWidget);
|
|
//
|
|
// await $.pump(const Duration(milliseconds: 500));
|
|
//
|
|
// final PatrolFinder listViewFinder = $(bottomSheetFinder) //
|
|
// .$(ListView);
|
|
// expect(listViewFinder, findsOneWidget);
|
|
//
|
|
// await $.pump(const Duration(milliseconds: 500));
|
|
//
|
|
// final PatrolFinder entriesFinder = $(listViewFinder) //
|
|
// .$(CardItemTemplateComponentWidget);
|
|
// expect(entriesFinder, findsWidgets);
|
|
//
|
|
// if (entriesFinder.evaluate().isNotEmpty) {
|
|
// await $(entriesFinder.first).waitUntilVisible().tap();
|
|
//
|
|
// final PatrolFinder alertDialog = await $(#AlertDialogKey) //
|
|
// .waitUntilVisible();
|
|
// await alertDialog
|
|
// .$(#AcceptOptionKey) //
|
|
// .waitUntilVisible()
|
|
// .tap(settlePolicy: SettlePolicy.noSettle);
|
|
// }
|
|
//
|
|
// await Future.delayed(const Duration(milliseconds: 500));
|
|
//
|
|
// // try {
|
|
// // await $.pumpAndSettle(
|
|
// // duration: const Duration(seconds: 2),
|
|
// // phase: EnginePhase.sendSemanticsUpdate,
|
|
// // timeout: const Duration(seconds: 2),
|
|
// // );
|
|
// // throw Exception('Local está vinculado');
|
|
// // } catch (e) {
|
|
// // await Future.delayed(const Duration(milliseconds: 500));
|
|
// // return;
|
|
// // }
|
|
// },
|
|
// );
|
|
patrolWidgetTest(
|
|
'Desvincular do local selecionado com somente um local disponivel', //
|
|
(PatrolTester tester) async {
|
|
$ = tester;
|
|
$.tester.printToConsole(
|
|
'Locals Test - Desvincular do local selecionado com multiplos locais disponiveis');
|
|
|
|
await _loggedWithSomeoneLocalAccount($);
|
|
await $.pumpWidgetAndSettle(const App());
|
|
await $.waitUntilVisible($(MenuStaggeredView));
|
|
|
|
final PatrolFinder gridView = await $(GridView) //
|
|
.waitUntilVisible();
|
|
final PatrolFinder entries = await $(gridView)
|
|
.$(ButtonMenuItem) //
|
|
.waitUntilVisible();
|
|
|
|
await $.pumpAndSettle();
|
|
expect(entries, findsWidgets);
|
|
final PatrolFinder settings = await $(gridView) //
|
|
.$(Icons.settings)
|
|
.waitUntilVisible();
|
|
expect(settings, findsOneWidget);
|
|
|
|
await $(settings).tap();
|
|
|
|
final PatrolFinder unlinkButton = await $(Symbols.digital_out_of_home) //
|
|
.waitUntilVisible();
|
|
expect(unlinkButton, findsOneWidget);
|
|
await $(unlinkButton) //
|
|
.waitUntilVisible()
|
|
.tap();
|
|
|
|
final PatrolFinder alertDialog = await $(#AlertDialogKey) //
|
|
.waitUntilVisible();
|
|
await alertDialog
|
|
.$(#AcceptOptionKey) //
|
|
.waitUntilVisible()
|
|
.tap(settlePolicy: SettlePolicy.noSettle);
|
|
|
|
await $.pump();
|
|
await $.pump(const Duration(seconds: 1));
|
|
await $.pump();
|
|
|
|
final PatrolFinder bottomSheetFinder =
|
|
await $(BottomArrowLinkedLocalsComponentWidget) //
|
|
.waitUntilVisible();
|
|
|
|
expect(bottomSheetFinder, findsOneWidget);
|
|
|
|
final PatrolFinder listViewFinder = await $(bottomSheetFinder) //
|
|
.$(ListView)
|
|
.waitUntilVisible();
|
|
|
|
expect(listViewFinder, findsOneWidget);
|
|
|
|
final PatrolFinder entriesFinder = await $(listViewFinder)
|
|
.$(CardItemTemplateComponentWidget)
|
|
.waitUntilVisible();
|
|
|
|
expect(entriesFinder, findsWidgets);
|
|
});
|
|
|
|
patrolWidgetTest(
|
|
'Vincular um local desvinculado com somente um local disponivel', //
|
|
(PatrolTester tester) async {
|
|
$ = tester;
|
|
$.tester.printToConsole('Locals Test - Vincular um local desvinculado');
|
|
|
|
await _loggedWithSomeoneLocalAccount($, false);
|
|
await $.pumpWidget(const App());
|
|
|
|
final PatrolFinder bottomSheetFinder =
|
|
await $(BottomArrowLinkedLocalsComponentWidget) //
|
|
.waitUntilVisible();
|
|
expect(bottomSheetFinder, findsOneWidget);
|
|
|
|
await $.pump(const Duration(milliseconds: 500));
|
|
|
|
final PatrolFinder listViewFinder = $(bottomSheetFinder) //
|
|
.$(ListView);
|
|
expect(listViewFinder, findsOneWidget);
|
|
|
|
await $.pump(const Duration(milliseconds: 500));
|
|
|
|
final PatrolFinder entriesFinder = $(listViewFinder) //
|
|
.$(CardItemTemplateComponentWidget);
|
|
expect(entriesFinder, findsWidgets);
|
|
|
|
if (entriesFinder.evaluate().isNotEmpty) {
|
|
await $(entriesFinder.first).waitUntilVisible().tap();
|
|
|
|
final PatrolFinder alertDialog = await $(#AlertDialogKey) //
|
|
.waitUntilVisible();
|
|
await alertDialog
|
|
.$(#AcceptOptionKey) //
|
|
.waitUntilVisible()
|
|
.tap(settlePolicy: SettlePolicy.noSettle);
|
|
}
|
|
|
|
await Future.delayed(const Duration(milliseconds: 500));
|
|
|
|
// try {
|
|
// await $.pumpAndSettle(
|
|
// duration: const Duration(seconds: 2),
|
|
// phase: EnginePhase.sendSemanticsUpdate,
|
|
// timeout: const Duration(seconds: 2),
|
|
// );
|
|
// throw Exception('Local está vinculado');
|
|
// } catch (e) {
|
|
// await Future.delayed(const Duration(milliseconds: 500));
|
|
// return;
|
|
// }
|
|
},
|
|
);
|
|
}
|
|
|
|
static Future attachLocal() async {
|
|
patrolWidgetTest(
|
|
'Selecionar um local disponível com multíplos locais disponíveis', //
|
|
(PatrolTester tester) async {
|
|
$ = tester;
|
|
await _loggedWithMultiLocalsAccount($);
|
|
await $.pumpWidget(const App());
|
|
late Map<String, String> credentials;
|
|
final PatrolFinder throwsException = $('');
|
|
|
|
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 $.pumpWidget(const App());
|
|
await _navigateToSignUp($);
|
|
await _auth(credentials, $, throwsException);
|
|
credentials = {
|
|
'emailTextFormField': email,
|
|
'passwordTextFormField': password
|
|
};
|
|
await _auth(credentials, $, throwsException);
|
|
|
|
await $.pumpAndSettle();
|
|
await StorageHelper() //
|
|
.set(ProfileStorageKey.clientUUID.key, '7');
|
|
await $.pumpAndSettle();
|
|
await Future.delayed(const Duration(milliseconds: 500));
|
|
return;
|
|
},
|
|
);
|
|
patrolWidgetTest(
|
|
'Selecionar um local disponível com somente um local disponível', //
|
|
(PatrolTester 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);
|
|
var email = '$name@example.com';
|
|
var password = '12345678';
|
|
credentials = {
|
|
'nameTextFormField': name,
|
|
'emailTextFormField': email,
|
|
'passwordTextFormField': password
|
|
};
|
|
|
|
await $.pumpWidget(const App());
|
|
await _navigateToSignUp($);
|
|
await _auth(credentials, $, throwsException);
|
|
credentials = {
|
|
'emailTextFormField': email,
|
|
'passwordTextFormField': password
|
|
};
|
|
await _auth(credentials, $, throwsException);
|
|
|
|
await $.pumpAndSettle();
|
|
await StorageHelper() //
|
|
.set(ProfileStorageKey.clientUUID.key, '7');
|
|
await $.pumpAndSettle();
|
|
await Future.delayed(const Duration(milliseconds: 500));
|
|
return;
|
|
},
|
|
);
|
|
}
|
|
}
|