123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import 'package:appflowy/workspace/presentation/home/tabs/flowy_tab.dart';
- import 'package:appflowy/workspace/presentation/home/tabs/tabs_manager.dart';
- import 'package:appflowy_backend/protobuf/flowy-folder2/view.pb.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_test/flutter_test.dart';
- import 'package:integration_test/integration_test.dart';
- import 'util/base.dart';
- import 'util/common_operations.dart';
- const _readmeName = 'Read me';
- const _documentName = 'Document';
- const _calendarName = 'Calendar';
- void main() {
- IntegrationTestWidgetsFlutterBinding.ensureInitialized();
- group('Tabs', () {
- testWidgets('Open AppFlowy and open/navigate multiple tabs',
- (tester) async {
- await tester.initializeAppFlowy();
- await tester.tapGoButton();
- expect(
- find.descendant(
- of: find.byType(TabsManager),
- matching: find.byType(TabBar),
- ),
- findsNothing,
- );
- await tester.createNewPageWithName(ViewLayoutPB.Calendar, _calendarName);
- await tester.createNewPageWithName(ViewLayoutPB.Document, _documentName);
- // Navigate current view to "Read me" document again
- await tester.tapButtonWithName(_readmeName);
- /// Open second menu item in a new tab
- await tester.openAppInNewTab(_calendarName);
- /// Open third menu item in a new tab
- await tester.openAppInNewTab(_documentName);
- expect(
- find.descendant(
- of: find.byType(TabsManager),
- matching: find.byType(TabBar),
- ),
- findsOneWidget,
- );
- expect(
- find.descendant(
- of: find.byType(TabBar),
- matching: find.byType(FlowyTab),
- ),
- findsNWidgets(3),
- );
- /// Navigate to the first tab
- await tester.tap(
- find.descendant(
- of: find.byType(FlowyTab),
- matching: find.text(_readmeName),
- ),
- );
- });
- });
- }
|