diff --git a/src/services/dto/KakaoResponse.ts b/src/services/dto/KakaoResponse.ts index aceeeaf..e56c242 100644 --- a/src/services/dto/KakaoResponse.ts +++ b/src/services/dto/KakaoResponse.ts @@ -70,7 +70,7 @@ const toPiickleAgeGroup = (ageGroup: string): AgeGroup => { const kakaoToPiickleUser = (kakaoUser: KakaoResponse): IUser => { const nickname = - kakaoUser.kakao_account.profile.nickname || `kakao ${kakaoUser.id}`; + kakaoUser.kakao_account?.profile?.nickname ?? `kakao ${kakaoUser.id}`; const profileImageUrl = kakaoUser.kakao_account.profile.profile_image_url || config.defaultProfileImgUrl; diff --git a/test/userConverter.spec.ts b/test/userConverter.spec.ts new file mode 100644 index 0000000..8d159f4 --- /dev/null +++ b/test/userConverter.spec.ts @@ -0,0 +1,39 @@ +import KakaoResponse, { + kakaoToPiickleUser +} from '../src/services/dto/KakaoResponse'; +import { expect } from 'chai'; + +describe('kakaoToPiickleUser', () => { + it('should return IUser', () => { + const kakaoUser: KakaoResponse = { + id: '1234', + kakao_account: { + profile_nickname_needs_agreement: true, + profile_image_needs_agreement: true, + profile: { + // nickname: 'nickname', + thumbnail_image_url: 'kakao', + profile_image_url: 'kakao', + is_default_image: true + }, + has_email: true, + email_needs_agreement: true, + is_email_valid: true, + is_email_verified: true, + email: 'kakao', + has_age_range: true, + age_range_needs_agreement: true, + age_range: '20~29', + has_birthday: true, + birthday_needs_agreement: true, + birthday: '1103', + birthday_type: 'SOLAR', + has_gender: true, + gender_needs_agreement: true, + gender: 'female' + } + }; + const convertedUser = kakaoToPiickleUser(kakaoUser); + expect(convertedUser.nickname).equals('kakao 1234'); + }); +});