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

@@ -44,7 +44,7 @@ void main() {
// 대시보드 새로고침 버튼 테스트
final refreshButton = find.byIcon(Icons.refresh);
if (refreshButton.evaluate().isNotEmpty) {
if (refreshButton.evaluate().items.isNotEmpty) {
await tester.tap(refreshButton);
await tester.pumpAndSettle();
// expect(find.byType(CircularProgressIndicator), findsNothing);
@@ -52,7 +52,7 @@ void main() {
// 필터 버튼 테스트
final filterButton = find.byIcon(Icons.filter_list);
if (filterButton.evaluate().isNotEmpty) {
if (filterButton.evaluate().items.isNotEmpty) {
await tester.tap(filterButton);
await tester.pumpAndSettle();
}
@@ -67,7 +67,7 @@ void main() {
// 장비 추가 버튼 테스트
final addButton = find.byIcon(Icons.add);
if (addButton.evaluate().isNotEmpty) {
if (addButton.evaluate().items.isNotEmpty) {
await tester.tap(addButton);
await tester.pumpAndSettle();
@@ -78,7 +78,7 @@ void main() {
// 검색 버튼 테스트
final searchButton = find.byIcon(Icons.search);
if (searchButton.evaluate().isNotEmpty) {
if (searchButton.evaluate().items.isNotEmpty) {
await tester.tap(searchButton);
await tester.pumpAndSettle();
}
@@ -93,13 +93,13 @@ void main() {
// 회사 추가 버튼 테스트
final addCompanyButton = find.text('회사 등록');
if (addCompanyButton.evaluate().isNotEmpty) {
if (addCompanyButton.evaluate().items.isNotEmpty) {
await tester.tap(addCompanyButton);
await tester.pumpAndSettle();
// 폼에서 취소 버튼 클릭
final cancelButton = find.byIcon(Icons.arrow_back);
if (cancelButton.evaluate().isNotEmpty) {
if (cancelButton.evaluate().items.isNotEmpty) {
await tester.tap(cancelButton);
await tester.pumpAndSettle();
}
@@ -117,13 +117,13 @@ void main() {
// 상태 드롭다운 찾기
final statusDropdown = find.byKey(Key('status_dropdown'));
if (statusDropdown.evaluate().isNotEmpty) {
if (statusDropdown.evaluate().items.isNotEmpty) {
await tester.tap(statusDropdown);
await tester.pumpAndSettle();
// 드롭다운 옵션 선택
final availableOption = find.text('재고').last;
if (availableOption.evaluate().isNotEmpty) {
if (availableOption.evaluate().items.isNotEmpty) {
await tester.tap(availableOption);
await tester.pumpAndSettle();
}
@@ -139,13 +139,13 @@ void main() {
// 회사 유형 체크박스 테스트
final customerCheckbox = find.text('고객사');
if (customerCheckbox.evaluate().isNotEmpty) {
if (customerCheckbox.evaluate().items.isNotEmpty) {
await tester.tap(customerCheckbox);
await tester.pumpAndSettle();
}
final partnerCheckbox = find.text('파트너사');
if (partnerCheckbox.evaluate().isNotEmpty) {
if (partnerCheckbox.evaluate().items.isNotEmpty) {
await tester.tap(partnerCheckbox);
await tester.pumpAndSettle();
}
@@ -167,14 +167,14 @@ void main() {
// 저장 버튼 클릭
final saveButton = find.text('저장');
if (saveButton.evaluate().isNotEmpty) {
if (saveButton.evaluate().items.isNotEmpty) {
await tester.tap(saveButton);
await tester.pumpAndSettle();
// 에러 메시지나 성공 메시지 확인
// expect(
// find.byType(SnackBar).evaluate().isNotEmpty ||
// find.byType(AlertDialog).evaluate().isNotEmpty,
// find.byType(SnackBar).evaluate().items.isNotEmpty ||
// find.byType(AlertDialog).evaluate().items.isNotEmpty,
// isTrue,
// );
}
@@ -193,7 +193,7 @@ void main() {
// 저장 버튼 클릭
final saveButton = find.text('저장');
if (saveButton.evaluate().isNotEmpty) {
if (saveButton.evaluate().items.isNotEmpty) {
await tester.tap(saveButton);
await tester.pumpAndSettle();
}
@@ -209,14 +209,14 @@ void main() {
await navigateToScreen(tester, 'equipment');
// 검색 필드에 텍스트 입력
final searchField = find.byType(TextField).first;
if (searchField.evaluate().isNotEmpty) {
final searchField = find.byType(TextField).items.first;
if (searchField.evaluate().items.isNotEmpty) {
await tester.enterText(searchField, 'Samsung');
await tester.pumpAndSettle();
// 검색 버튼 클릭
final searchButton = find.byIcon(Icons.search);
if (searchButton.evaluate().isNotEmpty) {
if (searchButton.evaluate().items.isNotEmpty) {
await tester.tap(searchButton);
await tester.pumpAndSettle();
}
@@ -231,8 +231,8 @@ void main() {
await navigateToScreen(tester, 'company');
// 검색 필드에 텍스트 입력
final searchField = find.byType(TextField).first;
if (searchField.evaluate().isNotEmpty) {
final searchField = find.byType(TextField).items.first;
if (searchField.evaluate().items.isNotEmpty) {
await tester.enterText(searchField, '삼성');
await tester.pumpAndSettle();
@@ -253,21 +253,21 @@ void main() {
// 다음 페이지 버튼 찾기
final nextPageButton = find.byIcon(Icons.arrow_forward);
if (nextPageButton.evaluate().isNotEmpty) {
if (nextPageButton.evaluate().items.isNotEmpty) {
await tester.tap(nextPageButton);
await tester.pumpAndSettle();
}
// 이전 페이지 버튼 찾기
final prevPageButton = find.byIcon(Icons.arrow_back);
if (prevPageButton.evaluate().isNotEmpty) {
if (prevPageButton.evaluate().items.isNotEmpty) {
await tester.tap(prevPageButton);
await tester.pumpAndSettle();
}
// 페이지 번호 직접 선택
final pageNumber = find.text('2');
if (pageNumber.evaluate().isNotEmpty) {
if (pageNumber.evaluate().items.isNotEmpty) {
await tester.tap(pageNumber);
await tester.pumpAndSettle();
}
@@ -283,14 +283,14 @@ void main() {
await navigateToScreen(tester, 'equipment');
// 삭제 버튼 찾기 (보통 각 행에 있음)
final deleteButton = find.byIcon(Icons.delete).first;
if (deleteButton.evaluate().isNotEmpty) {
final deleteButton = find.byIcon(Icons.delete).items.first;
if (deleteButton.evaluate().items.isNotEmpty) {
await tester.tap(deleteButton);
await tester.pumpAndSettle();
// 확인 다이얼로그 처리
final confirmButton = find.text('삭제');
if (confirmButton.evaluate().isNotEmpty) {
if (confirmButton.evaluate().items.isNotEmpty) {
await tester.tap(confirmButton);
await tester.pumpAndSettle();
}
@@ -307,21 +307,21 @@ void main() {
await navigateToScreen(tester, 'company');
// 수정 버튼 찾기 (보통 각 행에 있음)
final editButton = find.byIcon(Icons.edit).first;
if (editButton.evaluate().isNotEmpty) {
final editButton = find.byIcon(Icons.edit).items.first;
if (editButton.evaluate().items.isNotEmpty) {
await tester.tap(editButton);
await tester.pumpAndSettle();
// 수정 폼에서 필드 변경
final nameField = find.byType(TextField).first;
if (nameField.evaluate().isNotEmpty) {
final nameField = find.byType(TextField).items.first;
if (nameField.evaluate().items.isNotEmpty) {
await tester.enterText(nameField, 'Updated Company Name');
await tester.pumpAndSettle();
}
// 저장 버튼 클릭
final saveButton = find.text('수정 완료');
if (saveButton.evaluate().isNotEmpty) {
if (saveButton.evaluate().items.isNotEmpty) {
await tester.tap(saveButton);
await tester.pumpAndSettle();
}
@@ -344,7 +344,7 @@ void main() {
// 3. 저장
final saveButton = find.text('저장');
if (saveButton.evaluate().isNotEmpty) {
if (saveButton.evaluate().items.isNotEmpty) {
await tester.tap(saveButton);
await tester.pumpAndSettle();
}
@@ -358,8 +358,8 @@ void main() {
// 6. 출고 버튼 클릭
final checkoutButton = find.text('출고');
if (checkoutButton.evaluate().isNotEmpty) {
await tester.tap(checkoutButton.first);
if (checkoutButton.evaluate().items.isNotEmpty) {
await tester.tap(checkoutButton.items.first);
await tester.pumpAndSettle();
}
});
@@ -373,45 +373,45 @@ Future<void> navigateToScreen(WidgetTester tester, String route) async {
switch (route) {
case 'equipment':
final equipmentNav = find.text('장비관리');
if (equipmentNav.evaluate().isNotEmpty) {
if (equipmentNav.evaluate().items.isNotEmpty) {
await tester.tap(equipmentNav);
await tester.pumpAndSettle();
}
break;
case 'company':
final companyNav = find.text('회사관리');
if (companyNav.evaluate().isNotEmpty) {
if (companyNav.evaluate().items.isNotEmpty) {
await tester.tap(companyNav);
await tester.pumpAndSettle();
}
break;
case 'equipment/in':
final equipmentInNav = find.text('장비입고');
if (equipmentInNav.evaluate().isNotEmpty) {
if (equipmentInNav.evaluate().items.isNotEmpty) {
await tester.tap(equipmentInNav);
await tester.pumpAndSettle();
}
break;
case 'warehouse/form':
final warehouseNav = find.text('입고지관리');
if (warehouseNav.evaluate().isNotEmpty) {
if (warehouseNav.evaluate().items.isNotEmpty) {
await tester.tap(warehouseNav);
await tester.pumpAndSettle();
}
final addButton = find.byIcon(Icons.add);
if (addButton.evaluate().isNotEmpty) {
if (addButton.evaluate().items.isNotEmpty) {
await tester.tap(addButton);
await tester.pumpAndSettle();
}
break;
case 'company/form':
final companyNav = find.text('회사관리');
if (companyNav.evaluate().isNotEmpty) {
if (companyNav.evaluate().items.isNotEmpty) {
await tester.tap(companyNav);
await tester.pumpAndSettle();
}
final addButton = find.text('회사 등록');
if (addButton.evaluate().isNotEmpty) {
if (addButton.evaluate().items.isNotEmpty) {
await tester.tap(addButton);
await tester.pumpAndSettle();
}
@@ -421,11 +421,11 @@ Future<void> navigateToScreen(WidgetTester tester, String route) async {
Future<void> enterText(WidgetTester tester, String fieldKey, String text) async {
final field = find.byKey(Key(fieldKey));
if (field.evaluate().isEmpty) {
if (field.evaluate().items.isEmpty) {
// If not found by key, try by type
final textField = find.byType(TextField);
if (textField.evaluate().isNotEmpty) {
await tester.enterText(textField.first, text);
if (textField.evaluate().items.isNotEmpty) {
await tester.enterText(textField.items.first, text);
await tester.pumpAndSettle();
}
} else {