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

@@ -15,7 +15,7 @@ class ScreenMetadata {
Map<String, dynamic> toJson() => {
'screenName': screenName,
'controllerType': controllerType.toString(),
'relatedEndpoints': relatedEndpoints.map((e) => e.toJson()).toList(),
'relatedEndpoints': relatedEndpoints.items.map((e) => e.toJson()).toList(),
'screenCapabilities': screenCapabilities,
};
}
@@ -267,7 +267,7 @@ class TestResult {
this.endTime,
});
bool get success => errors.isEmpty && featureResults.every((r) => r.success);
bool get success => errors.items.isEmpty && featureResults.items.every((r) => r.success);
bool get passed => success; // 호환성을 위한 별칭
Duration get duration => endTime != null
@@ -277,37 +277,37 @@ class TestResult {
// 테스트 카운트 관련 getter들
int get totalTests => featureResults
.expand((r) => r.testCaseResults)
.length;
.items.length;
int get passedTests => featureResults
.expand((r) => r.testCaseResults)
.where((r) => r.success)
.length;
.items.where((r) => r.success)
.items.length;
int get failedTests => totalTests - passedTests;
void calculateMetrics() {
metrics['totalFeatures'] = featureResults.length;
metrics['successfulFeatures'] = featureResults.where((r) => r.success).length;
metrics['failedFeatures'] = featureResults.where((r) => !r.success).length;
metrics['totalFeatures'] = featureResults.items.length;
metrics['successfulFeatures'] = featureResults.items.where((r) => r.success).items.length;
metrics['failedFeatures'] = featureResults.items.where((r) => !r.success).items.length;
metrics['totalTestCases'] = featureResults
.expand((r) => r.testCaseResults)
.length;
.items.length;
metrics['successfulTestCases'] = featureResults
.expand((r) => r.testCaseResults)
.where((r) => r.success)
.length;
.items.where((r) => r.success)
.items.length;
metrics['averageDuration'] = _calculateAverageDuration();
}
double _calculateAverageDuration() {
final allDurations = featureResults
.expand((r) => r.testCaseResults)
.map((r) => r.duration.inMilliseconds);
.items.map((r) => r.duration.inMilliseconds);
if (allDurations.isEmpty) return 0;
if (allDurations.items.isEmpty) return 0;
return allDurations.reduce((a, b) => a + b) / allDurations.length;
return allDurations.reduce((a, b) => a + b) / allDurations.items.length;
}
Map<String, dynamic> toJson() => {
@@ -316,8 +316,8 @@ class TestResult {
'startTime': startTime.toIso8601String(),
'endTime': endTime?.toIso8601String(),
'duration': duration.inMilliseconds,
'featureResults': featureResults.map((r) => r.toJson()).toList(),
'errors': errors.map((e) => e.toJson()).toList(),
'featureResults': featureResults.items.map((r) => r.toJson()).toList(),
'errors': errors.items.map((e) => e.toJson()).toList(),
'metrics': metrics,
};
}
@@ -336,27 +336,27 @@ class FeatureTestResult {
this.endTime,
});
bool get success => testCaseResults.every((r) => r.success);
bool get success => testCaseResults.items.every((r) => r.success);
Duration get duration => endTime != null
? endTime!.difference(startTime)
: Duration.zero;
void calculateMetrics() {
metrics['totalTestCases'] = testCaseResults.length;
metrics['successfulTestCases'] = testCaseResults.where((r) => r.success).length;
metrics['failedTestCases'] = testCaseResults.where((r) => !r.success).length;
metrics['totalTestCases'] = testCaseResults.items.length;
metrics['successfulTestCases'] = testCaseResults.items.where((r) => r.success).items.length;
metrics['failedTestCases'] = testCaseResults.items.where((r) => !r.success).items.length;
metrics['averageDuration'] = _calculateAverageDuration();
}
double _calculateAverageDuration() {
if (testCaseResults.isEmpty) return 0;
if (testCaseResults.items.isEmpty) return 0;
final totalMs = testCaseResults
.map((r) => r.duration.inMilliseconds)
.items.map((r) => r.duration.inMilliseconds)
.reduce((a, b) => a + b);
return totalMs / testCaseResults.length;
return totalMs / testCaseResults.items.length;
}
Map<String, dynamic> toJson() => {
@@ -365,7 +365,7 @@ class FeatureTestResult {
'startTime': startTime.toIso8601String(),
'endTime': endTime?.toIso8601String(),
'duration': duration.inMilliseconds,
'testCaseResults': testCaseResults.map((r) => r.toJson()).toList(),
'testCaseResults': testCaseResults.items.map((r) => r.toJson()).toList(),
'metrics': metrics,
};
}