Skip to content

Commit 7856273

Browse files
committed
test(adapter): Add tests for update and delete methods
1 parent 2ee001a commit 7856273

File tree

1 file changed

+78
-1
lines changed

1 file changed

+78
-1
lines changed

tests/node/adapter.test.ts

Lines changed: 78 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type {
33
User as DatabaseUser
44
} from "better-auth"
55
import {generateId} from "better-auth"
6-
import {validate} from "uuid"
6+
import {NIL, validate} from "uuid"
77
import {expect, suite, test} from "vitest"
88

99
import {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+
328385
suite("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+
397474
suite("deleteMany", () => {
398475
test("deletes multiple rows", async () => {
399476
const users = await randomUsers.createAndFlushMany(3)

0 commit comments

Comments
 (0)