Polish health app UI

This commit is contained in:
MingNian
2026-06-26 14:37:17 +08:00
parent 86c7957144
commit df37076c46
46 changed files with 717 additions and 514 deletions

View File

@@ -1,71 +0,0 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:health_app/core/app_theme.dart';
import 'package:health_app/pages/auth/login_page.dart';
void main() {
testWidgets('主题颜色正确', (tester) async {
expect(AppTheme.primary, const Color(0xFF6366F1));
expect(AppTheme.primaryLight, const Color(0xFFEEF2FF));
expect(AppTheme.bg, AppTheme.bg);
expect(AppTheme.error, const Color(0xFFF56C6C));
expect(AppTheme.success, const Color(0xFF6ECF8A));
});
testWidgets('登录页渲染正常', (tester) async {
await tester.pumpWidget(const ProviderScope(child: MaterialApp(home: LoginPage())));
await tester.pumpAndSettle();
expect(find.text('小脉健康'), findsOneWidget);
expect(find.text('登 录'), findsOneWidget);
});
testWidgets('获取验证码按钮存在', (tester) async {
await tester.pumpWidget(const ProviderScope(child: MaterialApp(home: LoginPage())));
await tester.pumpAndSettle();
expect(find.text('获取验证码'), findsOneWidget);
});
testWidgets('AI 气泡样式', (tester) async {
await tester.pumpWidget(MaterialApp(
theme: AppTheme.lightTheme,
home: Scaffold(body: Align(
alignment: Alignment.centerLeft,
child: Container(
constraints: const BoxConstraints(maxWidth: 300),
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(16),
border: const Border(left: BorderSide(color: AppTheme.primaryLight, width: 3)),
),
child: const Text('收到!已记录', style: TextStyle(fontSize: 16)),
),
)),
));
await tester.pumpAndSettle();
expect(find.text('收到!已记录'), findsOneWidget);
});
testWidgets('用户气泡样式', (tester) async {
await tester.pumpWidget(MaterialApp(
theme: AppTheme.lightTheme,
home: Scaffold(body: Align(
alignment: Alignment.centerRight,
child: Container(
constraints: const BoxConstraints(maxWidth: 300),
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: AppTheme.primaryLight,
borderRadius: BorderRadius.circular(16),
),
child: const Text('血压 135/85', style: TextStyle(fontSize: 16, color: Colors.white)),
),
)),
));
await tester.pumpAndSettle();
expect(find.text('血压 135/85'), findsOneWidget);
});
}