From 7ee8ea509657ff059db67bb47329687d39237b50 Mon Sep 17 00:00:00 2001 From: Quramy Date: Tue, 26 Mar 2024 22:01:26 +0900 Subject: [PATCH] use experimentalRollbackInTransaction --- jest.config.mjs | 1 + src/index.test.ts | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/jest.config.mjs b/jest.config.mjs index fd79370..ee6322d 100644 --- a/jest.config.mjs +++ b/jest.config.mjs @@ -6,5 +6,6 @@ export default { setupFilesAfterEnv: [], testEnvironmentOptions: { verboseQuery: true, + enableExperimentalRollbackInTransaction: true, }, }; diff --git a/src/index.test.ts b/src/index.test.ts index f65c01a..2f47556 100644 --- a/src/index.test.ts +++ b/src/index.test.ts @@ -28,9 +28,18 @@ test(ensureUser.name, async () => { // succeed expect(await ensureUser(jestPrisma.client, data)).toBe(true); - // succeed - expect(await ensureUser(jestPrisma.client, data)).toBe(true); + try { + await jestPrisma.client.$transaction(async () => { + // succeed + expect(await ensureUser(jestPrisma.client, data)).toBe(true); + throw new Error(); + }); + } catch {} - // fail + // succeed expect(await jestPrisma.client.user.count()).toBe(1); }); + +test("count user", async () => { + expect(await jestPrisma.client.user.count()).toBe(0); +});