autogpt / frontend /test /chat_input_field_test.dart
kakumusic's picture
Upload folder using huggingface_hub
b225a21 verified
raw
history blame
1.96 kB
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:auto_gpt_flutter_client/views/chat/chat_input_field.dart';
void main() {
// Test if the ChatInputField widget renders correctly
testWidgets('ChatInputField renders correctly', (WidgetTester tester) async {
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: ChatInputField(
onSendPressed: () {},
),
),
),
);
// Find the TextField widget
expect(find.byType(TextField), findsOneWidget);
// Find the send IconButton
expect(find.byIcon(Icons.send), findsOneWidget);
});
// Test if the TextField inside ChatInputField can accept and display input
testWidgets('ChatInputField text field accepts input',
(WidgetTester tester) async {
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: ChatInputField(
onSendPressed: () {},
),
),
),
);
// Type 'Hello' into the TextField
await tester.enterText(find.byType(TextField), 'Hello');
// Rebuild the widget with the new text
await tester.pump();
// Expect to find 'Hello' in the TextField
expect(find.text('Hello'), findsOneWidget);
});
// Test if the send button triggers the provided onSendPressed callback
testWidgets('ChatInputField send button triggers callback',
(WidgetTester tester) async {
bool onPressedCalled = false;
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: ChatInputField(
onSendPressed: () {
onPressedCalled = true;
},
),
),
),
);
// Tap the send IconButton
await tester.tap(find.byIcon(Icons.send));
// Rebuild the widget after the tap
await tester.pump();
// Check if the callback was called
expect(onPressedCalled, isTrue);
});
}