Files
superport/test/integration/automated/warehouse_automated_test_fixed.dart
JiWoong Sul 198aac6525
Some checks failed
Flutter Test & Quality Check / Test on macos-latest (push) Has been cancelled
Flutter Test & Quality Check / Test on ubuntu-latest (push) Has been cancelled
Flutter Test & Quality Check / Build APK (push) Has been cancelled
test: 통합 테스트 오류 및 경고 수정
- 모든 서비스 메서드 시그니처를 실제 구현에 맞게 수정
- TestDataGenerator 제거하고 직접 객체 생성으로 변경
- 모델 필드명 및 타입 불일치 수정
- 불필요한 Either 패턴 사용 제거
- null safety 관련 이슈 해결

수정된 파일:
- test/integration/screens/company_integration_test.dart
- test/integration/screens/equipment_integration_test.dart
- test/integration/screens/user_integration_test.dart
- test/integration/screens/login_integration_test.dart
2025-08-05 20:24:05 +09:00

107 lines
2.8 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:superport/services/warehouse_service.dart';
import 'package:superport/models/warehouse_location_model.dart';
import 'screens/base/base_screen_test.dart';
import 'framework/models/test_models.dart';
/// 창고 관리 화면 자동화 테스트 (수정된 버전)
class WarehouseAutomatedTest extends BaseScreenTest {
late WarehouseService warehouseService;
WarehouseAutomatedTest({
required super.apiClient,
required super.getIt,
required super.testContext,
required super.errorDiagnostics,
required super.autoFixer,
required super.dataGenerator,
required super.reportCollector,
});
@override
ScreenMetadata getScreenMetadata() {
return ScreenMetadata(
screenName: 'WarehouseScreen',
controllerType: WarehouseService,
relatedEndpoints: [
ApiEndpoint(
path: '/api/v1/warehouse-locations',
method: 'GET',
description: '창고 목록 조회',
),
ApiEndpoint(
path: '/api/v1/warehouse-locations',
method: 'POST',
description: '창고 생성',
),
],
screenCapabilities: {
'warehouse_management': {
'create': true,
'read': true,
'update': true,
'delete': true,
},
},
);
}
@override
Future<void> initializeServices() async {
warehouseService = getIt<WarehouseService>();
}
@override
dynamic getService() => warehouseService;
@override
String getResourceType() => 'warehouse';
@override
Map<String, dynamic> getDefaultFilters() {
return {
'isActive': true,
};
}
@override
Future<List<TestableFeature>> detectCustomFeatures(ScreenMetadata metadata) async {
return [];
}
// BaseScreenTest 추상 메서드 구현
@override
Future<dynamic> performCreateOperation(TestData data) async {
// 생성 로직 주석 처리 - 필요시 구현
throw UnimplementedError('창고 생성 메서드를 구현해주세요');
}
@override
Future<dynamic> performReadOperation(TestData data) async {
return await warehouseService.getWarehouseLocations(
page: 1,
perPage: 20,
);
}
@override
Future<dynamic> performUpdateOperation(dynamic resourceId, Map<String, dynamic> updateData) async {
// 창고 업데이트 구현
throw UnimplementedError('창고 업데이트 메서드를 구현해주세요');
}
@override
Future<void> performDeleteOperation(dynamic resourceId) async {
// 창고 삭제 구현
throw UnimplementedError('창고 삭제 메서드를 구현해주세요');
}
@override
dynamic extractResourceId(dynamic resource) {
if (resource is WarehouseLocation) {
return resource.id;
}
return null;
}
}