| 
									
										
										
										
											2024-03-15 13:10:30 +07:00
										 |  |  | import 'package:appflowy/generated/locale_keys.g.dart'; | 
					
						
							|  |  |  | import 'package:appflowy/plugins/base/icon/icon_picker.dart'; | 
					
						
							|  |  |  | import 'package:appflowy/workspace/presentation/home/menu/sidebar/workspace/_sidebar_workspace_actions.dart'; | 
					
						
							|  |  |  | import 'package:appflowy/workspace/presentation/home/menu/sidebar/workspace/_sidebar_workspace_icon.dart'; | 
					
						
							|  |  |  | import 'package:appflowy/workspace/presentation/home/menu/sidebar/workspace/_sidebar_workspace_menu.dart'; | 
					
						
							| 
									
										
										
										
											2024-05-27 08:51:49 +08:00
										 |  |  | import 'package:appflowy/workspace/presentation/home/menu/sidebar/workspace/sidebar_workspace.dart'; | 
					
						
							| 
									
										
										
										
											2024-03-15 13:10:30 +07:00
										 |  |  | import 'package:easy_localization/easy_localization.dart'; | 
					
						
							|  |  |  | import 'package:flutter/material.dart'; | 
					
						
							|  |  |  | import 'package:flutter_test/flutter_test.dart'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 08:51:49 +08:00
										 |  |  | import 'util.dart'; | 
					
						
							| 
									
										
										
										
											2024-03-15 13:10:30 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  | extension AppFlowyWorkspace on WidgetTester { | 
					
						
							|  |  |  |   /// Open workspace menu
 | 
					
						
							|  |  |  |   Future<void> openWorkspaceMenu() async { | 
					
						
							| 
									
										
										
										
											2024-03-22 16:15:18 +07:00
										 |  |  |     final workspaceWrapper = find.byType(SidebarSwitchWorkspaceButton); | 
					
						
							| 
									
										
										
										
											2024-03-15 13:10:30 +07:00
										 |  |  |     expect(workspaceWrapper, findsOneWidget); | 
					
						
							|  |  |  |     await tapButton(workspaceWrapper); | 
					
						
							|  |  |  |     final workspaceMenu = find.byType(WorkspacesMenu); | 
					
						
							|  |  |  |     expect(workspaceMenu, findsOneWidget); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /// Open a workspace
 | 
					
						
							|  |  |  |   Future<void> openWorkspace(String name) async { | 
					
						
							|  |  |  |     final workspace = find.descendant( | 
					
						
							|  |  |  |       of: find.byType(WorkspaceMenuItem), | 
					
						
							|  |  |  |       matching: find.findTextInFlowyText(name), | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |     expect(workspace, findsOneWidget); | 
					
						
							|  |  |  |     await tapButton(workspace); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Future<void> changeWorkspaceName(String name) async { | 
					
						
							|  |  |  |     final moreButton = find.descendant( | 
					
						
							|  |  |  |       of: find.byType(WorkspaceMenuItem), | 
					
						
							|  |  |  |       matching: find.byType(WorkspaceMoreActionList), | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |     expect(moreButton, findsOneWidget); | 
					
						
							| 
									
										
										
										
											2024-05-27 08:51:49 +08:00
										 |  |  |     await hoverOnWidget( | 
					
						
							|  |  |  |       moreButton, | 
					
						
							|  |  |  |       onHover: () async { | 
					
						
							|  |  |  |         await tapButton(moreButton); | 
					
						
							|  |  |  |         await tapButton( | 
					
						
							|  |  |  |           find.findTextInFlowyText(LocaleKeys.button_rename.tr()), | 
					
						
							|  |  |  |         ); | 
					
						
							|  |  |  |         final input = find.byType(TextFormField); | 
					
						
							|  |  |  |         expect(input, findsOneWidget); | 
					
						
							|  |  |  |         await enterText(input, name); | 
					
						
							|  |  |  |         await tapButton(find.text(LocaleKeys.button_ok.tr())); | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |     ); | 
					
						
							| 
									
										
										
										
											2024-03-15 13:10:30 +07:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Future<void> changeWorkspaceIcon(String icon) async { | 
					
						
							|  |  |  |     final iconButton = find.descendant( | 
					
						
							|  |  |  |       of: find.byType(WorkspaceMenuItem), | 
					
						
							|  |  |  |       matching: find.byType(WorkspaceIcon), | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |     expect(iconButton, findsOneWidget); | 
					
						
							|  |  |  |     await tapButton(iconButton); | 
					
						
							|  |  |  |     final iconPicker = find.byType(FlowyIconPicker); | 
					
						
							|  |  |  |     expect(iconPicker, findsOneWidget); | 
					
						
							|  |  |  |     await tapButton(find.findTextInFlowyText(icon)); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |