11import { jest } from '@jest/globals'
22import express from 'express'
33import request from 'supertest'
4- import controller from '../../db-controller.js'
4+
5+ // Create mock functions
6+ const mockFindOne = jest . fn ( )
7+ const mockReplaceOne = jest . fn ( )
58
69// Mock the database module
710jest . mock ( '../../database/index.js' , ( ) => ( {
811 db : {
9- findOne : jest . fn ( ) ,
10- replaceOne : jest . fn ( )
12+ findOne : mockFindOne ,
13+ replaceOne : mockReplaceOne
1114 }
1215} ) )
1316
14- // Import the mocked db after mocking
15- import { db } from '../../database/index .js'
17+ // Import controller after mocking
18+ import controller from '../../db-controller .js'
1619
1720// Helper to add auth to requests
1821const addAuth = ( req , res , next ) => {
@@ -46,8 +49,8 @@ describe('Overwrite Optimistic Locking', () => {
4649 data : 'original-data'
4750 }
4851
49- db . findOne . mockResolvedValue ( mockObject )
50- db . replaceOne . mockResolvedValue ( { modifiedCount : 1 } )
52+ mockFindOne . mockResolvedValue ( mockObject )
53+ mockReplaceOne . mockResolvedValue ( { modifiedCount : 1 } )
5154
5255 const response = await request ( routeTester )
5356 . put ( '/overwrite' )
@@ -72,8 +75,8 @@ describe('Overwrite Optimistic Locking', () => {
7275 data : 'original-data'
7376 }
7477
75- db . findOne . mockResolvedValue ( mockObject )
76- db . replaceOne . mockResolvedValue ( { modifiedCount : 1 } )
78+ mockFindOne . mockResolvedValue ( mockObject )
79+ mockReplaceOne . mockResolvedValue ( { modifiedCount : 1 } )
7780
7881 const response = await request ( routeTester )
7982 . put ( '/overwrite' )
@@ -99,7 +102,7 @@ describe('Overwrite Optimistic Locking', () => {
99102 data : 'original-data'
100103 }
101104
102- db . findOne . mockResolvedValue ( mockObject )
105+ mockFindOne . mockResolvedValue ( mockObject )
103106
104107 const response = await request ( routeTester )
105108 . put ( '/overwrite' )
@@ -126,8 +129,8 @@ describe('Overwrite Optimistic Locking', () => {
126129 data : 'original-data'
127130 }
128131
129- db . findOne . mockResolvedValue ( mockObject )
130- db . replaceOne . mockResolvedValue ( { modifiedCount : 1 } )
132+ mockFindOne . mockResolvedValue ( mockObject )
133+ mockReplaceOne . mockResolvedValue ( { modifiedCount : 1 } )
131134
132135 const response = await request ( routeTester )
133136 . put ( '/overwrite' )
@@ -156,7 +159,7 @@ describe('ID endpoint includes version header', () => {
156159 data : 'some-data'
157160 }
158161
159- db . findOne . mockResolvedValue ( mockObject )
162+ mockFindOne . mockResolvedValue ( mockObject )
160163
161164 const response = await request ( routeTester )
162165 . get ( '/id/test-id' )
@@ -175,7 +178,7 @@ describe('ID endpoint includes version header', () => {
175178 data : 'some-data'
176179 }
177180
178- db . findOne . mockResolvedValue ( mockObject )
181+ mockFindOne . mockResolvedValue ( mockObject )
179182
180183 const response = await request ( routeTester )
181184 . get ( '/id/test-id' )
0 commit comments