11import { beforeEach , describe , expect , it , vi } from 'vitest'
22
33const getSessionMock = vi . fn ( )
4- const matchesUserMock = vi . fn ( ( ) => true )
54
65vi . mock ( '../src/runtime/server/utils/auth' , ( ) => ( {
76 serverAuth : ( ) => ( {
@@ -11,15 +10,6 @@ vi.mock('../src/runtime/server/utils/auth', () => ({
1110 } ) ,
1211} ) )
1312
14- vi . mock ( '../src/runtime/utils/match-user' , ( ) => ( {
15- matchesUser : ( ...args : unknown [ ] ) => matchesUserMock ( ...args ) ,
16- } ) )
17-
18- vi . mock ( 'h3' , ( ) => ( {
19- createError : ( { statusCode, statusMessage } : { statusCode : number , statusMessage : string } ) =>
20- Object . assign ( new Error ( statusMessage ) , { statusCode, statusMessage } ) ,
21- } ) )
22-
2313function createEvent ( ) {
2414 return {
2515 headers : new Headers ( ) ,
@@ -37,8 +27,6 @@ describe('getRequestSession', () => {
3727 beforeEach ( ( ) => {
3828 vi . clearAllMocks ( )
3929 getSessionMock . mockReset ( )
40- matchesUserMock . mockReset ( )
41- matchesUserMock . mockReturnValue ( true )
4230 } )
4331
4432 it ( 'memoizes session on event.context.requestSession' , async ( ) => {
@@ -52,9 +40,8 @@ describe('getRequestSession', () => {
5240 const first = await getRequestSession ( event )
5341 const second = await getRequestSession ( event )
5442
55- expect ( first ) . toEqual ( second )
56- expect ( getSessionMock ) . toHaveBeenCalledTimes ( 1 )
57- expect ( event . context . requestSession ) . toEqual ( first )
43+ expect ( first ) . toBe ( second )
44+ expect ( event . context . requestSession ) . toBe ( first )
5845 } )
5946
6047 it ( 'deduplicates concurrent resolution within a single request' , async ( ) => {
@@ -72,8 +59,7 @@ describe('getRequestSession', () => {
7259 resolveSession ?.( { user : { id : 'u1' } , session : { id : 's1' } } )
7360
7461 const [ first , second ] = await Promise . all ( [ p1 , p2 ] )
75- expect ( first ) . toEqual ( second )
76- expect ( getSessionMock ) . toHaveBeenCalledTimes ( 1 )
62+ expect ( first ) . toBe ( second )
7763 } )
7864
7965 it ( 'memoizes and deduplicates when event.context is unavailable' , async ( ) => {
@@ -93,9 +79,8 @@ describe('getRequestSession', () => {
9379 const [ first , second ] = await Promise . all ( [ p1 , p2 ] )
9480 const third = await getRequestSession ( event )
9581
96- expect ( first ) . toEqual ( second )
97- expect ( third ) . toEqual ( first )
98- expect ( getSessionMock ) . toHaveBeenCalledTimes ( 1 )
82+ expect ( first ) . toBe ( second )
83+ expect ( third ) . toBe ( first )
9984 expect ( 'context' in event ) . toBe ( false )
10085 } )
10186} )
@@ -104,8 +89,6 @@ describe('getUserSession', () => {
10489 beforeEach ( ( ) => {
10590 vi . clearAllMocks ( )
10691 getSessionMock . mockReset ( )
107- matchesUserMock . mockReset ( )
108- matchesUserMock . mockReturnValue ( true )
10992 } )
11093
11194 it ( 'does not memoize when session exists' , async ( ) => {
@@ -195,8 +178,6 @@ describe('requireUserSession', () => {
195178 beforeEach ( ( ) => {
196179 vi . clearAllMocks ( )
197180 getSessionMock . mockReset ( )
198- matchesUserMock . mockReset ( )
199- matchesUserMock . mockReturnValue ( true )
200181 } )
201182
202183 it ( 'keeps existing 401 behavior when no session exists' , async ( ) => {
@@ -215,7 +196,6 @@ describe('requireUserSession', () => {
215196 user : { id : 'u1' , role : 'member' } ,
216197 session : { id : 's1' } ,
217198 } )
218- matchesUserMock . mockReturnValue ( false )
219199
220200 const { requireUserSession } = await import ( '../src/runtime/server/utils/session' )
221201 const event = createEvent ( )
0 commit comments