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

@@ -427,10 +427,10 @@ class LicenseScreenTest extends BaseScreenTest {
_log('만료 예정 라이선스 조회 중...');
final expiringLicenses = await licenseService.getExpiringLicenses(days: 30);
_log('30일 이내 만료 예정 라이선스: ${expiringLicenses.length}');
_log('30일 이내 만료 예정 라이선스: ${expiringLicenses.items.length}');
// 3. 방금 생성한 라이선스가 포함되어 있는지 확인
final hasOurLicense = expiringLicenses.any((l) => l.id == created.id);
final hasOurLicense = expiringLicenses.items.any((l) => l.id == created.id);
testContext.setData('expiringLicenseCreated', created);
testContext.setData('expiringLicensesList', expiringLicenses);
@@ -494,10 +494,10 @@ class LicenseScreenTest extends BaseScreenTest {
isActive: false,
);
_log('비활성 라이선스: ${inactiveLicenses.length}');
_log('비활성 라이선스: ${inactiveLicenses.items.length}');
// 3. 만료된 라이선스가 비활성 목록에 있는지 확인
final hasExpiredLicense = inactiveLicenses.any((l) => l.id == created.id);
final hasExpiredLicense = inactiveLicenses.items.any((l) => l.id == created.id);
testContext.setData('expiredLicenseCreated', created);
testContext.setData('inactiveLicensesList', inactiveLicenses);
@@ -551,7 +551,7 @@ class LicenseScreenTest extends BaseScreenTest {
await licenseService.createLicense(invalidLicense);
_log('⚠️ 잘못된 키가 허용됨: "$invalidKey"');
} catch (e) {
_log('✓ 예상된 검증 에러 발생: "$invalidKey" - ${e.toString().split('\n').first}');
_log('✓ 예상된 검증 에러 발생: "$invalidKey" - ${e.toString().split('\n').items.first}');
validationErrors++;
}
}
@@ -645,7 +645,7 @@ class LicenseScreenTest extends BaseScreenTest {
await licenseService.createLicense(duplicateLicense);
_log('⚠️ 중복 라이선스 키가 허용되었습니다');
} catch (e) {
_log('✓ 예상된 중복 에러 발생: ${e.toString().split('\n').first}');
_log('✓ 예상된 중복 에러 발생: ${e.toString().split('\n').items.first}');
duplicateRejected = true;
}
@@ -716,7 +716,7 @@ class LicenseScreenTest extends BaseScreenTest {
);
expect(diagnosis.errorType, equals(ErrorType.missingRequiredField));
_log('진단 결과: ${diagnosis.missingFields?.length ?? 0}개 필드 누락');
_log('진단 결과: ${diagnosis.missingFields?.items.length ?? 0}개 필드 누락');
// 자동 수정
final fixResult = await autoFixer.attemptAutoFix(diagnosis);
@@ -892,8 +892,8 @@ class LicenseScreenTest extends BaseScreenTest {
// 2. 사용자 목록 조회 (할당할 사용자 찾기)
final users = await userService.getUsers(page: 1, perPage: 10);
if (users.isNotEmpty) {
final targetUser = users.first;
if (users.items.isNotEmpty) {
final targetUser = users.items.first;
_log('할당 대상 사용자: ${targetUser.name} (ID: ${targetUser.id})');
// 3. 라이선스 할당
@@ -1034,7 +1034,7 @@ class LicenseTestData {
// 라이선스 키 생성기
static String generateLicenseKey() {
final prefixes = ['PRO', 'ENT', 'STD', 'TRIAL', 'DEV', 'PROD'];
final prefix = prefixes[random.nextInt(prefixes.length)];
final prefix = prefixes[random.nextInt(prefixes.items.length)];
final timestamp = DateTime.now().millisecondsSinceEpoch.toString().substring(6);
final randomPart = random.nextInt(9999).toString().padLeft(4, '0');
@@ -1061,7 +1061,7 @@ class LicenseTestData {
'MongoDB Enterprise',
];
return products[random.nextInt(products.length)];
return products[random.nextInt(products.items.length)];
}
// 벤더명 생성기
@@ -1084,13 +1084,13 @@ class LicenseTestData {
'Elastic',
];
return vendors[random.nextInt(vendors.length)];
return vendors[random.nextInt(vendors.items.length)];
}
// 라이선스 타입 생성기
static String generateLicenseType() {
final types = ['perpetual', 'subscription', 'trial', 'oem', 'academic', 'nfr'];
return types[random.nextInt(types.length)];
return types[random.nextInt(types.items.length)];
}
// 구매일 생성기 (과거 2년 이내)