import 'package:eatvio_app/common/widgets/markdown_editor.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { group('MarkdownEditor', () { testWidgets('отображается как виджет', (WidgetTester tester) async { await tester.pumpWidget( const MaterialApp( home: Scaffold( body: MarkdownEditor(), ), ), ); expect(find.byType(MarkdownEditor), findsOneWidget); }); testWidgets('инициализируется с initialText', (WidgetTester tester) async { await tester.pumpWidget( const MaterialApp( home: Scaffold( body: MarkdownEditor(initialText: 'Initial text'), ), ), ); expect(find.byType(MarkdownEditor), findsOneWidget); }); testWidgets('отображает hintText', (WidgetTester tester) async { await tester.pumpWidget( const MaterialApp( home: Scaffold( body: MarkdownEditor(hintText: 'Enter text here'), ), ), ); expect(find.byType(MarkdownEditor), findsOneWidget); }); testWidgets('вызывает onChanged при изменении текста', (WidgetTester tester) async { String? changedValue; await tester.pumpWidget( MaterialApp( home: Scaffold( body: MarkdownEditor( onChanged: (value) => changedValue = value, ), ), ), ); final textField = find.byType(TextField); expect(textField, findsOneWidget); await tester.enterText(textField, 'Test'); await tester.pump(); // onChanged должен быть вызван expect(changedValue, isNotNull); }); }); }