import 'package:eatvio_app/core/utils/toasts.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); group('Toasts', () { setUp(() { // Mock Fluttertoast plugin TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( const MethodChannel('PonnamKarthik/fluttertoast'), (MethodCall methodCall) async { return null; }, ); }); tearDown(() { // Clear mock handlers TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( const MethodChannel('PonnamKarthik/fluttertoast'), null, ); }); test('showInfoToast - вызывает Fluttertoast без ошибок', () { expect(() => showInfoToast('Информационное сообщение'), returnsNormally); }); test('showErrorToast - вызывает Fluttertoast без ошибок', () { expect(() => showErrorToast('Сообщение об ошибке'), returnsNormally); }); test('showSuccessToast - вызывает Fluttertoast без ошибок', () { expect(() => showSuccessToast('Успешное сообщение'), returnsNormally); }); test('showInternetConnectionToast - вызывает Fluttertoast без ошибок', () { expect(() => showInternetConnectionToast(), returnsNormally); }); test('showInfoToast - работает с пустой строкой', () { expect(() => showInfoToast(''), returnsNormally); }); test('showErrorToast - работает с длинным сообщением', () { final longMessage = 'Очень длинное сообщение об ошибке ' * 10; expect(() => showErrorToast(longMessage), returnsNormally); }); test('showSuccessToast - работает с различными сообщениями', () { expect(() => showSuccessToast('Операция выполнена успешно'), returnsNormally); expect(() => showSuccessToast('Данные сохранены'), returnsNormally); expect(() => showSuccessToast('Загрузка завершена'), returnsNormally); }); }); }