diff options
Diffstat (limited to 'frontend/test/agent_message_tile_test.dart')
-rw-r--r-- | frontend/test/agent_message_tile_test.dart | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/frontend/test/agent_message_tile_test.dart b/frontend/test/agent_message_tile_test.dart new file mode 100644 index 000000000..89de5bd4b --- /dev/null +++ b/frontend/test/agent_message_tile_test.dart @@ -0,0 +1,46 @@ +import 'package:auto_gpt_flutter_client/views/chat/agent_message_tile.dart'; +import 'package:auto_gpt_flutter_client/views/chat/json_code_snippet_view.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + // Test to verify that the AgentMessageTile renders correctly + testWidgets('Renders AgentMessageTile', (WidgetTester tester) async { + await tester.pumpWidget(const MaterialApp( + home: Scaffold( + body: AgentMessageTile(message: 'Test Message'), + ), + )); + + // Verify that the agent title is displayed + expect(find.text('Agent'), findsOneWidget); + // Verify that the message text is displayed + expect(find.text('Test Message'), findsOneWidget); + }); + + // Test to verify that the expand/collapse functionality works + testWidgets('Toggle Expand/Collapse', (WidgetTester tester) async { + await tester.pumpWidget(const MaterialApp( + home: Scaffold( + body: AgentMessageTile(message: 'Test Message'), + ), + )); + + // Verify that the JSON code snippet is not visible initially + expect(find.byType(JsonCodeSnippetView), findsNothing); + + // Tap the expand/collapse button + await tester.tap(find.byIcon(Icons.keyboard_arrow_down)); + await tester.pumpAndSettle(); + + // Verify that the JSON code snippet is now visible + expect(find.byType(JsonCodeSnippetView), findsOneWidget); + + // Tap the expand/collapse button again + await tester.tap(find.byIcon(Icons.keyboard_arrow_up)); + await tester.pumpAndSettle(); + + // Verify that the JSON code snippet is hidden again + expect(find.byType(JsonCodeSnippetView), findsNothing); + }); +} |