더북(TheBook)

이 함수가 하는 일은 세 가지다.

user 객체가 올바르게 채워졌는지 검증한다.

검증을 마친 user 객체를 서버로 전송한다.

UI에 메시지를 표시한다.

 

관심사는 세 가지로 요약된다.

사용자 검증

서버와 직접 통신

UI 직접 다루기

 

자, 그럼 validateAndRegisterUser 함수가 작동하는지 테스트할 조건을 모두 나열해보자. 뭐라 하지 않을 테니 시간을 충분히 두고 고민해보라.

어떤 조건들이 있을까? 아주 많다. 우리가 떠올린 조건은 이렇다.

usernull이면 에러를 낸다.

nulluser는 서버로 전송하지 않는다.

user가 null이면 UI를 업데이트하지 않는다.

userundefined이면 에러를 낸다.

undefineduser는 서버로 전송하지 않는다.

userundefined이면 UI를 업데이트하지 않는다.

username 프로퍼티가 빈 상태면 에러를 낸다.

name 프로퍼티가 빈 user는 서버로 전송하지 않는다.

username 프로퍼티가 비어 있으면 UI를 업데이트하지 않는다.

 

이 밖에도 오류 조건은 더 있다. 사실 아주 많다. UI가 제대로 업데이트되는지, 유효 조건이 정확히 작성되었는지 역시 테스트해보아야 한다.

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