File tree Expand file tree Collapse file tree 2 files changed +92
-0
lines changed Expand file tree Collapse file tree 2 files changed +92
-0
lines changed Original file line number Diff line number Diff line change
1
+ import { prismaMock } from '@/__test__/singleton' ;
2
+ import { generateMockRequest } from '@/__test__/utils' ;
3
+ import { PUT } from './route' ;
4
+ import { NextRequest } from 'next/server' ;
5
+ import { verifySession } from '@/lib/session' ;
6
+
7
+ jest . mock ( '@/lib/session' , ( ) => ( {
8
+ verifySession : jest . fn ( ) ,
9
+ } ) ) ;
10
+
11
+ const mockVerifySession = verifySession as jest . Mock ;
12
+
13
+ test ( "Liked songs fails if session isn't valid" , async ( ) => {
14
+ mockVerifySession . mockResolvedValue ( {
15
+ isAuth : false ,
16
+ } ) ;
17
+
18
+ prismaMock . song . upsert . mockResolvedValue ( { id : 1 , trackID : 'test' } ) ;
19
+
20
+ const req = generateMockRequest ( {
21
+ trackId : 'test' ,
22
+ } ) ;
23
+
24
+ const response = await PUT ( req as NextRequest ) ;
25
+ const data = await response . json ( ) ;
26
+
27
+ expect ( data . error ) . toEqual ( 'Invalid session' ) ;
28
+ } ) ;
29
+
30
+ test ( 'Liked songs succeeds for valid session' , async ( ) => {
31
+ mockVerifySession . mockResolvedValue ( {
32
+ isAuth : true ,
33
+ uid : 2 ,
34
+ } ) ;
35
+
36
+ prismaMock . song . upsert . mockResolvedValue ( { id : 1 , trackID : 'test' } ) ;
37
+
38
+ const req = generateMockRequest ( {
39
+ trackId : 'test' ,
40
+ } ) ;
41
+
42
+ const response = await PUT ( req as NextRequest ) ;
43
+ const data = await response . json ( ) ;
44
+
45
+ expect ( data . success ) . toEqual ( true ) ;
46
+ } ) ;
Original file line number Diff line number Diff line change
1
+ import { prismaMock } from '@/__test__/singleton' ;
2
+ import { generateMockRequest } from '@/__test__/utils' ;
3
+ import { PUT } from './route' ;
4
+ import { NextRequest } from 'next/server' ;
5
+ import { verifySession } from '@/lib/session' ;
6
+
7
+ jest . mock ( '@/lib/session' , ( ) => ( {
8
+ verifySession : jest . fn ( ) ,
9
+ } ) ) ;
10
+
11
+ const mockVerifySession = verifySession as jest . Mock ;
12
+
13
+ test ( "Liked songs fails if session isn't valid" , async ( ) => {
14
+ mockVerifySession . mockResolvedValue ( {
15
+ isAuth : false ,
16
+ } ) ;
17
+
18
+ prismaMock . song . upsert . mockResolvedValue ( { id : 1 , trackID : 'test' } ) ;
19
+
20
+ const req = generateMockRequest ( {
21
+ trackId : 'test' ,
22
+ } ) ;
23
+
24
+ const response = await PUT ( req as NextRequest ) ;
25
+ const data = await response . json ( ) ;
26
+
27
+ expect ( data . error ) . toEqual ( 'Invalid session' ) ;
28
+ } ) ;
29
+
30
+ test ( 'Liked songs succeeds for valid session' , async ( ) => {
31
+ mockVerifySession . mockResolvedValue ( {
32
+ isAuth : true ,
33
+ uid : 2 ,
34
+ } ) ;
35
+
36
+ prismaMock . song . upsert . mockResolvedValue ( { id : 1 , trackID : 'test' } ) ;
37
+
38
+ const req = generateMockRequest ( {
39
+ trackId : 'test' ,
40
+ } ) ;
41
+
42
+ const response = await PUT ( req as NextRequest ) ;
43
+ const data = await response . json ( ) ;
44
+
45
+ expect ( data . success ) . toEqual ( true ) ;
46
+ } ) ;
You can’t perform that action at this time.
0 commit comments