TDD 작성

This commit is contained in:
2025-08-12 03:28:08 +09:00
parent 6033d59590
commit 107abc963f
156 changed files with 70906 additions and 642 deletions
@@ -1,15 +1,15 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';
import 'package:mockito/annotations.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:lanebow/config/api_config.dart';
import 'package:lanebow/models/event_model.dart';
import 'package:lanebow/models/participant_model.dart';
import 'package:lanebow/models/score_model.dart';
import 'package:lanebow/models/team_model.dart';
import 'package:lanebow/services/api_service.dart';
import 'package:lanebow/services/event_service.dart';
import 'package:lanebow/config/api_config.dart';
import 'package:lanebow/services/event_bus.dart';
import 'package:lanebow/utils/test_utils.dart';
import 'package:lanebow/models/team_model.dart';
import 'package:lanebow/models/event_model.dart';
import 'event_service_integration_test.mocks.dart';
@@ -23,9 +23,25 @@ void main() {
SharedPreferences.setMockInitialValues({
ApiConfig.clubIdKey: 'test_club_id' // SharedPreferences에 clubId 설정
});
// 테스트 격리를 위한 설정
final testId = 'event_service_integration_test_${DateTime.now().millisecondsSinceEpoch}';
TestUtils.setTestMode(true);
EventBus.setCurrentTestId(testId);
print('EventBus: 초기화됨 (테스트 ID: $testId)');
mockApiService = MockApiService();
eventService = EventService.forTest(mockApiService);
});
tearDown(() {
// 테스트 종료 후 정리
eventService.dispose();
EventBus.clearCurrentTestId();
TestUtils.setTestMode(false);
print('EventBus: 테스트 종료');
});
group('EventService 통합 테스트', () {
test('이벤트 목록 조회 테스트', () async {
@@ -507,7 +523,7 @@ void main() {
// API 응답 모킹
when(mockApiService.post(
'${ApiConfig.clubs}/events/teams',
'${ApiConfig.events}/teams',
data: {'eventId': eventId},
)).thenAnswer((_) async => {
'teams': [
@@ -539,7 +555,7 @@ void main() {
expect(eventService.teams[1].memberIds.length, 2);
verify(mockApiService.post(
'${ApiConfig.clubs}/events/teams',
'${ApiConfig.events}/teams',
data: {'eventId': eventId},
)).called(1);
});