1
import 'package:auto_gpt_flutter_client/views/chat/agent_message_tile.dart';
2
import 'package:auto_gpt_flutter_client/views/chat/json_code_snippet_view.dart';
3
import 'package:flutter/material.dart';
4
import 'package:flutter_test/flutter_test.dart';
7
// Test to verify that the AgentMessageTile renders correctly
8
testWidgets('Renders AgentMessageTile', (WidgetTester tester) async {
9
await tester.pumpWidget(const MaterialApp(
11
body: AgentMessageTile(message: 'Test Message'),
15
// Verify that the agent title is displayed
16
expect(find.text('Agent'), findsOneWidget);
17
// Verify that the message text is displayed
18
expect(find.text('Test Message'), findsOneWidget);
21
// Test to verify that the expand/collapse functionality works
22
testWidgets('Toggle Expand/Collapse', (WidgetTester tester) async {
23
await tester.pumpWidget(const MaterialApp(
25
body: AgentMessageTile(message: 'Test Message'),
29
// Verify that the JSON code snippet is not visible initially
30
expect(find.byType(JsonCodeSnippetView), findsNothing);
32
// Tap the expand/collapse button
33
await tester.tap(find.byIcon(Icons.keyboard_arrow_down));
34
await tester.pumpAndSettle();
36
// Verify that the JSON code snippet is now visible
37
expect(find.byType(JsonCodeSnippetView), findsOneWidget);
39
// Tap the expand/collapse button again
40
await tester.tap(find.byIcon(Icons.keyboard_arrow_up));
41
await tester.pumpAndSettle();
43
// Verify that the JSON code snippet is hidden again
44
expect(find.byType(JsonCodeSnippetView), findsNothing);