mirror of
https://gitlab.com/famedly/fluffychat.git
synced 2024-11-30 16:29:30 +01:00
3e3858d729
- test both FLOSS and non-floss builds - test on Synapse, Dendrite and Conduit - remove Synapse-specific test - add static Release mode app launch test Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
50 lines
1.4 KiB
Dart
50 lines
1.4 KiB
Dart
import 'dart:developer';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:integration_test/integration_test.dart';
|
|
|
|
import 'package:fluffychat/main.dart' as app;
|
|
|
|
import 'users.dart';
|
|
|
|
void main() {
|
|
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
|
|
|
|
group('Integration Test', () {
|
|
testWidgets('Test if the app starts', (WidgetTester tester) async {
|
|
app.main();
|
|
await tester.pumpAndSettle();
|
|
|
|
await Future.delayed(const Duration(seconds: 10));
|
|
|
|
await tester.pumpAndSettle();
|
|
|
|
expect(find.text('Connect'), findsOneWidget);
|
|
|
|
final input = find.byType(TextField);
|
|
|
|
expect(input, findsOneWidget);
|
|
|
|
await tester.enterText(input, homeserver);
|
|
await tester.testTextInput.receiveAction(TextInputAction.done);
|
|
await tester.pumpAndSettle();
|
|
|
|
// in case registration is allowed
|
|
try {
|
|
await tester.tap(find.text('Login'));
|
|
await tester.pumpAndSettle();
|
|
} catch (e) {
|
|
log('Registration is not allowed. Proceeding with login...');
|
|
}
|
|
await tester.pumpAndSettle();
|
|
|
|
final inputs = find.byType(TextField);
|
|
|
|
await tester.enterText(inputs.first, Users.alice.name);
|
|
await tester.enterText(inputs.last, Users.alice.password);
|
|
await tester.testTextInput.receiveAction(TextInputAction.done);
|
|
});
|
|
});
|
|
}
|