faire-auth 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +34 -0
  3. package/dist/access-B5bBI4uT.mjs +39 -0
  4. package/dist/access-Crt-IJ2P.cjs +51 -0
  5. package/dist/adapter-factory-BXei1QRX.mjs +881 -0
  6. package/dist/adapter-factory-DT-_2aHJ.cjs +893 -0
  7. package/dist/adapters/drizzle-adapter/index.cjs +208 -0
  8. package/dist/adapters/drizzle-adapter/index.d.cts +48 -0
  9. package/dist/adapters/drizzle-adapter/index.d.mts +48 -0
  10. package/dist/adapters/drizzle-adapter/index.mjs +207 -0
  11. package/dist/adapters/index.cjs +23 -0
  12. package/dist/adapters/index.d.cts +157 -0
  13. package/dist/adapters/index.d.mts +157 -0
  14. package/dist/adapters/index.mjs +17 -0
  15. package/dist/adapters/kysely-adapter/index.cjs +11 -0
  16. package/dist/adapters/kysely-adapter/index.d.cts +52 -0
  17. package/dist/adapters/kysely-adapter/index.d.mts +52 -0
  18. package/dist/adapters/kysely-adapter/index.mjs +9 -0
  19. package/dist/adapters/memory-adapter/index.cjs +9 -0
  20. package/dist/adapters/memory-adapter/index.d.cts +15 -0
  21. package/dist/adapters/memory-adapter/index.d.mts +15 -0
  22. package/dist/adapters/memory-adapter/index.mjs +9 -0
  23. package/dist/adapters/mongodb-adapter/index.cjs +9 -0
  24. package/dist/adapters/mongodb-adapter/index.d.cts +4 -0
  25. package/dist/adapters/mongodb-adapter/index.d.mts +4 -0
  26. package/dist/adapters/mongodb-adapter/index.mjs +9 -0
  27. package/dist/adapters/prisma-adapter/index.cjs +156 -0
  28. package/dist/adapters/prisma-adapter/index.d.cts +35 -0
  29. package/dist/adapters/prisma-adapter/index.d.mts +35 -0
  30. package/dist/adapters/prisma-adapter/index.mjs +155 -0
  31. package/dist/adapters/test.cjs +797 -0
  32. package/dist/adapters/test.d.cts +82 -0
  33. package/dist/adapters/test.d.mts +82 -0
  34. package/dist/adapters/test.mjs +793 -0
  35. package/dist/api/index.cjs +20 -0
  36. package/dist/api/index.d.cts +3 -0
  37. package/dist/api/index.d.mts +3 -0
  38. package/dist/api/index.mjs +20 -0
  39. package/dist/api/middleware/index.cjs +16 -0
  40. package/dist/api/middleware/index.d.cts +16 -0
  41. package/dist/api/middleware/index.d.mts +16 -0
  42. package/dist/api/middleware/index.mjs +11 -0
  43. package/dist/api-Bm89BLgN.cjs +1899 -0
  44. package/dist/api-_B7qO28y.mjs +1892 -0
  45. package/dist/auth-Bo9PDt5j.cjs +739 -0
  46. package/dist/auth-Ds4AG4h4.mjs +709 -0
  47. package/dist/bearer-0SeEmaS4.mjs +54 -0
  48. package/dist/bearer-CHeREcGT.cjs +60 -0
  49. package/dist/bun-sqlite-dialect-CfkBo2v5.mjs +155 -0
  50. package/dist/bun-sqlite-dialect-wuaC2-gh.cjs +156 -0
  51. package/dist/chunk-Ceigfy4P.mjs +39 -0
  52. package/dist/chunk-oakRccI5.cjs +60 -0
  53. package/dist/client/index.cjs +22 -0
  54. package/dist/client/index.d.cts +8 -0
  55. package/dist/client/index.d.mts +8 -0
  56. package/dist/client/index.mjs +19 -0
  57. package/dist/client/lynx/index.cjs +79 -0
  58. package/dist/client/lynx/index.d.cts +156 -0
  59. package/dist/client/lynx/index.d.mts +156 -0
  60. package/dist/client/lynx/index.mjs +76 -0
  61. package/dist/client/plugins/index.cjs +11 -0
  62. package/dist/client/plugins/index.d.cts +17 -0
  63. package/dist/client/plugins/index.d.mts +17 -0
  64. package/dist/client/plugins/index.mjs +10 -0
  65. package/dist/client/react/index.cjs +79 -0
  66. package/dist/client/react/index.d.cts +156 -0
  67. package/dist/client/react/index.d.mts +156 -0
  68. package/dist/client/react/index.mjs +76 -0
  69. package/dist/client/solid/index.cjs +51 -0
  70. package/dist/client/solid/index.d.cts +90 -0
  71. package/dist/client/solid/index.d.mts +90 -0
  72. package/dist/client/solid/index.mjs +50 -0
  73. package/dist/client/svelte/index.cjs +28 -0
  74. package/dist/client/svelte/index.d.cts +110 -0
  75. package/dist/client/svelte/index.d.mts +110 -0
  76. package/dist/client/svelte/index.mjs +28 -0
  77. package/dist/client/vue/index.cjs +68 -0
  78. package/dist/client/vue/index.d.cts +123 -0
  79. package/dist/client/vue/index.d.mts +123 -0
  80. package/dist/client/vue/index.mjs +67 -0
  81. package/dist/cookies-B5xeA6i8.cjs +456 -0
  82. package/dist/cookies-Ch1JfQIz.mjs +367 -0
  83. package/dist/crypto/index.cjs +11 -0
  84. package/dist/crypto/index.d.cts +22 -0
  85. package/dist/crypto/index.d.mts +22 -0
  86. package/dist/crypto/index.mjs +5 -0
  87. package/dist/crypto-CcTxYH82.cjs +57 -0
  88. package/dist/crypto-CyQRFtkq.mjs +41 -0
  89. package/dist/db/index.cjs +40 -0
  90. package/dist/db/index.d.cts +4 -0
  91. package/dist/db/index.d.mts +4 -0
  92. package/dist/db/index.mjs +16 -0
  93. package/dist/db-BTKyYu-_.cjs +1180 -0
  94. package/dist/db-xiJtoDgz.mjs +1119 -0
  95. package/dist/defu-B0Svx_x4.cjs +34 -0
  96. package/dist/defu-SZkpHhbR.mjs +28 -0
  97. package/dist/email-verification-C-AsfJsb.cjs +247 -0
  98. package/dist/email-verification-CWhj2qfb.mjs +228 -0
  99. package/dist/hono-BEq1NYVX.cjs +526 -0
  100. package/dist/hono-Cdukwu5K.cjs +13 -0
  101. package/dist/hono-CoKYWnXA.mjs +7 -0
  102. package/dist/hono-Covz10jU.mjs +508 -0
  103. package/dist/hono-DOM31WQz.d.cts +18 -0
  104. package/dist/hono-DuE14mmj.d.mts +18 -0
  105. package/dist/index-B-WeOMzg.d.cts +13350 -0
  106. package/dist/index-B09P9p5_.d.cts +33 -0
  107. package/dist/index-B5_0QTLg.d.mts +3 -0
  108. package/dist/index-B7SKyR_a.d.cts +3 -0
  109. package/dist/index-BVHscLQl.d.cts +992 -0
  110. package/dist/index-C2-2QDyS.d.cts +35 -0
  111. package/dist/index-CTwrVluH.d.mts +41 -0
  112. package/dist/index-CWAqWfoZ.d.cts +27 -0
  113. package/dist/index-CYSShrFx.d.mts +27 -0
  114. package/dist/index-Qu-iJGNr.d.mts +992 -0
  115. package/dist/index-cs4Sh0En.d.cts +41 -0
  116. package/dist/index-jlessPI0.d.mts +13350 -0
  117. package/dist/index-ppgcFe12.d.mts +33 -0
  118. package/dist/index-to0RO38U.d.mts +35 -0
  119. package/dist/index.cjs +85 -0
  120. package/dist/index.d.cts +5 -0
  121. package/dist/index.d.mts +5 -0
  122. package/dist/index.mjs +27 -0
  123. package/dist/integrations/next-js.cjs +50 -0
  124. package/dist/integrations/next-js.d.cts +23 -0
  125. package/dist/integrations/next-js.d.mts +23 -0
  126. package/dist/integrations/next-js.mjs +49 -0
  127. package/dist/integrations/node.cjs +139 -0
  128. package/dist/integrations/node.d.cts +22 -0
  129. package/dist/integrations/node.d.mts +22 -0
  130. package/dist/integrations/node.mjs +134 -0
  131. package/dist/integrations/react-start.cjs +37 -0
  132. package/dist/integrations/react-start.d.cts +17 -0
  133. package/dist/integrations/react-start.d.mts +17 -0
  134. package/dist/integrations/react-start.mjs +37 -0
  135. package/dist/integrations/solid-start.cjs +14 -0
  136. package/dist/integrations/solid-start.d.cts +13 -0
  137. package/dist/integrations/solid-start.d.mts +13 -0
  138. package/dist/integrations/solid-start.mjs +13 -0
  139. package/dist/integrations/svelte-kit.cjs +52 -0
  140. package/dist/integrations/svelte-kit.d.cts +42 -0
  141. package/dist/integrations/svelte-kit.d.mts +42 -0
  142. package/dist/integrations/svelte-kit.mjs +49 -0
  143. package/dist/ip-B5SwXaMB.cjs +54 -0
  144. package/dist/ip-BjNYspCH.mjs +36 -0
  145. package/dist/json-B1v2qRTQ.mjs +24 -0
  146. package/dist/json-CcJ2HjGo.cjs +30 -0
  147. package/dist/kysely-adapter-Bxi7sPdG.cjs +288 -0
  148. package/dist/kysely-adapter-DRuoT_X8.mjs +270 -0
  149. package/dist/logged-CyGfp8_H.mjs +187 -0
  150. package/dist/logged-DQK3C64b.cjs +193 -0
  151. package/dist/memory-adapter-BlnDIAAX.cjs +154 -0
  152. package/dist/memory-adapter-Db3tsJTn.mjs +148 -0
  153. package/dist/middleware-CE6OhDkq.mjs +29 -0
  154. package/dist/middleware-CWvRH4EW.cjs +47 -0
  155. package/dist/mongodb-adapter-C_qGQED5.mjs +291 -0
  156. package/dist/mongodb-adapter-C_qfK87x.cjs +297 -0
  157. package/dist/node-sqlite-dialect-BfBzyOAg.mjs +155 -0
  158. package/dist/node-sqlite-dialect-mJWC8LWQ.cjs +156 -0
  159. package/dist/oauth2/index.cjs +25 -0
  160. package/dist/oauth2/index.d.cts +42 -0
  161. package/dist/oauth2/index.d.mts +42 -0
  162. package/dist/oauth2/index.mjs +16 -0
  163. package/dist/oauth2-B8M0lW9l.mjs +159 -0
  164. package/dist/oauth2-BLeOEi7Y.cjs +177 -0
  165. package/dist/origin-check-8Gajklvh.mjs +228 -0
  166. package/dist/origin-check-id9lTnqZ.cjs +246 -0
  167. package/dist/parser-CdncAl9i.cjs +83 -0
  168. package/dist/parser-CeAer-RM.mjs +71 -0
  169. package/dist/passkey-B6N20LSS.cjs +512 -0
  170. package/dist/passkey-DJsR_GX3.mjs +505 -0
  171. package/dist/plugins/access/index.cjs +4 -0
  172. package/dist/plugins/access/index.d.cts +2 -0
  173. package/dist/plugins/access/index.d.mts +2 -0
  174. package/dist/plugins/access/index.mjs +3 -0
  175. package/dist/plugins/bearer/index.cjs +7 -0
  176. package/dist/plugins/bearer/index.d.cts +4 -0
  177. package/dist/plugins/bearer/index.d.mts +4 -0
  178. package/dist/plugins/bearer/index.mjs +7 -0
  179. package/dist/plugins/index.cjs +49 -0
  180. package/dist/plugins/index.d.cts +9326 -0
  181. package/dist/plugins/index.d.mts +9326 -0
  182. package/dist/plugins/index.mjs +26 -0
  183. package/dist/plugins/passkey/index.cjs +15 -0
  184. package/dist/plugins/passkey/index.d.cts +4 -0
  185. package/dist/plugins/passkey/index.d.mts +4 -0
  186. package/dist/plugins/passkey/index.mjs +15 -0
  187. package/dist/plugins-C1lm2Wj3.cjs +5254 -0
  188. package/dist/plugins-Dai1QkRU.mjs +5199 -0
  189. package/dist/request-1NL_1lyJ.mjs +58 -0
  190. package/dist/request-CPNlp-DK.cjs +100 -0
  191. package/dist/schema-D-qjygfE.cjs +179 -0
  192. package/dist/schema-DTIwLLmf.mjs +125 -0
  193. package/dist/session-De9POJTW.cjs +641 -0
  194. package/dist/session-rH8ougDl.mjs +538 -0
  195. package/dist/social-providers/index.cjs +10 -0
  196. package/dist/social-providers/index.d.cts +2 -0
  197. package/dist/social-providers/index.d.mts +2 -0
  198. package/dist/social-providers/index.mjs +5 -0
  199. package/dist/social-providers-DcFNUT0S.cjs +13 -0
  200. package/dist/social-providers-DoYJhBe3.mjs +9 -0
  201. package/dist/state--f7fwIGh.cjs +99 -0
  202. package/dist/state-CqJfCIl9.mjs +86 -0
  203. package/dist/test-utils/index.cjs +27492 -0
  204. package/dist/test-utils/index.d.cts +4584 -0
  205. package/dist/test-utils/index.d.mts +4584 -0
  206. package/dist/test-utils/index.mjs +27490 -0
  207. package/dist/types/index.cjs +0 -0
  208. package/dist/types/index.d.cts +3 -0
  209. package/dist/types/index.d.mts +3 -0
  210. package/dist/types/index.mjs +1 -0
  211. package/dist/url-BoUuoIwZ.mjs +88 -0
  212. package/dist/url-D2yvKaM7.cjs +118 -0
  213. package/dist/utils/cookies.cjs +51 -0
  214. package/dist/utils/cookies.d.cts +179 -0
  215. package/dist/utils/cookies.d.mts +179 -0
  216. package/dist/utils/cookies.mjs +7 -0
  217. package/dist/utils-44aDDP8f.cjs +2 -0
  218. package/dist/utils-D4vZd1-9.mjs +4 -0
  219. package/dist/vanilla-Bu2PmFzE.cjs +30 -0
  220. package/dist/vanilla-TfHqeiC7.mjs +25 -0
  221. package/package.json +470 -0
