mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-07-08 17:47:11 +00:00

* fix:windows integration test * fix: load asset * fix: windows test * fix: test * test: refactor the folder test --------- Co-authored-by: vedon <vedon.fu@gmail.com> Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
109 lines
3.2 KiB
Dart
109 lines
3.2 KiB
Dart
import 'package:appflowy/startup/startup.dart';
|
|
import 'package:appflowy/startup/tasks/prelude.dart';
|
|
import 'package:appflowy/workspace/application/settings/prelude.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:integration_test/integration_test.dart';
|
|
import 'package:path/path.dart' as p;
|
|
import 'util/mock/mock_file_picker.dart';
|
|
import 'util/util.dart';
|
|
|
|
void main() {
|
|
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
|
|
|
|
group('customize the folder path', () {
|
|
testWidgets('switch to B from A, then switch to A again', (tester) async {
|
|
const userA = 'UserA';
|
|
const userB = 'UserB';
|
|
|
|
final initialPath = p.join(userA, appFlowyDataFolder);
|
|
final context = await tester.initializeAppFlowy(
|
|
pathExtension: initialPath,
|
|
);
|
|
// remove the last extension
|
|
final rootPath = context.applicationDataDirectory.replaceFirst(
|
|
initialPath,
|
|
'',
|
|
);
|
|
|
|
await tester.tapGoButton();
|
|
tester.expectToSeeHomePage();
|
|
|
|
// switch to user B
|
|
{
|
|
// set user name for userA
|
|
await tester.openSettings();
|
|
await tester.openSettingsPage(SettingsPage.user);
|
|
await tester.enterUserName(userA);
|
|
|
|
await tester.openSettingsPage(SettingsPage.files);
|
|
await tester.pumpAndSettle();
|
|
|
|
// mock the file_picker result
|
|
await mockGetDirectoryPath(
|
|
p.join(rootPath, userB),
|
|
);
|
|
await tester.tapCustomLocationButton();
|
|
await tester.pumpAndSettle();
|
|
tester.expectToSeeHomePage();
|
|
|
|
// set user name for userB
|
|
await tester.openSettings();
|
|
await tester.openSettingsPage(SettingsPage.user);
|
|
await tester.enterUserName(userB);
|
|
}
|
|
|
|
// switch to the userA
|
|
{
|
|
await tester.openSettingsPage(SettingsPage.files);
|
|
await tester.pumpAndSettle();
|
|
|
|
// mock the file_picker result
|
|
await mockGetDirectoryPath(
|
|
p.join(rootPath, userA),
|
|
);
|
|
await tester.tapCustomLocationButton();
|
|
|
|
await tester.pumpAndSettle();
|
|
tester.expectToSeeHomePage();
|
|
tester.expectToSeeUserName(userA);
|
|
}
|
|
|
|
// switch to the userB again
|
|
{
|
|
await tester.openSettings();
|
|
await tester.openSettingsPage(SettingsPage.files);
|
|
await tester.pumpAndSettle();
|
|
|
|
// mock the file_picker result
|
|
await mockGetDirectoryPath(
|
|
p.join(rootPath, userB),
|
|
);
|
|
await tester.tapCustomLocationButton();
|
|
|
|
await tester.pumpAndSettle();
|
|
tester.expectToSeeHomePage();
|
|
tester.expectToSeeUserName(userB);
|
|
}
|
|
});
|
|
|
|
testWidgets('reset to default location', (tester) async {
|
|
await tester.initializeAppFlowy();
|
|
|
|
await tester.tapGoButton();
|
|
|
|
// home and readme document
|
|
tester.expectToSeeHomePage();
|
|
|
|
// open settings and restore the location
|
|
await tester.openSettings();
|
|
await tester.openSettingsPage(SettingsPage.files);
|
|
await tester.restoreLocation();
|
|
|
|
expect(
|
|
await appFlowyApplicationDataDirectory().then((value) => value.path),
|
|
await getIt<ApplicationDataStorage>().getPath(),
|
|
);
|
|
});
|
|
});
|
|
}
|