mirror of
https://github.com/Livinglist/Hacki.git
synced 2025-08-06 18:24:42 +08:00

* bumped version. * bumped version. * bumped version * bumped version. * downgrade flutter version. * Use transparent color for navigation bar (#70) * Use transparent color for navigation bar * Fixed whitespace Co-authored-by: Niklas Weinhart <git@weinhart.net> * bumped ios version. * bumped versions. * updated min screen width. * removed print. * fixed stack overflow in EditCubit. * added integration test. * bumped version. Co-authored-by: wnhrt <github@weinhart.net> Co-authored-by: Niklas Weinhart <git@weinhart.net>
69 lines
1.8 KiB
Dart
69 lines
1.8 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:hacki/main.dart' as app;
|
|
import 'package:hacki/screens/widgets/widgets.dart';
|
|
import 'package:integration_test/integration_test.dart';
|
|
|
|
void main() {
|
|
final IntegrationTestWidgetsFlutterBinding binding =
|
|
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
|
|
|
|
testWidgets('Scrolling test', (WidgetTester tester) async {
|
|
await app.main(testing: true);
|
|
await tester.pumpAndSettle();
|
|
|
|
final Finder bestTabFinder = find.widgetWithText(Tab, 'BEST');
|
|
|
|
expect(bestTabFinder, findsOneWidget);
|
|
|
|
Future<void> scrollDown(WidgetTester tester) async {
|
|
await tester.timedDragFrom(
|
|
const Offset(100, 200),
|
|
const Offset(100, -700),
|
|
const Duration(seconds: 2),
|
|
);
|
|
await tester.pump();
|
|
}
|
|
|
|
Future<void> scrollUp(WidgetTester tester) async {
|
|
await tester.timedDragFrom(
|
|
const Offset(100, 200),
|
|
const Offset(100, 700),
|
|
const Duration(seconds: 1),
|
|
);
|
|
await tester.pump();
|
|
}
|
|
|
|
await binding.traceAction(
|
|
() async {
|
|
await tester.tap(bestTabFinder);
|
|
await tester.pump();
|
|
|
|
const int count = 10;
|
|
|
|
for (int i = 0; i < count; i++) {
|
|
await scrollDown(tester);
|
|
}
|
|
|
|
for (int i = 0; i < count - 3; i++) {
|
|
await scrollUp(tester);
|
|
}
|
|
|
|
await tester.pumpAndSettle(const Duration(seconds: 2));
|
|
|
|
final Finder storyFinder = find.byType(StoryTile);
|
|
|
|
expect(storyFinder, findsWidgets);
|
|
|
|
final Finder firstStoryFinder = storyFinder.first;
|
|
|
|
expect(firstStoryFinder, findsOneWidget);
|
|
|
|
await tester.tap(firstStoryFinder);
|
|
await tester.pump(const Duration(seconds: 4));
|
|
},
|
|
reportKey: 'scrolling_timeline',
|
|
);
|
|
});
|
|
}
|