@@ -0,0 +1,797 @@
1
+ const require_chunk = require('../chunk-oakRccI5.cjs');
2
+ require('../crypto-CcTxYH82.cjs');
3
+ require('../state--f7fwIGh.cjs');
4
+ require('../request-CPNlp-DK.cjs');
5
+ require('../utils-44aDDP8f.cjs');
6
+ let vitest = require("vitest");
7
+ let __faire_auth_core_crypto = require("@faire-auth/core/crypto");
8
+
9
+ //#region src/adapters/test.ts
10
+ const adapterTests = {
11
+ CREATE_MODEL: "create model",
12
+ CREATE_MODEL_SHOULD_ALWAYS_RETURN_AN_ID: "create model should always return an id",
13
+ FIND_MODEL: "find model",
14
+ FIND_MODEL_WITHOUT_ID: "find model without id",
15
+ FIND_MODEL_WITH_SELECT: "find model with select",
16
+ FIND_MODEL_WITH_MODIFIED_FIELD_NAME: "find model with modified field name",
17
+ UPDATE_MODEL: "update model",
18
+ SHOULD_FIND_MANY: "should find many",
19
+ SHOULD_FIND_MANY_WITH_WHERE: "should find many with where",
20
+ SHOULD_FIND_MANY_WITH_OPERATORS: "should find many with operators",
21
+ SHOULD_WORK_WITH_REFERENCE_FIELDS: "should work with reference fields",
22
+ SHOULD_FIND_MANY_WITH_NOT_IN_OPERATOR: "should find many with not in operator",
23
+ SHOULD_FIND_MANY_WITH_SORT_BY: "should find many with sortBy",
24
+ SHOULD_FIND_MANY_WITH_LIMIT: "should find many with limit",
25
+ SHOULD_FIND_MANY_WITH_OFFSET: "should find many with offset",
26
+ SHOULD_UPDATE_WITH_MULTIPLE_WHERE: "should update with multiple where",
27
+ DELETE_MODEL: "delete model",
28
+ SHOULD_DELETE_MANY: "should delete many",
29
+ SHOULD_NOT_THROW_ON_DELETE_RECORD_NOT_FOUND: "shouldn't throw on delete record not found",
30
+ SHOULD_NOT_THROW_ON_RECORD_NOT_FOUND: "shouldn't throw on record not found",
31
+ SHOULD_FIND_MANY_WITH_CONTAINS_OPERATOR: "should find many with contains operator",
32
+ SHOULD_SEARCH_USERS_WITH_STARTS_WITH: "should search users with startsWith",
33
+ SHOULD_SEARCH_USERS_WITH_ENDS_WITH: "should search users with endsWith",
34
+ SHOULD_PREFER_GENERATE_ID_IF_PROVIDED: "should prefer generateId if provided",
35
+ SHOULD_ROLLBACK_FAILING_TRANSACTION: "should rollback failing transaction",
36
+ SHOULD_RETURN_TRANSACTION_RESULT: "should return transaction result",
37
+ SHOULD_FIND_MANY_WITH_CONNECTORS: "should find many with connectors"
38
+ };
39
+ const { ...numberIdAdapterTestsCopy } = adapterTests;
40
+ const numberIdAdapterTests = {
41
+ ...numberIdAdapterTestsCopy,
42
+ SHOULD_RETURN_A_NUMBER_ID_AS_A_RESULT: "Should return a number id as a result",
43
+ SHOULD_INCREMENT_THE_ID_BY_1: "Should increment the id by 1"
44
+ };
45
+ delete numberIdAdapterTests.SHOULD_NOT_THROW_ON_DELETE_RECORD_NOT_FOUND;
46
+ /**
47
+ * @deprecated Use `testAdapter` instead.
48
+ */
49
+ function adapterTest({ getAdapter, disableTests: disabledTests, testPrefix }, internalOptions) {
50
+ console.warn("This test function is deprecated and will be removed in the future. Use `testAdapter` instead.");
51
+ const adapter = async () => await getAdapter(internalOptions?.predefinedOptions);
52
+ async function resetDebugLogs() {
53
+ (await adapter())?.adapterTestDebugLogs?.resetDebugLogs();
54
+ }
55
+ async function printDebugLogs() {
56
+ (await adapter())?.adapterTestDebugLogs?.printDebugLogs();
57
+ }
58
+ const testRunId = Date.now().toString(36) + Math.random().toString(36).substring(2, 5);
59
+ const getUniqueEmail = (base) => `${testRunId}_${base}`;
60
+ let user = {
61
+ name: "user",
62
+ email: getUniqueEmail("user@email.com"),
63
+ emailVerified: true,
64
+ createdAt: /* @__PURE__ */ new Date(),
65
+ updatedAt: /* @__PURE__ */ new Date()
66
+ };
67
+ vitest.test.skipIf(disabledTests?.CREATE_MODEL)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.CREATE_MODEL}`, async ({ onTestFailed }) => {
68
+ await resetDebugLogs();
69
+ onTestFailed(async () => {
70
+ await printDebugLogs();
71
+ });
72
+ const res = await (await adapter()).create({
73
+ model: "user",
74
+ data: user
75
+ });
76
+ user.id = res.id;
77
+ (0, vitest.expect)({
78
+ name: res.name,
79
+ email: res.email
80
+ }).toEqual({
81
+ name: user.name,
82
+ email: user.email
83
+ });
84
+ });
85
+ vitest.test.skipIf(disabledTests?.CREATE_MODEL_SHOULD_ALWAYS_RETURN_AN_ID)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.CREATE_MODEL_SHOULD_ALWAYS_RETURN_AN_ID}`, async ({ onTestFailed }) => {
86
+ await resetDebugLogs();
87
+ onTestFailed(async () => {
88
+ await printDebugLogs();
89
+ });
90
+ const res = await (await adapter()).create({
91
+ model: "user",
92
+ data: {
93
+ name: "test-name-without-id",
94
+ email: getUniqueEmail("test-email-without-id@email.com")
95
+ }
96
+ });
97
+ (0, vitest.expect)(res).toHaveProperty("id");
98
+ (0, vitest.expect)(res?.id).toBeTypeOf("string");
99
+ });
100
+ vitest.test.skipIf(disabledTests?.FIND_MODEL)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.FIND_MODEL}`, async ({ onTestFailed }) => {
101
+ await resetDebugLogs();
102
+ onTestFailed(async () => {
103
+ await printDebugLogs();
104
+ });
105
+ const res = await (await adapter()).findOne({
106
+ model: "user",
107
+ where: [{
108
+ field: "id",
109
+ value: user.id
110
+ }]
111
+ });
112
+ (0, vitest.expect)({
113
+ name: res?.name,
114
+ email: res?.email
115
+ }).toEqual({
116
+ name: user.name,
117
+ email: user.email
118
+ });
119
+ });
120
+ vitest.test.skipIf(disabledTests?.FIND_MODEL_WITHOUT_ID)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.FIND_MODEL_WITHOUT_ID}`, async ({ onTestFailed }) => {
121
+ await resetDebugLogs();
122
+ onTestFailed(async () => {
123
+ await printDebugLogs();
124
+ });
125
+ const res = await (await adapter()).findOne({
126
+ model: "user",
127
+ where: [{
128
+ field: "email",
129
+ value: user.email
130
+ }]
131
+ });
132
+ (0, vitest.expect)({
133
+ name: res?.name,
134
+ email: res?.email
135
+ }).toEqual({
136
+ name: user.name,
137
+ email: user.email
138
+ });
139
+ });
140
+ vitest.test.skipIf(disabledTests?.FIND_MODEL_WITH_MODIFIED_FIELD_NAME)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.FIND_MODEL_WITH_MODIFIED_FIELD_NAME}`, async ({ onTestFailed }) => {
141
+ await resetDebugLogs();
142
+ onTestFailed(async () => {
143
+ await printDebugLogs();
144
+ });
145
+ const email = getUniqueEmail("test-email-with-modified-field@email.com");
146
+ const adapter$1 = await getAdapter(Object.assign({ user: { fields: { email: "email_address" } } }, internalOptions?.predefinedOptions));
147
+ (0, vitest.expect)((await adapter$1.create({
148
+ model: "user",
149
+ data: {
150
+ email,
151
+ name: "test-name-with-modified-field",
152
+ emailVerified: true,
153
+ createdAt: /* @__PURE__ */ new Date(),
154
+ updatedAt: /* @__PURE__ */ new Date()
155
+ }
156
+ })).email).toEqual(email);
157
+ const res = await adapter$1.findOne({
158
+ model: "user",
159
+ where: [{
160
+ field: "email",
161
+ value: email
162
+ }]
163
+ });
164
+ (0, vitest.expect)(res).not.toBeNull();
165
+ (0, vitest.expect)(res?.email).toEqual(email);
166
+ });
167
+ vitest.test.skipIf(disabledTests?.FIND_MODEL_WITH_SELECT)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.FIND_MODEL_WITH_SELECT}`, async ({ onTestFailed }) => {
168
+ await resetDebugLogs();
169
+ onTestFailed(async () => {
170
+ await printDebugLogs();
171
+ });
172
+ (0, vitest.expect)(await (await adapter()).findOne({
173
+ model: "user",
174
+ where: [{
175
+ field: "id",
176
+ value: user.id
177
+ }],
178
+ select: ["email"]
179
+ })).toEqual({ email: user.email });
180
+ });
181
+ vitest.test.skipIf(disabledTests?.UPDATE_MODEL)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.UPDATE_MODEL}`, async ({ onTestFailed }) => {
182
+ await resetDebugLogs();
183
+ onTestFailed(async () => {
184
+ await printDebugLogs();
185
+ });
186
+ const newEmail = getUniqueEmail("updated@email.com");
187
+ (0, vitest.expect)(await (await adapter()).update({
188
+ model: "user",
189
+ where: [{
190
+ field: "id",
191
+ value: user.id
192
+ }],
193
+ update: { email: newEmail }
194
+ })).toMatchObject({
195
+ email: newEmail,
196
+ name: user.name
197
+ });
198
+ });
199
+ vitest.test.skipIf(disabledTests?.SHOULD_FIND_MANY)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_FIND_MANY}`, async ({ onTestFailed }) => {
200
+ await resetDebugLogs();
201
+ onTestFailed(async () => {
202
+ await printDebugLogs();
203
+ });
204
+ (0, vitest.expect)((await (await adapter()).findMany({ model: "user" })).length).toBe(3);
205
+ });
206
+ vitest.test.skipIf(disabledTests?.SHOULD_FIND_MANY_WITH_WHERE)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_FIND_MANY_WITH_WHERE}`, async ({ onTestFailed }) => {
207
+ await resetDebugLogs();
208
+ onTestFailed(async () => {
209
+ await printDebugLogs();
210
+ });
211
+ const user$1 = await (await adapter()).create({
212
+ model: "user",
213
+ data: {
214
+ name: "user2",
215
+ email: getUniqueEmail("test@email.com"),
216
+ emailVerified: true,
217
+ createdAt: /* @__PURE__ */ new Date(),
218
+ updatedAt: /* @__PURE__ */ new Date()
219
+ }
220
+ });
221
+ (0, vitest.expect)((await (await adapter()).findMany({
222
+ model: "user",
223
+ where: [{
224
+ field: "id",
225
+ value: user$1.id
226
+ }]
227
+ })).length).toBe(1);
228
+ });
229
+ vitest.test.skipIf(disabledTests?.SHOULD_FIND_MANY_WITH_OPERATORS)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_FIND_MANY_WITH_OPERATORS}`, async ({ onTestFailed }) => {
230
+ await resetDebugLogs();
231
+ onTestFailed(async () => {
232
+ await printDebugLogs();
233
+ });
234
+ const newUser = await (await adapter()).create({
235
+ model: "user",
236
+ data: {
237
+ name: "user",
238
+ email: getUniqueEmail("test-email2@email.com"),
239
+ emailVerified: true,
240
+ createdAt: /* @__PURE__ */ new Date(),
241
+ updatedAt: /* @__PURE__ */ new Date()
242
+ }
243
+ });
244
+ (0, vitest.expect)((await (await adapter()).findMany({
245
+ model: "user",
246
+ where: [{
247
+ field: "id",
248
+ operator: "in",
249
+ value: [user.id, newUser.id]
250
+ }]
251
+ })).length).toBe(2);
252
+ });
253
+ vitest.test.skipIf(disabledTests?.SHOULD_FIND_MANY_WITH_NOT_IN_OPERATOR)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_FIND_MANY_WITH_NOT_IN_OPERATOR}`, async ({ onTestFailed }) => {
254
+ await resetDebugLogs();
255
+ onTestFailed(async () => {
256
+ await printDebugLogs();
257
+ });
258
+ const newUser3 = await (await adapter()).create({
259
+ model: "user",
260
+ data: {
261
+ name: "user",
262
+ email: getUniqueEmail("test-email3@email.com"),
263
+ emailVerified: true,
264
+ createdAt: /* @__PURE__ */ new Date(),
265
+ updatedAt: /* @__PURE__ */ new Date()
266
+ }
267
+ });
268
+ (0, vitest.expect)((await (await adapter()).findMany({ model: "user" })).length).toBe(6);
269
+ (0, vitest.expect)((await (await adapter()).findMany({
270
+ model: "user",
271
+ where: [{
272
+ field: "id",
273
+ operator: "not_in",
274
+ value: [user.id, newUser3.id]
275
+ }]
276
+ })).length).toBe(4);
277
+ await (await adapter()).delete({
278
+ model: "user",
279
+ where: [{
280
+ field: "id",
281
+ value: newUser3.id
282
+ }]
283
+ });
284
+ });
285
+ vitest.test.skipIf(disabledTests?.SHOULD_WORK_WITH_REFERENCE_FIELDS)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_WORK_WITH_REFERENCE_FIELDS}`, async ({ onTestFailed }) => {
286
+ await resetDebugLogs();
287
+ onTestFailed(async () => {
288
+ await printDebugLogs();
289
+ });
290
+ let token = null;
291
+ const user$1 = await (await adapter()).create({
292
+ model: "user",
293
+ data: {
294
+ name: "user",
295
+ email: getUniqueEmail("my-email@email.com"),
296
+ emailVerified: true,
297
+ createdAt: /* @__PURE__ */ new Date(),
298
+ updatedAt: /* @__PURE__ */ new Date()
299
+ }
300
+ });
301
+ token = (await (await adapter()).create({
302
+ model: "session",
303
+ data: {
304
+ token: (0, __faire_auth_core_crypto.generateId)(),
305
+ createdAt: /* @__PURE__ */ new Date(),
306
+ updatedAt: /* @__PURE__ */ new Date(),
307
+ userId: user$1.id,
308
+ expiresAt: /* @__PURE__ */ new Date()
309
+ }
310
+ })).token;
311
+ const res = await (await adapter()).findOne({
312
+ model: "session",
313
+ where: [{
314
+ field: "userId",
315
+ value: user$1.id
316
+ }]
317
+ });
318
+ const resToken = await (await adapter()).findOne({
319
+ model: "session",
320
+ where: [{
321
+ field: "token",
322
+ value: token
323
+ }]
324
+ });
325
+ (0, vitest.expect)(res).toMatchObject({ userId: user$1.id });
326
+ (0, vitest.expect)(resToken).toMatchObject({ userId: user$1.id });
327
+ });
328
+ vitest.test.skipIf(disabledTests?.SHOULD_FIND_MANY_WITH_SORT_BY)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_FIND_MANY_WITH_SORT_BY}`, async ({ onTestFailed }) => {
329
+ await resetDebugLogs();
330
+ onTestFailed(async () => {
331
+ await printDebugLogs();
332
+ });
333
+ await (await adapter()).create({
334
+ model: "user",
335
+ data: {
336
+ name: "a",
337
+ email: getUniqueEmail("a@email.com"),
338
+ emailVerified: true,
339
+ createdAt: /* @__PURE__ */ new Date(),
340
+ updatedAt: /* @__PURE__ */ new Date()
341
+ }
342
+ });
343
+ (0, vitest.expect)((await (await adapter()).findMany({
344
+ model: "user",
345
+ sortBy: {
346
+ field: "name",
347
+ direction: "asc"
348
+ }
349
+ }))[0].name).toBe("a");
350
+ const res2 = await (await adapter()).findMany({
351
+ model: "user",
352
+ sortBy: {
353
+ field: "name",
354
+ direction: "desc"
355
+ }
356
+ });
357
+ (0, vitest.expect)(res2[res2.length - 1].name).toBe("a");
358
+ });
359
+ vitest.test.skipIf(disabledTests?.SHOULD_FIND_MANY_WITH_LIMIT)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_FIND_MANY_WITH_LIMIT}`, async ({ onTestFailed }) => {
360
+ await resetDebugLogs();
361
+ onTestFailed(async () => {
362
+ await printDebugLogs();
363
+ });
364
+ (0, vitest.expect)((await (await adapter()).findMany({
365
+ model: "user",
366
+ limit: 1
367
+ })).length).toBe(1);
368
+ });
369
+ vitest.test.skipIf(disabledTests?.SHOULD_FIND_MANY_WITH_OFFSET)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_FIND_MANY_WITH_OFFSET}`, async ({ onTestFailed }) => {
370
+ await resetDebugLogs();
371
+ onTestFailed(async () => {
372
+ await printDebugLogs();
373
+ });
374
+ (0, vitest.expect)((await (await adapter()).findMany({
375
+ model: "user",
376
+ offset: 2
377
+ })).length).toBe(5);
378
+ });
379
+ vitest.test.skipIf(disabledTests?.SHOULD_UPDATE_WITH_MULTIPLE_WHERE)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_UPDATE_WITH_MULTIPLE_WHERE}`, async ({ onTestFailed }) => {
380
+ await resetDebugLogs();
381
+ onTestFailed(async () => {
382
+ await printDebugLogs();
383
+ });
384
+ const currentEmail = getUniqueEmail("updated@email.com");
385
+ await (await adapter()).updateMany({
386
+ model: "user",
387
+ where: [{
388
+ field: "name",
389
+ value: user.name
390
+ }, {
391
+ field: "email",
392
+ value: currentEmail
393
+ }],
394
+ update: { email: getUniqueEmail("updated2@email.com") }
395
+ });
396
+ (0, vitest.expect)(await (await adapter()).findOne({
397
+ model: "user",
398
+ where: [{
399
+ field: "email",
400
+ value: getUniqueEmail("updated2@email.com")
401
+ }]
402
+ })).toMatchObject({
403
+ name: user.name,
404
+ email: getUniqueEmail("updated2@email.com")
405
+ });
406
+ });
407
+ vitest.test.skipIf(disabledTests?.DELETE_MODEL)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.DELETE_MODEL}`, async ({ onTestFailed }) => {
408
+ await resetDebugLogs();
409
+ onTestFailed(async () => {
410
+ await printDebugLogs();
411
+ });
412
+ await (await adapter()).delete({
413
+ model: "user",
414
+ where: [{
415
+ field: "id",
416
+ value: user.id
417
+ }]
418
+ });
419
+ (0, vitest.expect)(await (await adapter()).findOne({
420
+ model: "user",
421
+ where: [{
422
+ field: "id",
423
+ value: user.id
424
+ }]
425
+ })).toBeNull();
426
+ });
427
+ vitest.test.skipIf(disabledTests?.SHOULD_DELETE_MANY)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_DELETE_MANY}`, async ({ onTestFailed }) => {
428
+ await resetDebugLogs();
429
+ onTestFailed(async () => {
430
+ await printDebugLogs();
431
+ });
432
+ for (const i of [
433
+ "to-be-delete-1",
434
+ "to-be-delete-2",
435
+ "to-be-delete-3"
436
+ ]) await (await adapter()).create({
437
+ model: "user",
438
+ data: {
439
+ name: "to-be-deleted",
440
+ email: getUniqueEmail(`email@test-${i}.com`),
441
+ emailVerified: true,
442
+ createdAt: /* @__PURE__ */ new Date(),
443
+ updatedAt: /* @__PURE__ */ new Date()
444
+ }
445
+ });
446
+ (0, vitest.expect)((await (await adapter()).findMany({
447
+ model: "user",
448
+ where: [{
449
+ field: "name",
450
+ value: "to-be-deleted"
451
+ }]
452
+ })).length).toBe(3);
453
+ await (await adapter()).deleteMany({
454
+ model: "user",
455
+ where: [{
456
+ field: "name",
457
+ value: "to-be-deleted"
458
+ }]
459
+ });
460
+ (0, vitest.expect)((await (await adapter()).findMany({
461
+ model: "user",
462
+ where: [{
463
+ field: "name",
464
+ value: "to-be-deleted"
465
+ }]
466
+ })).length).toBe(0);
467
+ });
468
+ vitest.test.skipIf(disabledTests?.SHOULD_NOT_THROW_ON_DELETE_RECORD_NOT_FOUND)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_NOT_THROW_ON_DELETE_RECORD_NOT_FOUND}`, async ({ onTestFailed }) => {
469
+ await resetDebugLogs();
470
+ onTestFailed(async () => {
471
+ await printDebugLogs();
472
+ });
473
+ await (await adapter()).delete({
474
+ model: "user",
475
+ where: [{
476
+ field: "id",
477
+ value: "100000"
478
+ }]
479
+ });
480
+ });
481
+ vitest.test.skipIf(disabledTests?.SHOULD_NOT_THROW_ON_RECORD_NOT_FOUND)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_NOT_THROW_ON_RECORD_NOT_FOUND}`, async ({ onTestFailed }) => {
482
+ await resetDebugLogs();
483
+ onTestFailed(async () => {
484
+ await printDebugLogs();
485
+ });
486
+ (0, vitest.expect)(await (await adapter()).findOne({
487
+ model: "user",
488
+ where: [{
489
+ field: "id",
490
+ value: "100000"
491
+ }]
492
+ })).toBeNull();
493
+ });
494
+ vitest.test.skipIf(disabledTests?.SHOULD_FIND_MANY_WITH_CONTAINS_OPERATOR)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_FIND_MANY_WITH_CONTAINS_OPERATOR}`, async ({ onTestFailed }) => {
495
+ await resetDebugLogs();
496
+ onTestFailed(async () => {
497
+ await printDebugLogs();
498
+ });
499
+ (0, vitest.expect)((await (await adapter()).findMany({
500
+ model: "user",
501
+ where: [{
502
+ field: "name",
503
+ operator: "contains",
504
+ value: "user2"
505
+ }]
506
+ })).length).toBe(1);
507
+ });
508
+ vitest.test.skipIf(disabledTests?.SHOULD_SEARCH_USERS_WITH_STARTS_WITH)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_SEARCH_USERS_WITH_STARTS_WITH}`, async ({ onTestFailed }) => {
509
+ await resetDebugLogs();
510
+ onTestFailed(async () => {
511
+ await printDebugLogs();
512
+ });
513
+ await (await adapter()).create({
514
+ model: "user",
515
+ data: {
516
+ name: "user_starts",
517
+ email: getUniqueEmail("startswith1@test.com"),
518
+ emailVerified: true,
519
+ createdAt: /* @__PURE__ */ new Date(),
520
+ updatedAt: /* @__PURE__ */ new Date()
521
+ }
522
+ });
523
+ await (await adapter()).create({
524
+ model: "user",
525
+ data: {
526
+ name: "user2_starts",
527
+ email: getUniqueEmail("startswith2@test.com"),
528
+ emailVerified: true,
529
+ createdAt: /* @__PURE__ */ new Date(),
530
+ updatedAt: /* @__PURE__ */ new Date()
531
+ }
532
+ });
533
+ await (await adapter()).create({
534
+ model: "user",
535
+ data: {
536
+ name: "user3_starts",
537
+ email: getUniqueEmail("startswith3@test.com"),
538
+ emailVerified: true,
539
+ createdAt: /* @__PURE__ */ new Date(),
540
+ updatedAt: /* @__PURE__ */ new Date()
541
+ }
542
+ });
543
+ (0, vitest.expect)((await (await adapter()).findMany({
544
+ model: "user",
545
+ where: [{
546
+ field: "name",
547
+ operator: "starts_with",
548
+ value: "user"
549
+ }]
550
+ })).length).toBeGreaterThanOrEqual(3);
551
+ });
552
+ vitest.test.skipIf(disabledTests?.SHOULD_SEARCH_USERS_WITH_ENDS_WITH)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_SEARCH_USERS_WITH_ENDS_WITH}`, async ({ onTestFailed }) => {
553
+ await resetDebugLogs();
554
+ onTestFailed(async () => {
555
+ await printDebugLogs();
556
+ });
557
+ await (await adapter()).create({
558
+ model: "user",
559
+ data: {
560
+ name: "tester2",
561
+ email: getUniqueEmail("endswith@test.com"),
562
+ emailVerified: true,
563
+ createdAt: /* @__PURE__ */ new Date(),
564
+ updatedAt: /* @__PURE__ */ new Date()
565
+ }
566
+ });
567
+ (0, vitest.expect)((await (await adapter()).findMany({
568
+ model: "user",
569
+ where: [{
570
+ field: "name",
571
+ operator: "ends_with",
572
+ value: "ter2"
573
+ }]
574
+ })).length).toBe(1);
575
+ });
576
+ vitest.test.skipIf(disabledTests?.SHOULD_PREFER_GENERATE_ID_IF_PROVIDED)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_PREFER_GENERATE_ID_IF_PROVIDED}`, async ({ onTestFailed }) => {
577
+ await resetDebugLogs();
578
+ onTestFailed(async () => {
579
+ await printDebugLogs();
580
+ });
581
+ (0, vitest.expect)((await (await getAdapter(Object.assign({ advanced: { database: { generateId: () => "mocked-id" } } }, internalOptions?.predefinedOptions))).create({
582
+ model: "user",
583
+ data: {
584
+ name: "user4",
585
+ email: getUniqueEmail("user4@email.com"),
586
+ emailVerified: true,
587
+ createdAt: /* @__PURE__ */ new Date(),
588
+ updatedAt: /* @__PURE__ */ new Date()
589
+ }
590
+ })).id).toBe("mocked-id");
591
+ });
592
+ vitest.test.skipIf(disabledTests?.SHOULD_ROLLBACK_FAILING_TRANSACTION)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_ROLLBACK_FAILING_TRANSACTION}`, async ({ onTestFailed, skip }) => {
593
+ await resetDebugLogs();
594
+ onTestFailed(async () => {
595
+ await printDebugLogs();
596
+ });
597
+ const customAdapter = await adapter();
598
+ if (!customAdapter?.options?.adapterConfig.transaction) {
599
+ skip(`Skipping test: ${customAdapter?.options?.adapterConfig.adapterName || "Adapter"}
600
+ does not support transactions`);
601
+ return;
602
+ }
603
+ const user5 = {
604
+ name: "user5",
605
+ email: getUniqueEmail("user5@email.com"),
606
+ emailVerified: true,
607
+ createdAt: /* @__PURE__ */ new Date(),
608
+ updatedAt: /* @__PURE__ */ new Date()
609
+ };
610
+ const user6 = {
611
+ name: "user6",
612
+ email: getUniqueEmail("user6@email.com"),
613
+ emailVerified: true,
614
+ createdAt: /* @__PURE__ */ new Date(),
615
+ updatedAt: /* @__PURE__ */ new Date()
616
+ };
617
+ await (0, vitest.expect)(customAdapter.transaction(async (tx) => {
618
+ await tx.create({
619
+ model: "user",
620
+ data: user5
621
+ });
622
+ throw new Error("Simulated failure");
623
+ })).rejects.toThrow("Simulated failure");
624
+ await (0, vitest.expect)(customAdapter.findMany({
625
+ model: "user",
626
+ where: [{
627
+ field: "email",
628
+ value: user5.email,
629
+ connector: "OR"
630
+ }, {
631
+ field: "email",
632
+ value: user6.email,
633
+ connector: "OR"
634
+ }]
635
+ })).resolves.toEqual([]);
636
+ });
637
+ vitest.test.skipIf(disabledTests?.SHOULD_RETURN_TRANSACTION_RESULT)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_RETURN_TRANSACTION_RESULT}`, async ({ onTestFailed, skip }) => {
638
+ await resetDebugLogs();
639
+ onTestFailed(async () => {
640
+ await printDebugLogs();
641
+ });
642
+ const customAdapter = await adapter();
643
+ if (!customAdapter?.options?.adapterConfig.transaction) {
644
+ skip(`Skipping test: ${customAdapter?.options?.adapterConfig.adapterName || "Adapter"}
645
+ does not support transactions`);
646
+ return;
647
+ }
648
+ (0, vitest.expect)(await customAdapter.transaction(async (tx) => {
649
+ return (await tx.create({
650
+ model: "user",
651
+ data: {
652
+ name: "user6",
653
+ email: getUniqueEmail("user6@email.com"),
654
+ emailVerified: true,
655
+ createdAt: /* @__PURE__ */ new Date(),
656
+ updatedAt: /* @__PURE__ */ new Date()
657
+ }
658
+ })).email;
659
+ })).toEqual(getUniqueEmail("user6@email.com"));
660
+ });
661
+ vitest.test.skipIf(disabledTests?.SHOULD_FIND_MANY_WITH_CONNECTORS)(`${testPrefix ? `${testPrefix} - ` : ""}${adapterTests.SHOULD_FIND_MANY_WITH_CONNECTORS}`, async ({ onTestFailed }) => {
662
+ await resetDebugLogs();
663
+ onTestFailed(async () => {
664
+ await printDebugLogs();
665
+ });
666
+ await (await adapter()).create({
667
+ model: "user",
668
+ data: {
669
+ name: "connector-user1",
670
+ email: getUniqueEmail("connector-user1@email.com"),
671
+ emailVerified: true,
672
+ createdAt: /* @__PURE__ */ new Date(),
673
+ updatedAt: /* @__PURE__ */ new Date()
674
+ }
675
+ });
676
+ await (await adapter()).create({
677
+ model: "user",
678
+ data: {
679
+ name: "con-user2",
680
+ email: getUniqueEmail("connector-user2@email.com"),
681
+ emailVerified: true,
682
+ createdAt: /* @__PURE__ */ new Date(),
683
+ updatedAt: /* @__PURE__ */ new Date()
684
+ }
685
+ });
686
+ (0, vitest.expect)((await (await adapter()).findMany({
687
+ model: "user",
688
+ where: [{
689
+ field: "name",
690
+ value: "con-user2",
691
+ connector: "AND"
692
+ }, {
693
+ field: "email",
694
+ value: getUniqueEmail("connector-user2@email.com"),
695
+ connector: "AND"
696
+ }]
697
+ })).length).toBe(1);
698
+ (0, vitest.expect)((await (await adapter()).findMany({
699
+ model: "user",
700
+ where: [{
701
+ field: "name",
702
+ value: "connector-user1",
703
+ connector: "OR"
704
+ }, {
705
+ field: "name",
706
+ value: "con-user2",
707
+ connector: "OR"
708
+ }]
709
+ })).length).toBe(2);
710
+ });
711
+ }
712
+ function runAdapterTest(opts) {
713
+ return adapterTest(opts);
714
+ }
715
+ function runNumberIdAdapterTest(opts) {
716
+ const cleanup = [];
717
+ const testRunId = Date.now().toString(36) + Math.random().toString(36).substr(2, 5);
718
+ const getUniqueEmail = (base) => `${testRunId}_${base}`;
719
+ const adapter = async () => await opts.getAdapter({ advanced: { database: { useNumberId: true } } });
720
+ (0, vitest.describe)("Should run number id specific tests", async (test$1) => {
721
+ let idNumber = -1;
722
+ async function resetDebugLogs() {
723
+ (await adapter())?.adapterTestDebugLogs?.resetDebugLogs();
724
+ }
725
+ async function printDebugLogs() {
726
+ (await adapter())?.adapterTestDebugLogs?.printDebugLogs();
727
+ }
728
+ test$1.skipIf(opts.disableTests?.SHOULD_RETURN_A_NUMBER_ID_AS_A_RESULT)(`${opts.testPrefix ? `${opts.testPrefix} - ` : ""}${numberIdAdapterTests.SHOULD_RETURN_A_NUMBER_ID_AS_A_RESULT}`, async ({ onTestFailed }) => {
729
+ await resetDebugLogs();
730
+ onTestFailed(async () => {
731
+ await printDebugLogs();
732
+ });
733
+ const res = await (await adapter()).create({
734
+ model: "user",
735
+ data: {
736
+ name: "user",
737
+ email: getUniqueEmail("number-user@email.com")
738
+ }
739
+ });
740
+ cleanup.push({
741
+ modelName: "user",
742
+ id: res.id
743
+ });
744
+ (0, vitest.expect)(res.id).toBeTypeOf("string");
745
+ (0, vitest.expect)(parseInt(res.id)).toBeGreaterThan(0);
746
+ idNumber = parseInt(res.id);
747
+ });
748
+ test$1.skipIf(opts.disableTests?.SHOULD_INCREMENT_THE_ID_BY_1)(`${opts.testPrefix ? `${opts.testPrefix} - ` : ""}${numberIdAdapterTests.SHOULD_INCREMENT_THE_ID_BY_1}`, async ({ onTestFailed }) => {
749
+ await resetDebugLogs();
750
+ onTestFailed(async () => {
751
+ console.log(`ID number from last create: ${idNumber}`);
752
+ await printDebugLogs();
753
+ });
754
+ const res = await (await adapter()).create({
755
+ model: "user",
756
+ data: {
757
+ name: "user2",
758
+ email: getUniqueEmail("number-user2@email.com")
759
+ }
760
+ });
761
+ cleanup.push({
762
+ modelName: "user",
763
+ id: res.id
764
+ });
765
+ (0, vitest.expect)(parseInt(res.id)).toBe(idNumber + 1);
766
+ });
767
+ });
768
+ (0, vitest.describe)("Should run normal adapter tests with number id enabled", async (test$1) => {
769
+ (0, vitest.beforeAll)(async () => {
770
+ for (const { modelName, id } of cleanup) await (await adapter()).delete({
771
+ model: modelName,
772
+ where: [{
773
+ field: "id",
774
+ value: id
775
+ }]
776
+ });
777
+ });
778
+ await adapterTest({
779
+ ...opts,
780
+ disableTests: {
781
+ ...opts.disableTests,
782
+ SHOULD_PREFER_GENERATE_ID_IF_PROVIDED: true
783
+ }
784
+ }, { predefinedOptions: { advanced: { database: { useNumberId: true } } } });
785
+ });
786
+ }
787
+ function recoverProcessTZ() {
788
+ const originalTZ = process.env.TZ;
789
+ return { [Symbol.dispose]: () => {
790
+ process.env.TZ = originalTZ;
791
+ } };
792
+ }
793
+
794
+ //#endregion
795
+ exports.recoverProcessTZ = recoverProcessTZ;
796
+ exports.runAdapterTest = runAdapterTest;
797
+ exports.runNumberIdAdapterTest = runNumberIdAdapterTest;