import 'package:fluttery/fluttery.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:fluttery/logger/logger.dart'; import 'package:fluttery/src/logger/logger_impl.dart'; import 'package:kiwi/kiwi.dart'; import 'mocks/mocks.dart'; void main() { group('App Service Tests', () { // Clear the singleton state before each test to ensure isolation setUp(() { // KiwiContainer provides a clear method to remove all registered services KiwiContainer().clear(); }); test('should register and resolve a custom service', () { // Register a mock logger service final mockLogger = MockLogger(); App.registerService(() => mockLogger); // Resolve the service and check if it's the same instance final resolvedLogger = App.service(); expect(resolvedLogger, isA()); expect(resolvedLogger, same(mockLogger)); }); test('should register and resolve default services', () { // Register default services App.registerDefaultServices(); // Resolve the Logger service and check if it's an instance of LoggerImpl final logger = App.service(); expect(logger, isA()); }); }); }