@@ -4,10 +4,12 @@ import { NextRequest } from 'next/server'
44import { VALID_USER_INFO_FIELDS } from '../../../db/user'
55import { meGet } from '../me'
66
7+ import type { TrackEventFn } from '@codebuff/common/types/contracts/analytics'
78import type {
89 GetUserInfoFromApiKeyFn ,
910 GetUserInfoFromApiKeyOutput ,
1011} from '@codebuff/common/types/contracts/database'
12+ import type { Logger } from '@codebuff/common/types/contracts/logger'
1113
1214describe ( '/api/v1/me route' , ( ) => {
1315 const mockUserData : Record <
@@ -43,12 +45,23 @@ describe('/api/v1/me route', () => {
4345 ) as any
4446 }
4547
48+ const mockLogger : Logger = {
49+ error : ( ) => { } ,
50+ warn : ( ) => { } ,
51+ info : ( ) => { } ,
52+ debug : ( ) => { } ,
53+ }
54+
55+ const mockTrackEvent : TrackEventFn = ( ) => { }
56+
4657 describe ( 'Authentication' , ( ) => {
4758 test ( 'returns 401 when Authorization header is missing' , async ( ) => {
4859 const req = new NextRequest ( 'http://localhost:3000/api/v1/me' )
4960 const response = await meGet ( {
5061 req,
5162 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
63+ logger : mockLogger ,
64+ trackEvent : mockTrackEvent ,
5265 } )
5366
5467 expect ( response . status ) . toBe ( 401 )
@@ -63,6 +76,8 @@ describe('/api/v1/me route', () => {
6376 const response = await meGet ( {
6477 req,
6578 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
79+ logger : mockLogger ,
80+ trackEvent : mockTrackEvent ,
6681 } )
6782
6883 expect ( response . status ) . toBe ( 401 )
@@ -79,6 +94,8 @@ describe('/api/v1/me route', () => {
7994 const response = await meGet ( {
8095 req,
8196 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
97+ logger : mockLogger ,
98+ trackEvent : mockTrackEvent ,
8299 } )
83100 expect ( response . status ) . toBe ( 200 )
84101 const body = await response . json ( )
@@ -94,6 +111,8 @@ describe('/api/v1/me route', () => {
94111 const response = await meGet ( {
95112 req,
96113 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
114+ logger : mockLogger ,
115+ trackEvent : mockTrackEvent ,
97116 } )
98117 expect ( response . status ) . toBe ( 200 )
99118 const body = await response . json ( )
@@ -108,6 +127,8 @@ describe('/api/v1/me route', () => {
108127 const response = await meGet ( {
109128 req,
110129 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
130+ logger : mockLogger ,
131+ trackEvent : mockTrackEvent ,
111132 } )
112133 expect ( response . status ) . toBe ( 404 )
113134 const body = await response . json ( )
@@ -124,6 +145,8 @@ describe('/api/v1/me route', () => {
124145 const response = await meGet ( {
125146 req,
126147 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
148+ logger : mockLogger ,
149+ trackEvent : mockTrackEvent ,
127150 } )
128151 expect ( response . status ) . toBe ( 200 )
129152 const body = await response . json ( )
@@ -141,6 +164,8 @@ describe('/api/v1/me route', () => {
141164 const response = await meGet ( {
142165 req,
143166 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
167+ logger : mockLogger ,
168+ trackEvent : mockTrackEvent ,
144169 } )
145170 expect ( response . status ) . toBe ( 200 )
146171 const body = await response . json ( )
@@ -158,6 +183,8 @@ describe('/api/v1/me route', () => {
158183 const response = await meGet ( {
159184 req,
160185 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
186+ logger : mockLogger ,
187+ trackEvent : mockTrackEvent ,
161188 } )
162189 expect ( response . status ) . toBe ( 200 )
163190 const body = await response . json ( )
@@ -179,6 +206,8 @@ describe('/api/v1/me route', () => {
179206 const response = await meGet ( {
180207 req,
181208 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
209+ logger : mockLogger ,
210+ trackEvent : mockTrackEvent ,
182211 } )
183212 expect ( response . status ) . toBe ( 200 )
184213 const body = await response . json ( )
@@ -200,6 +229,8 @@ describe('/api/v1/me route', () => {
200229 const response = await meGet ( {
201230 req,
202231 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
232+ logger : mockLogger ,
233+ trackEvent : mockTrackEvent ,
203234 } )
204235 expect ( response . status ) . toBe ( 400 )
205236 const body = await response . json ( )
@@ -220,6 +251,8 @@ describe('/api/v1/me route', () => {
220251 const response = await meGet ( {
221252 req,
222253 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
254+ logger : mockLogger ,
255+ trackEvent : mockTrackEvent ,
223256 } )
224257 expect ( response . status ) . toBe ( 400 )
225258 const body = await response . json ( )
@@ -237,6 +270,8 @@ describe('/api/v1/me route', () => {
237270 const response = await meGet ( {
238271 req,
239272 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
273+ logger : mockLogger ,
274+ trackEvent : mockTrackEvent ,
240275 } )
241276 expect ( response . status ) . toBe ( 400 )
242277 } )
@@ -251,6 +286,8 @@ describe('/api/v1/me route', () => {
251286 const response = await meGet ( {
252287 req,
253288 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
289+ logger : mockLogger ,
290+ trackEvent : mockTrackEvent ,
254291 } )
255292 expect ( response . status ) . toBe ( 200 )
256293 const body = await response . json ( )
@@ -268,6 +305,8 @@ describe('/api/v1/me route', () => {
268305 const response = await meGet ( {
269306 req,
270307 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
308+ logger : mockLogger ,
309+ trackEvent : mockTrackEvent ,
271310 } )
272311 expect ( response . status ) . toBe ( 200 )
273312 const body = await response . json ( )
@@ -285,6 +324,8 @@ describe('/api/v1/me route', () => {
285324 const response = await meGet ( {
286325 req,
287326 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
327+ logger : mockLogger ,
328+ trackEvent : mockTrackEvent ,
288329 } )
289330 expect ( response . status ) . toBe ( 200 )
290331 const body = await response . json ( )
@@ -306,6 +347,8 @@ describe('/api/v1/me route', () => {
306347 const response = await meGet ( {
307348 req,
308349 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
350+ logger : mockLogger ,
351+ trackEvent : mockTrackEvent ,
309352 } )
310353 expect ( response . status ) . toBe ( 200 )
311354 const body = await response . json ( )
@@ -322,6 +365,8 @@ describe('/api/v1/me route', () => {
322365 const response = await meGet ( {
323366 req,
324367 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
368+ logger : mockLogger ,
369+ trackEvent : mockTrackEvent ,
325370 } )
326371 expect ( response . status ) . toBe ( 400 )
327372 const body = await response . json ( )
@@ -339,6 +384,8 @@ describe('/api/v1/me route', () => {
339384 const response = await meGet ( {
340385 req,
341386 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
387+ logger : mockLogger ,
388+ trackEvent : mockTrackEvent ,
342389 } )
343390 expect ( response . status ) . toBe ( 400 )
344391 } )
@@ -354,6 +401,8 @@ describe('/api/v1/me route', () => {
354401 const response = await meGet ( {
355402 req,
356403 getUserInfoFromApiKey : mockGetUserInfoFromApiKey ,
404+ logger : mockLogger ,
405+ trackEvent : mockTrackEvent ,
357406 } )
358407 expect ( response . status ) . toBe ( 400 )
359408 const body = await response . json ( )
0 commit comments