@@ -4,7 +4,7 @@ import type { DatabaseType, DatabaseConfig, ModuleOptions } from '../src/types'
44import { cleanupTestSetup , createTestSetup } from './test-setup'
55import { createUsersTable } from '../src/runtime/server/utils/create-users-table'
66import { createPersonalAccessTokensTable } from '../src/runtime/server/utils/create-personal-access-tokens-table'
7- import { createUser , findUserByEmail , updateUserPassword , getLastLoginTime , getCurrentUserFromToken } from '../src/runtime/server/utils/user'
7+ import { createUser , findUserByEmail , updateUser , updateUserPassword , getLastLoginTime , getCurrentUserFromToken } from '../src/runtime/server/utils/user'
88import { addActiveToUsers } from '../src/runtime/server/utils/add-active-to-users'
99
1010describe ( 'User Utilities (src/utils/user.ts)' , ( ) => {
@@ -161,6 +161,26 @@ describe('User Utilities (src/utils/user.ts)', () => {
161161 } )
162162 } )
163163
164+ describe ( 'updateUser' , ( ) => {
165+ it ( 'should update user details in the database' , async ( ) => {
166+ // 1. Create a user
167+ const userData = { email : 'update@example.com' , name : 'Original Name' , password : 'password123' }
168+ const createdUser = await createUser ( userData , testOptions )
169+
170+ // 2. Update the user's name and role
171+ const updates = { name : 'Updated Name' , role : 'admin' }
172+ await updateUser ( createdUser . id , updates , testOptions )
173+
174+ // 3. Fetch the user directly from the database to verify the update
175+ const result = await db . sql `SELECT * FROM {${ testOptions . tables . users } } WHERE id = ${ createdUser . id } `
176+ const dbUser = result . rows ! [ 0 ]
177+
178+ // 4. Assert that the details are updated
179+ expect ( dbUser . name ) . toBe ( updates . name )
180+ expect ( dbUser . role ) . toBe ( updates . role )
181+ } )
182+ } )
183+
164184 describe ( 'Integration tests' , ( ) => {
165185 it ( 'should work together: create user, find user, update password' , async ( ) => {
166186 const userData = { email : 'integration@webmania.cc' , name : 'Integration User' , password : 'initialpassword' }
0 commit comments