createSuperInvite method
Implementation
Future<String> createSuperInvite(
List<String> spaceIds, {
List<String>? chats,
StepCallback? onCreateForm,
}) async {
final newToken = 't${const Uuid().v4().toString()}'.substring(0, 8);
await find.byKey(Keys.mainNav).should(findsOneWidget);
await navigateTo([
MainNavKeys.quickJump,
MainNavKeys.quickJump,
QuickJumpKeys.settings,
SettingsMenu.superInvitations,
SuperInvitesPage.createNewToken,
]);
final tokenTxt = find.byKey(CreateSuperInviteTokenPage.tokenFieldKey);
await tokenTxt.should(findsOneWidget);
await tokenTxt.enterTextWithoutReplace(newToken);
for (final spaceId in spaceIds) {
await navigateTo([
CreateSuperInviteTokenPage.addSubmenu,
CreateSuperInviteTokenPage.addSpaceKey,
Key('select-space-$spaceId'),
]);
}
if (chats?.isNotEmpty == true) {
for (final chatId in chats!) {
await navigateTo([
CreateSuperInviteTokenPage.addSubmenu,
CreateSuperInviteTokenPage.addChatKey,
Key('select-chat-$chatId'),
]);
}
}
if (onCreateForm != null) {
await onCreateForm(this);
}
final submitBtn = find.byKey(CreateSuperInviteTokenPage.submitBtn);
await tester.ensureVisible(submitBtn);
await submitBtn.should(findsOneWidget);
await submitBtn.tap();
return newToken;
}