123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- import 'dart:io';
- 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/services.dart';
- import 'package:flutter_test/flutter_test.dart';
- import 'package:integration_test/integration_test.dart';
- import 'util/base.dart';
- import 'util/common_operations.dart';
- import 'util/expectation.dart';
- import 'util/keyboard.dart';
- const _documentName = 'First Doc';
- const _documentTwoName = 'Second Doc';
- void main() {
- IntegrationTestWidgetsFlutterBinding.ensureInitialized();
- group('Tabs', () {
- testWidgets('Open AppFlowy and open/navigate/close tabs', (tester) async {
- await tester.initializeAppFlowy();
- await tester.tapGoButton();
- expect(
- find.descendant(
- of: find.byType(TabsManager),
- matching: find.byType(TabBar),
- ),
- findsNothing,
- );
- await tester.createNewPageWithName(
- name: _documentName,
- layout: ViewLayoutPB.Document,
- );
- await tester.createNewPageWithName(
- name: _documentTwoName,
- layout: ViewLayoutPB.Document,
- );
- /// Open second menu item in a new tab
- await tester.openAppInNewTab(gettingStarted, ViewLayoutPB.Document);
- /// Open third menu item in a new tab
- await tester.openAppInNewTab(_documentName, ViewLayoutPB.Document);
- expect(
- find.descendant(
- of: find.byType(TabBar),
- matching: find.byType(FlowyTab),
- ),
- findsNWidgets(3),
- );
- /// Navigate to the second tab
- await tester.tap(
- find.descendant(
- of: find.byType(FlowyTab),
- matching: find.text(gettingStarted),
- ),
- );
- /// Close tab by shortcut
- await FlowyTestKeyboard.simulateKeyDownEvent(
- [
- Platform.isMacOS
- ? LogicalKeyboardKey.meta
- : LogicalKeyboardKey.control,
- LogicalKeyboardKey.keyW,
- ],
- tester: tester,
- );
- expect(
- find.descendant(
- of: find.byType(TabBar),
- matching: find.byType(FlowyTab),
- ),
- findsNWidgets(2),
- );
- });
- });
- }
|