import 'package:eatvio_app/core/error_reporting/no_op_error_reporter.dart'; import 'package:eatvio_app/core/firebase_api.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { group('FirebaseApi', () { test('создается экземпляр', () { // В тестах Firebase не может быть инициализирован // Проверяем, что попытка создания приводит к ожидаемой ошибке expect( () => FirebaseApi(errorReporter: const NoOpErrorReporter()), throwsA(isA()), ); }); test('getToken возвращает Future', () { // Метод getToken требует инициализированный Firebase // В тестах мы проверяем, что он выбрасывает ожидаемую ошибку try { final api = FirebaseApi(errorReporter: const NoOpErrorReporter()); expect(() => api.getToken(), throwsA(isA())); } catch (e) { expect(e.toString(), contains('No Firebase App')); } }); test('registerAnonymousPushToken возвращает Future', () { // Метод registerAnonymousPushToken требует инициализированный Firebase try { final api = FirebaseApi(errorReporter: const NoOpErrorReporter()); expect(() => api.registerAnonymousPushToken(), throwsA(isA())); } catch (e) { expect(e.toString(), contains('No Firebase App')); } }); test('registerPushToken возвращает Future', () { // Метод registerPushToken требует инициализированный Firebase try { final api = FirebaseApi(errorReporter: const NoOpErrorReporter()); expect(() => api.registerPushToken(), throwsA(isA())); } catch (e) { expect(e.toString(), contains('No Firebase App')); } }); }); }