forked from eatvio/eatvio_app
68 lines
1.8 KiB
Dart
68 lines
1.8 KiB
Dart
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);
|
||
});
|
||
});
|
||
}
|
||
|
||
|