import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:lucide_icons/lucide_icons.dart'; import 'package:social_app/features/home/ui/screens/home_screen.dart'; import 'package:social_app/shared/widgets/chat_bubble.dart'; void main() { group('HomeScreen Widget Tests', () { testWidgets('displays chat messages with ChatBubble', ( WidgetTester tester, ) async { await tester.pumpWidget(const MaterialApp(home: HomeScreen())); expect(find.byType(ChatBubble), findsAtLeastNWidgets(1)); }); testWidgets('displays user request message', (WidgetTester tester) async { await tester.pumpWidget(const MaterialApp(home: HomeScreen())); expect(find.textContaining('明天提醒我开会'), findsOneWidget); }); testWidgets('displays AI response message', (WidgetTester tester) async { await tester.pumpWidget(const MaterialApp(home: HomeScreen())); expect(find.textContaining('已为你创建日程'), findsOneWidget); }); testWidgets('displays calendar schedule cards in chat flow', ( WidgetTester tester, ) async { await tester.pumpWidget(const MaterialApp(home: HomeScreen())); expect(find.byType(ChatBubble), findsAtLeastNWidgets(2)); }); testWidgets('input field is present', (WidgetTester tester) async { await tester.pumpWidget(const MaterialApp(home: HomeScreen())); expect(find.byType(TextField), findsOneWidget); expect(find.text('输入消息...'), findsOneWidget); }); testWidgets('header icons are present', (WidgetTester tester) async { await tester.pumpWidget(const MaterialApp(home: HomeScreen())); expect(find.byIcon(LucideIcons.settings), findsOneWidget); expect(find.byIcon(LucideIcons.calendar), findsOneWidget); expect(find.byIcon(LucideIcons.messageSquare), findsOneWidget); }); }); }