Files
social-app/apps/test/features/chat/ui_schema_renderer_test.dart
T
qzl e55f12cdc1 test: 更新 AgentScope 相关单元测试与集成测试
- 重命名 test_react_runner.py 为 test_runner.py
- 新增 test_utils.py 测试工具函数
- 更新现有测试用例适配新架构
2026-03-16 16:11:06 +08:00

75 lines
2.0 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:social_app/features/chat/ui/widgets/ui_schema_renderer.dart';
void main() {
group('UiSchemaRenderer', () {
testWidgets('renders stack title and badge', (tester) async {
final schema = {
'version': '2.0',
'locale': 'zh-CN',
'status': 'success',
'theme': 'default',
'root': {
'type': 'stack',
'direction': 'vertical',
'appearance': 'card',
'children': [
{'type': 'text', 'role': 'title', 'content': '日程已创建'},
{'type': 'badge', 'label': 'SUCCESS', 'status': 'success'},
],
},
};
await tester.pumpWidget(
MaterialApp(
home: Scaffold(body: UiSchemaRenderer.renderSchema(schema)),
),
);
expect(find.text('日程已创建'), findsOneWidget);
expect(find.text('SUCCESS'), findsOneWidget);
});
testWidgets('renders kv node values', (tester) async {
final schema = {
'version': '2.0',
'root': {
'type': 'stack',
'direction': 'vertical',
'appearance': 'card',
'children': [
{
'type': 'kv',
'items': [
{'key': 'title', 'label': '标题', 'value': '评审会'},
],
},
],
},
};
await tester.pumpWidget(
MaterialApp(
home: Scaffold(body: UiSchemaRenderer.renderSchema(schema)),
),
);
expect(find.text('标题'), findsOneWidget);
expect(find.text('评审会'), findsOneWidget);
});
testWidgets('renders fallback for invalid schema', (tester) async {
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: UiSchemaRenderer.renderSchema({'version': '2.0'}),
),
),
);
expect(find.textContaining('无效 UI Schema'), findsOneWidget);
});
});
}