mudular code ready to fork
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:app_boilerplate/core/exceptions/invalid_environment_exception.dart';
|
||||
import 'package:app_boilerplate/config/config_loader.dart';
|
||||
|
||||
void main() {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'dart:io';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:mockito/annotations.dart';
|
||||
import 'package:app_boilerplate/core/exceptions/firebase_exception.dart' show FirebaseServiceException;
|
||||
import 'package:app_boilerplate/data/firebase/firebase_service.dart';
|
||||
import 'package:app_boilerplate/data/firebase/models/firebase_config.dart';
|
||||
import 'package:app_boilerplate/data/local/local_storage_service.dart';
|
||||
@@ -81,7 +82,7 @@ void main() {
|
||||
// but that's expected - Firebase requires actual project setup
|
||||
expect(
|
||||
() => service.initialize(),
|
||||
throwsA(isA<FirebaseException>()),
|
||||
throwsA(isA<FirebaseServiceException>()),
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -102,7 +103,7 @@ void main() {
|
||||
email: '[email protected]',
|
||||
password: 'password123',
|
||||
),
|
||||
throwsA(isA<FirebaseException>()),
|
||||
throwsA(isA<FirebaseServiceException>()),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -118,7 +119,7 @@ void main() {
|
||||
email: '[email protected]',
|
||||
password: 'password123',
|
||||
),
|
||||
throwsA(isA<FirebaseException>()),
|
||||
throwsA(isA<FirebaseServiceException>()),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -134,7 +135,7 @@ void main() {
|
||||
|
||||
expect(
|
||||
() => service.logout(),
|
||||
throwsA(isA<FirebaseException>()),
|
||||
throwsA(isA<FirebaseServiceException>()),
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -152,7 +153,7 @@ void main() {
|
||||
|
||||
expect(
|
||||
() => service.syncItemsToFirestore('user1'),
|
||||
throwsA(isA<FirebaseException>()),
|
||||
throwsA(isA<FirebaseServiceException>()),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -165,7 +166,7 @@ void main() {
|
||||
|
||||
expect(
|
||||
() => service.syncItemsToFirestore('user1'),
|
||||
throwsA(isA<FirebaseException>()),
|
||||
throwsA(isA<FirebaseServiceException>()),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -181,7 +182,7 @@ void main() {
|
||||
|
||||
expect(
|
||||
() => service.syncItemsFromFirestore('user1'),
|
||||
throwsA(isA<FirebaseException>()),
|
||||
throwsA(isA<FirebaseServiceException>()),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -194,7 +195,7 @@ void main() {
|
||||
|
||||
expect(
|
||||
() => service.syncItemsFromFirestore('user1'),
|
||||
throwsA(isA<FirebaseException>()),
|
||||
throwsA(isA<FirebaseServiceException>()),
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -215,7 +216,7 @@ void main() {
|
||||
|
||||
expect(
|
||||
() => service.uploadFile(testFile, 'test/path.txt'),
|
||||
throwsA(isA<FirebaseException>()),
|
||||
throwsA(isA<FirebaseServiceException>()),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -231,7 +232,7 @@ void main() {
|
||||
|
||||
expect(
|
||||
() => service.uploadFile(testFile, 'test/path.txt'),
|
||||
throwsA(isA<FirebaseException>()),
|
||||
throwsA(isA<FirebaseServiceException>()),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'dart:io';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:app_boilerplate/core/exceptions/immich_exception.dart';
|
||||
import 'package:app_boilerplate/data/immich/immich_service.dart';
|
||||
import 'package:app_boilerplate/data/immich/models/immich_asset.dart';
|
||||
import 'package:app_boilerplate/data/local/local_storage_service.dart';
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:app_boilerplate/core/exceptions/nostr_exception.dart';
|
||||
import 'package:app_boilerplate/data/nostr/nostr_service.dart';
|
||||
import 'package:app_boilerplate/data/nostr/models/nostr_keypair.dart';
|
||||
import 'package:app_boilerplate/data/nostr/models/nostr_event.dart';
|
||||
|
||||
@@ -2,6 +2,7 @@ import 'dart:io';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:path/path.dart' as path;
|
||||
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
|
||||
import 'package:app_boilerplate/core/exceptions/session_exception.dart';
|
||||
import 'package:app_boilerplate/data/session/session_service.dart';
|
||||
import 'package:app_boilerplate/data/local/local_storage_service.dart';
|
||||
import 'package:app_boilerplate/data/local/models/item.dart';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'dart:io';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:app_boilerplate/core/exceptions/sync_exception.dart';
|
||||
import 'package:app_boilerplate/data/sync/sync_engine.dart';
|
||||
import 'package:app_boilerplate/data/sync/models/sync_status.dart';
|
||||
import 'package:app_boilerplate/data/sync/models/sync_operation.dart';
|
||||
|
||||
@@ -9,6 +9,7 @@ import 'package:app_boilerplate/data/nostr/models/nostr_keypair.dart';
|
||||
import 'package:app_boilerplate/data/sync/sync_engine.dart';
|
||||
import 'package:app_boilerplate/data/session/session_service.dart';
|
||||
import 'package:app_boilerplate/data/firebase/firebase_service.dart';
|
||||
import 'package:app_boilerplate/core/service_locator.dart';
|
||||
|
||||
import 'main_navigation_scaffold_test.mocks.dart';
|
||||
|
||||
@@ -42,17 +43,25 @@ void main() {
|
||||
// Stub NostrService methods that might be called by UI
|
||||
final mockKeyPair = NostrKeyPair.generate();
|
||||
when(mockNostrService.generateKeyPair()).thenReturn(mockKeyPair);
|
||||
|
||||
// Register services with ServiceLocator
|
||||
ServiceLocator.instance.registerServices(
|
||||
localStorageService: mockLocalStorageService,
|
||||
nostrService: mockNostrService,
|
||||
syncEngine: mockSyncEngine,
|
||||
sessionService: mockSessionService,
|
||||
firebaseService: mockFirebaseService,
|
||||
);
|
||||
});
|
||||
|
||||
tearDown(() {
|
||||
// Reset ServiceLocator after each test
|
||||
ServiceLocator.instance.reset();
|
||||
});
|
||||
|
||||
Widget createTestWidget() {
|
||||
return MaterialApp(
|
||||
home: MainNavigationScaffold(
|
||||
sessionService: mockSessionService,
|
||||
localStorageService: mockLocalStorageService,
|
||||
nostrService: mockNostrService,
|
||||
syncEngine: mockSyncEngine,
|
||||
firebaseService: mockFirebaseService,
|
||||
),
|
||||
home: const MainNavigationScaffold(),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user