@@ -3,7 +3,7 @@ import type {
33 User as DatabaseUser
44} from "better-auth"
55import { generateId } from "better-auth"
6- import { validate } from "uuid"
6+ import { NIL , validate } from "uuid"
77import { expect , suite , test } from "vitest"
88
99import { mikroOrmAdapter } from "../../src/index.js"
@@ -325,6 +325,63 @@ suite("findMany", () => {
325325 } )
326326} )
327327
328+ suite ( "update" , ( ) => {
329+ test ( "updates matched row" , async ( ) => {
330+ const user = await randomUsers . createAndFlushOne ( )
331+
332+ const actual = await adapter . update < DatabaseUser > ( {
333+ model : "user" ,
334+ where : [
335+ {
336+ field : "id" ,
337+ value : user . id
338+ }
339+ ] ,
340+ update : {
341+ emailVerified : true
342+ }
343+ } )
344+
345+ expect ( actual ?. emailVerified ) . toBe ( true )
346+ } )
347+
348+ test ( "returns null when no row found" , async ( ) => {
349+ const actual = await adapter . update < DatabaseUser > ( {
350+ model : "user" ,
351+ where : [
352+ {
353+ field : "id" ,
354+ value : NIL
355+ }
356+ ] ,
357+ update : {
358+ emailVerified : true
359+ }
360+ } )
361+
362+ expect ( actual ) . toBe ( null )
363+ } )
364+
365+ test ( "updates Identity Map" , async ( ) => {
366+ const user = await randomUsers . createAndFlushOne ( )
367+
368+ await adapter . update < DatabaseUser > ( {
369+ model : "user" ,
370+ where : [
371+ {
372+ field : "id" ,
373+ value : user . id
374+ }
375+ ] ,
376+ update : {
377+ emailVerified : true
378+ }
379+ } )
380+
381+ expect ( user . emailVerified ) . toBe ( true )
382+ } )
383+ } )
384+
328385suite ( "updateMany" , ( ) => {
329386 test ( "updates matched rows" , async ( ) => {
330387 const [ user1 , user2 , user3 ] = await randomUsers . createAndFlushMany ( 3 )
@@ -394,6 +451,26 @@ suite("updateMany", () => {
394451 } )
395452} )
396453
454+ suite ( "delete" , ( ) => {
455+ test ( "removes matched row" , async ( ) => {
456+ const user = await randomUsers . createAndFlushOne ( )
457+
458+ await adapter . delete ( {
459+ model : "user" ,
460+ where : [
461+ {
462+ field : "id" ,
463+ value : user . id
464+ }
465+ ]
466+ } )
467+
468+ const promise = orm . em . findOne ( entities . User , user . id )
469+
470+ await expect ( promise ) . resolves . toBe ( null )
471+ } )
472+ } )
473+
397474suite ( "deleteMany" , ( ) => {
398475 test ( "deletes multiple rows" , async ( ) => {
399476 const users = await randomUsers . createAndFlushMany ( 3 )
0 commit comments