refactor: UI 화면 통합 및 불필요한 파일 정리
Some checks failed
Flutter Test & Quality Check / Build APK (push) Has been cancelled
Flutter Test & Quality Check / Test on macos-latest (push) Has been cancelled
Flutter Test & Quality Check / Test on ubuntu-latest (push) Has been cancelled

- 모든 *_redesign.dart 파일을 기본 화면 파일로 통합
- 백업용 컨트롤러 파일들 제거 (*_controller.backup.dart)
- 사용하지 않는 예제 및 테스트 파일 제거
- Clean Architecture 적용 후 남은 정리 작업 완료
- 테스트 코드 정리 및 구조 개선 준비

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
JiWoong Sul
2025-08-11 14:00:44 +09:00
parent 162fe08618
commit 1e6da44917
103 changed files with 1224 additions and 2976 deletions

View File

@@ -128,9 +128,9 @@ class ReportCollector {
}
return TestResult(
totalTests: totalTests == 0 ? _steps.length : totalTests,
passedTests: passedTests == 0 ? _steps.where((s) => s.success).length : passedTests,
failedTests: failedTests == 0 ? _steps.where((s) => !s.success).length : failedTests,
totalTests: totalTests == 0 ? _steps.items.length : totalTests,
passedTests: passedTests == 0 ? _steps.items.where((s) => s.success).items.length : passedTests,
failedTests: failedTests == 0 ? _steps.items.where((s) => !s.success).items.length : failedTests,
skippedTests: skippedTests,
failures: failures,
);
@@ -187,22 +187,22 @@ class ReportCollector {
buffer.writeln('- 성공: ${testResult.passedTests}');
buffer.writeln('- 실패: ${testResult.failedTests}');
if (_autoFixes.isNotEmpty) {
if (_autoFixes.items.isNotEmpty) {
buffer.writeln('\n자동 수정 요약:');
buffer.writeln('- 총 ${_autoFixes.length}개 항목 자동 수정됨');
final fixTypes = _autoFixes.map((f) => f.errorType).toSet();
buffer.writeln('- 총 ${_autoFixes.items.length}개 항목 자동 수정됨');
final fixTypes = _autoFixes.items.map((f) => f.errorType).toSet();
for (final type in fixTypes) {
final count = _autoFixes.where((f) => f.errorType == type).length;
final count = _autoFixes.items.where((f) => f.errorType == type).items.length;
buffer.writeln(' - $type: $count개');
}
}
if (_errors.isNotEmpty) {
if (_errors.items.isNotEmpty) {
buffer.writeln('\n에러 요약:');
buffer.writeln('- 총 ${_errors.length}개 에러 발생');
final errorTypes = _errors.map((e) => e.errorType).toSet();
buffer.writeln('- 총 ${_errors.items.length}개 에러 발생');
final errorTypes = _errors.items.map((e) => e.errorType).toSet();
for (final type in errorTypes) {
final count = _errors.where((e) => e.errorType == type).length;
final count = _errors.items.where((e) => e.errorType == type).items.length;
buffer.writeln(' - $type: $count개');
}
}
@@ -222,13 +222,13 @@ class ReportCollector {
/// 통계 정보 조회
Map<String, dynamic> getStatistics() {
return {
'totalSteps': _steps.length,
'successfulSteps': _steps.where((s) => s.success).length,
'failedSteps': _steps.where((s) => !s.success).length,
'totalErrors': _errors.length,
'totalAutoFixes': _autoFixes.length,
'totalFeatures': _features.length,
'totalApiCalls': _apiCalls.values.expand((calls) => calls).length,
'totalSteps': _steps.items.length,
'successfulSteps': _steps.items.where((s) => s.success).items.length,
'failedSteps': _steps.items.where((s) => !s.success).items.length,
'totalErrors': _errors.items.length,
'totalAutoFixes': _autoFixes.items.length,
'totalFeatures': _features.items.length,
'totalApiCalls': _apiCalls.values.expand((calls) => calls).items.length,
'duration': DateTime.now().difference(_startTime).inSeconds,
};
}
@@ -272,7 +272,7 @@ class ReportCollector {
buffer.writeln();
// 기능별 결과
if (report.features.isNotEmpty) {
if (report.features.items.isNotEmpty) {
buffer.writeln('## 🎯 기능별 테스트 결과');
buffer.writeln();
buffer.writeln('| 기능 | 전체 | 성공 | 실패 | 성공률 |');
@@ -288,7 +288,7 @@ class ReportCollector {
}
// 실패 상세
if (report.testResult.failures.isNotEmpty) {
if (report.testResult.failures.items.isNotEmpty) {
buffer.writeln('## ❌ 실패한 테스트');
buffer.writeln();
@@ -303,7 +303,7 @@ class ReportCollector {
}
// 자동 수정
if (report.autoFixes.isNotEmpty) {
if (report.autoFixes.items.isNotEmpty) {
buffer.writeln('## 🔧 자동 수정 내역');
buffer.writeln();
@@ -341,17 +341,17 @@ class ReportCollector {
: '0.0',
},
'statistics': stats,
'features': report.features.map((key, value) => MapEntry(key, {
'features': report.features.items.map((key, value) => MapEntry(key, {
'totalTests': value.totalTests,
'passedTests': value.passedTests,
'failedTests': value.failedTests,
})),
'failures': report.testResult.failures.map((f) => {
'failures': report.testResult.failures.items.map((f) => {
'feature': f.feature,
'message': f.message,
'stackTrace': f.stackTrace,
}).toList(),
'autoFixes': report.autoFixes.map((f) => {
'autoFixes': report.autoFixes.items.map((f) => {
'errorType': f.errorType,
'cause': f.cause,
'solution': f.solution,