mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-18 02:12:33 -06:00
feat: Add login integration test (WIP), update notes feature
This commit is contained in:
@@ -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: ),));
|
||||
}
|
||||
|
||||
65
integration_test/src/mocks/mock_paperless_api.dart
Normal file
65
integration_test/src/mocks/mock_paperless_api.dart
Normal 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user