feat: Add login integration test (WIP), update notes feature

This commit is contained in:
Anton Stubenbord
2024-01-06 19:23:30 +01:00
parent 64d49a4a24
commit 497777c52b
20 changed files with 465 additions and 418 deletions

View File

@@ -1,7 +1,16 @@
import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';
import 'package:paperless_mobile/core/factory/paperless_api_factory.dart';
import 'package:paperless_mobile/core/security/session_manager.dart';
import 'package:paperless_mobile/core/service/connectivity_status_service.dart';
import 'package:paperless_mobile/features/login/cubit/authentication_cubit.dart';
import 'package:paperless_mobile/features/login/services/authentication_service.dart';
import 'package:paperless_mobile/features/notifications/services/local_notification_service.dart';
import 'package:paperless_mobile/generated/l10n/app_localizations.dart';
import 'package:paperless_mobile/main.dart'
show initializeDefaultParameters, AppEntrypoint;
import 'package:path_provider/path_provider.dart';
Future<TestingFrameworkVariables> initializeTestingFramework(
{String languageCode = 'en'}) async {
@@ -26,11 +35,3 @@ class TestingFrameworkVariables {
required this.translations,
});
}
Future<void> initAndLaunchTestApp(
WidgetTester tester,
Future<void> Function() initializationCallback,
) async {
await initializationCallback();
//runApp(const PaperlessMobileEntrypoint(authenticationCubit: ),));
}

View File

@@ -0,0 +1,65 @@
import 'package:dio/src/dio.dart';
import 'package:paperless_api/paperless_api.dart';
import 'package:paperless_mobile/core/factory/paperless_api_factory.dart';
import 'package:mockito/annotations.dart';
@GenerateNiceMocks([
MockSpec<PaperlessAuthenticationApi>(),
MockSpec<PaperlessDocumentsApi>(),
MockSpec<PaperlessLabelsApi>(),
MockSpec<PaperlessUserApi>(),
MockSpec<PaperlessServerStatsApi>(),
MockSpec<PaperlessSavedViewsApi>(),
MockSpec<PaperlessTasksApi>(),
])
import 'mock_paperless_api.mocks.dart';
class MockPaperlessApiFactory implements PaperlessApiFactory {
final PaperlessAuthenticationApi authenticationApi =
MockPaperlessAuthenticationApi();
final PaperlessDocumentsApi documentApi = MockPaperlessDocumentsApi();
final PaperlessLabelsApi labelsApi = MockPaperlessLabelsApi();
final PaperlessUserApi userApi = MockPaperlessUserApi();
final PaperlessSavedViewsApi savedViewsApi = MockPaperlessSavedViewsApi();
final PaperlessServerStatsApi serverStatsApi = MockPaperlessServerStatsApi();
final PaperlessTasksApi tasksApi = MockPaperlessTasksApi();
@override
PaperlessAuthenticationApi createAuthenticationApi(Dio dio) {
return authenticationApi;
}
@override
PaperlessDocumentsApi createDocumentsApi(Dio dio, {required int apiVersion}) {
return documentApi;
}
@override
PaperlessLabelsApi createLabelsApi(Dio dio, {required int apiVersion}) {
return labelsApi;
}
@override
PaperlessSavedViewsApi createSavedViewsApi(
Dio dio, {
required int apiVersion,
}) {
return savedViewsApi;
}
@override
PaperlessServerStatsApi createServerStatsApi(Dio dio,
{required int apiVersion}) {
return serverStatsApi;
}
@override
PaperlessTasksApi createTasksApi(Dio dio, {required int apiVersion}) {
return tasksApi;
}
@override
PaperlessUserApi createUserApi(Dio dio, {required int apiVersion}) {
return userApi;
}
}