더북(TheBook)

체크인 처리/등록 기능을 별개의 모듈로 추출한 덕분에 아주 간명한 checkInService.checkIn 단위 테스트가 만들어졌다.

checkInService 구현 역시 간단하다(예제 5-5).

예제 5-5 checkinService.checkIn(attendee) 구현부

소스 파일 5장\Callbacks\checkInService.js

var Conference = Conference | | {};
 
Conference.checkInService = function(checkInRecorder) {
// 주입한 checkInRecorder의 참조값을 보관한다.
var recorder = checkInRecorder;
 
return {
  checkIn: function(attendee) {
    attendee.checkIn();
    recorder.recordCheckIn(attendee);
  }
};
};

테스트 꾸러미를 실행하면 성공이다(그림 5-4).

►그림 5-4

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.