@@ -86,7 +86,7 @@ describe('LeaderboardRepository 통합 테스트', () => {
86
86
} ) ;
87
87
88
88
describe ( 'getUserLeaderboard' , ( ) => {
89
- it ( '사용자 통계 배열로 이루어진 리더보드를 반환해야 한다' , async ( ) => {
89
+ it ( '사용자 통계 배열로 이루어진 리더보드를 반환해야 하며, 통계 값은 음수가 아니어야 한다' , async ( ) => {
90
90
const result = await repo . getUserLeaderboard (
91
91
DEFAULT_PARAMS . USER_SORT ,
92
92
DEFAULT_PARAMS . DATE_RANGE ,
@@ -98,14 +98,14 @@ describe('LeaderboardRepository 통합 테스트', () => {
98
98
if ( ! isEnoughData ( result , 1 , '사용자 리더보드 반환값' ) ) return ;
99
99
100
100
result . forEach ( ( leaderboardUser ) => {
101
- expect ( typeof leaderboardUser . id ) . toEqual ( 'string ') ;
102
- expect ( typeof leaderboardUser . email ) . toEqual ( 'string ') ;
103
- expect ( typeof leaderboardUser . total_views ) . toEqual ( 'number ') ;
104
- expect ( typeof leaderboardUser . total_likes ) . toEqual ( 'number ') ;
105
- expect ( typeof leaderboardUser . total_posts ) . toEqual ( 'number ') ;
106
- expect ( typeof leaderboardUser . view_diff ) . toEqual ( 'number ') ;
107
- expect ( typeof leaderboardUser . like_diff ) . toEqual ( 'number ') ;
108
- expect ( typeof leaderboardUser . post_diff ) . toEqual ( 'number ') ;
101
+ expect ( leaderboardUser ) . toHaveProperty ( 'id ') ;
102
+ expect ( leaderboardUser ) . toHaveProperty ( 'email ') ;
103
+ expect ( leaderboardUser ) . toHaveProperty ( 'total_views ') ;
104
+ expect ( leaderboardUser ) . toHaveProperty ( 'total_likes ') ;
105
+ expect ( leaderboardUser ) . toHaveProperty ( 'total_posts ') ;
106
+ expect ( leaderboardUser ) . toHaveProperty ( 'view_diff ') ;
107
+ expect ( leaderboardUser ) . toHaveProperty ( 'like_diff ') ;
108
+ expect ( leaderboardUser ) . toHaveProperty ( 'post_diff ') ;
109
109
} ) ;
110
110
} ) ;
111
111
@@ -119,12 +119,12 @@ describe('LeaderboardRepository 통합 테스트', () => {
119
119
if ( ! isEnoughData ( result , 1 , '사용자 리더보드 반환값' ) ) return ;
120
120
121
121
result . forEach ( ( leaderboardUser ) => {
122
- expect ( leaderboardUser . total_views ) . toBeGreaterThanOrEqual ( 0 ) ;
123
- expect ( leaderboardUser . total_likes ) . toBeGreaterThanOrEqual ( 0 ) ;
124
- expect ( leaderboardUser . total_posts ) . toBeGreaterThanOrEqual ( 0 ) ;
125
- expect ( leaderboardUser . view_diff ) . toBeGreaterThanOrEqual ( 0 ) ;
126
- expect ( leaderboardUser . like_diff ) . toBeGreaterThanOrEqual ( 0 ) ;
127
- expect ( leaderboardUser . post_diff ) . toBeGreaterThanOrEqual ( 0 ) ;
122
+ expect ( Number ( leaderboardUser . total_views ) ) . toBeGreaterThanOrEqual ( 0 ) ;
123
+ expect ( Number ( leaderboardUser . total_likes ) ) . toBeGreaterThanOrEqual ( 0 ) ;
124
+ expect ( Number ( leaderboardUser . total_posts ) ) . toBeGreaterThanOrEqual ( 0 ) ;
125
+ expect ( Number ( leaderboardUser . view_diff ) ) . toBeGreaterThanOrEqual ( 0 ) ;
126
+ expect ( Number ( leaderboardUser . like_diff ) ) . toBeGreaterThanOrEqual ( 0 ) ;
127
+ expect ( Number ( leaderboardUser . post_diff ) ) . toBeGreaterThanOrEqual ( 0 ) ;
128
128
} ) ;
129
129
} ) ;
130
130
@@ -144,7 +144,7 @@ describe('LeaderboardRepository 통합 테스트', () => {
144
144
145
145
const isSorted = result . every ( ( leaderboardUser , idx ) => {
146
146
if ( idx === 0 ) return true ;
147
- return leaderboardUser [ field ] <= result [ idx - 1 ] [ field ] ;
147
+ return Number ( leaderboardUser [ field ] ) <= Number ( result [ idx - 1 ] [ field ] ) ;
148
148
} ) ;
149
149
150
150
expect ( isSorted ) . toBe ( true ) ;
@@ -233,14 +233,14 @@ describe('LeaderboardRepository 통합 테스트', () => {
233
233
if ( ! isEnoughData ( result , 1 , '게시물 리더보드 반환값' ) ) return ;
234
234
235
235
result . forEach ( ( leaderboardPost ) => {
236
- expect ( typeof leaderboardPost . id ) . toEqual ( 'string ') ;
237
- expect ( typeof leaderboardPost . title ) . toEqual ( 'string ') ;
238
- expect ( typeof leaderboardPost . slug ) . toEqual ( 'string ') ;
239
- expect ( typeof leaderboardPost . total_views ) . toEqual ( 'number ') ;
240
- expect ( typeof leaderboardPost . total_likes ) . toEqual ( 'number ') ;
241
- expect ( typeof leaderboardPost . view_diff ) . toEqual ( 'number ') ;
242
- expect ( typeof leaderboardPost . like_diff ) . toEqual ( 'number ') ;
243
- expect ( typeof leaderboardPost . released_at ) . toEqual ( 'object ') ;
236
+ expect ( leaderboardPost ) . toHaveProperty ( 'id ') ;
237
+ expect ( leaderboardPost ) . toHaveProperty ( 'title ') ;
238
+ expect ( leaderboardPost ) . toHaveProperty ( 'slug ') ;
239
+ expect ( leaderboardPost ) . toHaveProperty ( 'total_views ') ;
240
+ expect ( leaderboardPost ) . toHaveProperty ( 'total_likes ') ;
241
+ expect ( leaderboardPost ) . toHaveProperty ( 'view_diff ') ;
242
+ expect ( leaderboardPost ) . toHaveProperty ( 'like_diff ') ;
243
+ expect ( leaderboardPost ) . toHaveProperty ( 'released_at ') ;
244
244
} ) ;
245
245
} ) ;
246
246
@@ -254,10 +254,10 @@ describe('LeaderboardRepository 통합 테스트', () => {
254
254
if ( ! isEnoughData ( result , 1 , '게시물 리더보드 반환값' ) ) return ;
255
255
256
256
result . forEach ( ( leaderboardPost ) => {
257
- expect ( leaderboardPost . total_views ) . toBeGreaterThanOrEqual ( 0 ) ;
258
- expect ( leaderboardPost . total_likes ) . toBeGreaterThanOrEqual ( 0 ) ;
259
- expect ( leaderboardPost . view_diff ) . toBeGreaterThanOrEqual ( 0 ) ;
260
- expect ( leaderboardPost . like_diff ) . toBeGreaterThanOrEqual ( 0 ) ;
257
+ expect ( Number ( leaderboardPost . total_views ) ) . toBeGreaterThanOrEqual ( 0 ) ;
258
+ expect ( Number ( leaderboardPost . total_likes ) ) . toBeGreaterThanOrEqual ( 0 ) ;
259
+ expect ( Number ( leaderboardPost . view_diff ) ) . toBeGreaterThanOrEqual ( 0 ) ;
260
+ expect ( Number ( leaderboardPost . like_diff ) ) . toBeGreaterThanOrEqual ( 0 ) ;
261
261
} ) ;
262
262
} ) ;
263
263
@@ -276,7 +276,7 @@ describe('LeaderboardRepository 통합 테스트', () => {
276
276
277
277
const isSorted = result . every ( ( leaderboardPost , idx ) => {
278
278
if ( idx === 0 ) return true ;
279
- return leaderboardPost [ field ] <= result [ idx - 1 ] [ field ] ;
279
+ return Number ( leaderboardPost [ field ] ) <= Number ( result [ idx - 1 ] [ field ] ) ;
280
280
} ) ;
281
281
282
282
expect ( isSorted ) . toBe ( true ) ;
0 commit comments