|
|
|
@ -2,6 +2,8 @@ import 'package:fluffychat/config/setting_keys.dart';
|
|
|
|
|
import 'package:fluffychat/pages/chat/chat_view.dart';
|
|
|
|
|
import 'package:fluffychat/pages/chat_list/chat_list_body.dart';
|
|
|
|
|
import 'package:fluffychat/pages/chat_list/search_title.dart';
|
|
|
|
|
import 'package:fluffychat/pages/invitation_selection/invitation_selection_view.dart';
|
|
|
|
|
import 'package:fluffychat/widgets/m2_popup_menu_button.dart';
|
|
|
|
|
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
@ -116,6 +118,72 @@ void main() {
|
|
|
|
|
await tester.pumpAndSettle();
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
testWidgets('Spaces', (tester) async {
|
|
|
|
|
app.main();
|
|
|
|
|
await tester.ensureAppStartedHomescreen();
|
|
|
|
|
|
|
|
|
|
await tester.waitFor(find.byTooltip('Show menu'));
|
|
|
|
|
await tester.tap(find.byTooltip('Show menu'));
|
|
|
|
|
await tester.pumpAndSettle();
|
|
|
|
|
|
|
|
|
|
await tester.waitFor(find.byIcon(Icons.workspaces_outlined));
|
|
|
|
|
await tester.tap(find.byIcon(Icons.workspaces_outlined));
|
|
|
|
|
await tester.pumpAndSettle();
|
|
|
|
|
|
|
|
|
|
await tester.waitFor(find.byType(TextField));
|
|
|
|
|
await tester.enterText(find.byType(TextField).last, 'Test Space');
|
|
|
|
|
await tester.pumpAndSettle();
|
|
|
|
|
|
|
|
|
|
await tester.testTextInput.receiveAction(TextInputAction.done);
|
|
|
|
|
await tester.pumpAndSettle();
|
|
|
|
|
|
|
|
|
|
await tester.waitFor(find.text('Invite contact'));
|
|
|
|
|
|
|
|
|
|
await tester.tap(find.text('Invite contact'));
|
|
|
|
|
await tester.pumpAndSettle();
|
|
|
|
|
|
|
|
|
|
await tester.waitFor(
|
|
|
|
|
find.descendant(
|
|
|
|
|
of: find.byType(InvitationSelectionView),
|
|
|
|
|
matching: find.byType(TextField)),
|
|
|
|
|
);
|
|
|
|
|
await tester.enterText(
|
|
|
|
|
find.descendant(
|
|
|
|
|
of: find.byType(InvitationSelectionView),
|
|
|
|
|
matching: find.byType(TextField)),
|
|
|
|
|
Users.user2.name,
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
await Future.delayed(const Duration(milliseconds: 250));
|
|
|
|
|
await tester.testTextInput.receiveAction(TextInputAction.done);
|
|
|
|
|
|
|
|
|
|
await Future.delayed(const Duration(milliseconds: 1000));
|
|
|
|
|
await tester.pumpAndSettle();
|
|
|
|
|
|
|
|
|
|
await tester.tap(find
|
|
|
|
|
.descendant(
|
|
|
|
|
of: find.descendant(
|
|
|
|
|
of: find.byType(InvitationSelectionView),
|
|
|
|
|
matching: find.byType(ListTile),
|
|
|
|
|
),
|
|
|
|
|
matching: find.text(Users.user2.name))
|
|
|
|
|
.last);
|
|
|
|
|
await tester.pumpAndSettle();
|
|
|
|
|
|
|
|
|
|
await tester.waitFor(find.maybeUppercaseText('Yes'));
|
|
|
|
|
await tester.tap(find.maybeUppercaseText('Yes'));
|
|
|
|
|
await tester.pumpAndSettle();
|
|
|
|
|
|
|
|
|
|
await tester.tap(find.byTooltip('Back'));
|
|
|
|
|
await tester.pumpAndSettle();
|
|
|
|
|
|
|
|
|
|
await tester.waitFor(find.text('Load 2 more participants'));
|
|
|
|
|
await tester.tap(find.text('Load 2 more participants'));
|
|
|
|
|
await tester.pumpAndSettle();
|
|
|
|
|
|
|
|
|
|
expect(find.text(Users.user2.name), findsOneWidget);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|