@convex-dev/better-auth 0.10.12 → 0.11.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 (185) hide show
  1. package/dist/auth-options.d.ts.map +1 -1
  2. package/dist/auth-options.js +0 -2
  3. package/dist/auth-options.js.map +1 -1
  4. package/dist/client/adapter-utils.d.ts +10 -10
  5. package/dist/client/adapter-utils.d.ts.map +1 -1
  6. package/dist/client/adapter-utils.js +41 -32
  7. package/dist/client/adapter-utils.js.map +1 -1
  8. package/dist/client/adapter.d.ts +1 -1
  9. package/dist/client/adapter.d.ts.map +1 -1
  10. package/dist/client/adapter.js +113 -7
  11. package/dist/client/adapter.js.map +1 -1
  12. package/dist/client/create-api.d.ts +8 -7
  13. package/dist/client/create-api.d.ts.map +1 -1
  14. package/dist/client/create-api.js +1 -0
  15. package/dist/client/create-api.js.map +1 -1
  16. package/dist/client/create-client.d.ts +1 -1
  17. package/dist/client/create-client.d.ts.map +1 -1
  18. package/dist/client/create-client.js +8 -7
  19. package/dist/client/create-client.js.map +1 -1
  20. package/dist/client/create-schema.d.ts +0 -1
  21. package/dist/client/create-schema.d.ts.map +1 -1
  22. package/dist/client/create-schema.js +0 -1
  23. package/dist/client/create-schema.js.map +1 -1
  24. package/dist/component/_generated/api.d.ts +12 -0
  25. package/dist/component/_generated/api.d.ts.map +1 -1
  26. package/dist/component/_generated/api.js.map +1 -1
  27. package/dist/component/_generated/component.d.ts +7407 -92
  28. package/dist/component/_generated/component.d.ts.map +1 -1
  29. package/dist/component/adapter.d.ts +8 -7
  30. package/dist/component/adapter.d.ts.map +1 -1
  31. package/dist/component/adapterTest.d.ts +1 -7
  32. package/dist/component/adapterTest.d.ts.map +1 -1
  33. package/dist/component/adapterTest.js +193 -390
  34. package/dist/component/adapterTest.js.map +1 -1
  35. package/dist/component/schema.d.ts +35 -74
  36. package/dist/component/schema.d.ts.map +1 -1
  37. package/dist/component/schema.js +16 -21
  38. package/dist/component/schema.js.map +1 -1
  39. package/dist/component/testProfiles/adapterAdditionalFields.d.ts +131 -0
  40. package/dist/component/testProfiles/adapterAdditionalFields.d.ts.map +1 -0
  41. package/dist/component/testProfiles/adapterAdditionalFields.js +5 -0
  42. package/dist/component/testProfiles/adapterAdditionalFields.js.map +1 -0
  43. package/dist/component/testProfiles/adapterOrganizationJoins.d.ts +131 -0
  44. package/dist/component/testProfiles/adapterOrganizationJoins.d.ts.map +1 -0
  45. package/dist/component/testProfiles/adapterOrganizationJoins.js +5 -0
  46. package/dist/component/testProfiles/adapterOrganizationJoins.js.map +1 -0
  47. package/dist/component/testProfiles/adapterPluginTable.d.ts +131 -0
  48. package/dist/component/testProfiles/adapterPluginTable.d.ts.map +1 -0
  49. package/dist/component/testProfiles/adapterPluginTable.js +5 -0
  50. package/dist/component/testProfiles/adapterPluginTable.js.map +1 -0
  51. package/dist/component/testProfiles/adapterRenameField.d.ts +131 -0
  52. package/dist/component/testProfiles/adapterRenameField.d.ts.map +1 -0
  53. package/dist/component/testProfiles/adapterRenameField.js +5 -0
  54. package/dist/component/testProfiles/adapterRenameField.js.map +1 -0
  55. package/dist/component/testProfiles/adapterRenameUserCustom.d.ts +131 -0
  56. package/dist/component/testProfiles/adapterRenameUserCustom.d.ts.map +1 -0
  57. package/dist/component/testProfiles/adapterRenameUserCustom.js +5 -0
  58. package/dist/component/testProfiles/adapterRenameUserCustom.js.map +1 -0
  59. package/dist/component/testProfiles/adapterRenameUserTable.d.ts +131 -0
  60. package/dist/component/testProfiles/adapterRenameUserTable.d.ts.map +1 -0
  61. package/dist/component/testProfiles/adapterRenameUserTable.js +5 -0
  62. package/dist/component/testProfiles/adapterRenameUserTable.js.map +1 -0
  63. package/dist/component/testProfiles/auth-options.profile-additional-fields.d.ts +3 -0
  64. package/dist/component/testProfiles/auth-options.profile-additional-fields.d.ts.map +1 -0
  65. package/dist/component/testProfiles/auth-options.profile-additional-fields.js +38 -0
  66. package/dist/component/testProfiles/auth-options.profile-additional-fields.js.map +1 -0
  67. package/dist/component/testProfiles/auth-options.profile-plugin-table.d.ts +3 -0
  68. package/dist/component/testProfiles/auth-options.profile-plugin-table.d.ts.map +1 -0
  69. package/dist/component/testProfiles/auth-options.profile-plugin-table.js +92 -0
  70. package/dist/component/testProfiles/auth-options.profile-plugin-table.js.map +1 -0
  71. package/dist/component/testProfiles/auth-options.profile-rename-joins.d.ts +6 -0
  72. package/dist/component/testProfiles/auth-options.profile-rename-joins.d.ts.map +1 -0
  73. package/dist/component/testProfiles/auth-options.profile-rename-joins.js +49 -0
  74. package/dist/component/testProfiles/auth-options.profile-rename-joins.js.map +1 -0
  75. package/dist/component/testProfiles/schema.profile-additional-fields.d.ts +227 -0
  76. package/dist/component/testProfiles/schema.profile-additional-fields.d.ts.map +1 -0
  77. package/dist/component/testProfiles/schema.profile-additional-fields.js +37 -0
  78. package/dist/component/testProfiles/schema.profile-additional-fields.js.map +1 -0
  79. package/dist/component/testProfiles/schema.profile-plugin-table.d.ts +450 -0
  80. package/dist/component/testProfiles/schema.profile-plugin-table.d.ts.map +1 -0
  81. package/dist/component/testProfiles/schema.profile-plugin-table.js +116 -0
  82. package/dist/component/testProfiles/schema.profile-plugin-table.js.map +1 -0
  83. package/dist/nextjs/index.d.ts.map +1 -1
  84. package/dist/nextjs/index.js +1 -0
  85. package/dist/nextjs/index.js.map +1 -1
  86. package/dist/plugins/convex/index.d.ts +131 -12
  87. package/dist/plugins/convex/index.d.ts.map +1 -1
  88. package/dist/plugins/convex/index.js +12 -5
  89. package/dist/plugins/convex/index.js.map +1 -1
  90. package/dist/plugins/cross-domain/client.d.ts +1 -1
  91. package/dist/plugins/cross-domain/index.d.ts +126 -1
  92. package/dist/plugins/cross-domain/index.d.ts.map +1 -1
  93. package/dist/plugins/cross-domain/index.js +11 -16
  94. package/dist/plugins/cross-domain/index.js.map +1 -1
  95. package/dist/react-start/index.d.ts.map +1 -1
  96. package/dist/react-start/index.js +1 -0
  97. package/dist/react-start/index.js.map +1 -1
  98. package/dist/test/adapter-factory/auth-flow.d.ts +42 -0
  99. package/dist/test/adapter-factory/auth-flow.d.ts.map +1 -0
  100. package/dist/test/adapter-factory/auth-flow.js +145 -0
  101. package/dist/test/adapter-factory/auth-flow.js.map +1 -0
  102. package/dist/test/adapter-factory/basic.d.ts +190 -0
  103. package/dist/test/adapter-factory/basic.d.ts.map +1 -0
  104. package/dist/test/adapter-factory/basic.js +2713 -0
  105. package/dist/test/adapter-factory/basic.js.map +1 -0
  106. package/dist/test/adapter-factory/convex-custom.d.ts +18 -0
  107. package/dist/test/adapter-factory/convex-custom.d.ts.map +1 -0
  108. package/dist/test/adapter-factory/convex-custom.js +610 -0
  109. package/dist/test/adapter-factory/convex-custom.js.map +1 -0
  110. package/dist/test/adapter-factory/index.d.ts +11 -0
  111. package/dist/test/adapter-factory/index.d.ts.map +1 -0
  112. package/dist/test/adapter-factory/index.js +11 -0
  113. package/dist/test/adapter-factory/index.js.map +1 -0
  114. package/dist/test/adapter-factory/joins.d.ts +18 -0
  115. package/dist/test/adapter-factory/joins.d.ts.map +1 -0
  116. package/dist/test/adapter-factory/joins.js +22 -0
  117. package/dist/test/adapter-factory/joins.js.map +1 -0
  118. package/dist/test/adapter-factory/number-id.d.ts +18 -0
  119. package/dist/test/adapter-factory/number-id.d.ts.map +1 -0
  120. package/dist/test/adapter-factory/number-id.js +36 -0
  121. package/dist/test/adapter-factory/number-id.js.map +1 -0
  122. package/dist/test/adapter-factory/profile-additional-fields.d.ts +71 -0
  123. package/dist/test/adapter-factory/profile-additional-fields.d.ts.map +1 -0
  124. package/dist/test/adapter-factory/profile-additional-fields.js +44 -0
  125. package/dist/test/adapter-factory/profile-additional-fields.js.map +1 -0
  126. package/dist/test/adapter-factory/profile-plugin-table.d.ts +19 -0
  127. package/dist/test/adapter-factory/profile-plugin-table.d.ts.map +1 -0
  128. package/dist/test/adapter-factory/profile-plugin-table.js +25 -0
  129. package/dist/test/adapter-factory/profile-plugin-table.js.map +1 -0
  130. package/dist/test/adapter-factory/profile-rename-joins.d.ts +73 -0
  131. package/dist/test/adapter-factory/profile-rename-joins.d.ts.map +1 -0
  132. package/dist/test/adapter-factory/profile-rename-joins.js +34 -0
  133. package/dist/test/adapter-factory/profile-rename-joins.js.map +1 -0
  134. package/dist/test/adapter-factory/transactions.d.ts +21 -0
  135. package/dist/test/adapter-factory/transactions.d.ts.map +1 -0
  136. package/dist/test/adapter-factory/transactions.js +28 -0
  137. package/dist/test/adapter-factory/transactions.js.map +1 -0
  138. package/dist/test/adapter-factory/uuid.d.ts +18 -0
  139. package/dist/test/adapter-factory/uuid.d.ts.map +1 -0
  140. package/dist/test/adapter-factory/uuid.js +58 -0
  141. package/dist/test/adapter-factory/uuid.js.map +1 -0
  142. package/dist/utils/index.d.ts +18 -3
  143. package/dist/utils/index.d.ts.map +1 -1
  144. package/dist/utils/index.js.map +1 -1
  145. package/package.json +9 -6
  146. package/src/auth-options.ts +0 -2
  147. package/src/client/adapter-utils.ts +80 -73
  148. package/src/client/adapter.test.ts +2 -74
  149. package/src/client/adapter.ts +142 -7
  150. package/src/client/create-api.ts +1 -0
  151. package/src/client/create-client.ts +14 -6
  152. package/src/client/create-schema.ts +0 -1
  153. package/src/component/_generated/api.ts +12 -0
  154. package/src/component/_generated/component.ts +19454 -215
  155. package/src/component/adapterTest.ts +250 -466
  156. package/src/component/schema.ts +21 -26
  157. package/src/component/testProfiles/adapterAdditionalFields.ts +13 -0
  158. package/src/component/testProfiles/adapterOrganizationJoins.ts +13 -0
  159. package/src/component/testProfiles/adapterPluginTable.ts +13 -0
  160. package/src/component/testProfiles/adapterRenameField.ts +13 -0
  161. package/src/component/testProfiles/adapterRenameUserCustom.ts +13 -0
  162. package/src/component/testProfiles/adapterRenameUserTable.ts +13 -0
  163. package/src/component/testProfiles/auth-options.profile-additional-fields.ts +39 -0
  164. package/src/component/testProfiles/auth-options.profile-plugin-table.ts +93 -0
  165. package/src/component/testProfiles/auth-options.profile-rename-joins.ts +54 -0
  166. package/src/component/testProfiles/schema.profile-additional-fields.ts +39 -0
  167. package/src/component/testProfiles/schema.profile-plugin-table.ts +130 -0
  168. package/src/nextjs/index.ts +1 -0
  169. package/src/plugins/convex/index.test.ts +55 -0
  170. package/src/plugins/convex/index.ts +26 -11
  171. package/src/plugins/cross-domain/index.test.ts +67 -0
  172. package/src/plugins/cross-domain/index.ts +11 -22
  173. package/src/react-start/index.ts +1 -0
  174. package/src/test/adapter-factory/auth-flow.ts +170 -0
  175. package/src/test/adapter-factory/basic.ts +3190 -0
  176. package/src/test/adapter-factory/convex-custom.ts +706 -0
  177. package/src/test/adapter-factory/index.ts +10 -0
  178. package/src/test/adapter-factory/joins.ts +28 -0
  179. package/src/test/adapter-factory/number-id.ts +45 -0
  180. package/src/test/adapter-factory/profile-additional-fields.ts +84 -0
  181. package/src/test/adapter-factory/profile-plugin-table.ts +37 -0
  182. package/src/test/adapter-factory/profile-rename-joins.ts +67 -0
  183. package/src/test/adapter-factory/transactions.ts +38 -0
  184. package/src/test/adapter-factory/uuid.ts +67 -0
  185. package/src/utils/index.ts +25 -3
@@ -1,409 +1,212 @@
1
1
  import { createClient } from "../client/index.js";
2
- import { api } from "./_generated/api.js";
2
+ import { internal } from "./_generated/api.js";
3
3
  import { action } from "./_generated/server.js";
4
- const getTestImports = async () => {
5
- const vitestImportName = "vitest";
6
- const { beforeEach, test, expect } = await import(vitestImportName);
7
- const betterAuthAdaptersTestImportName = "better-auth/adapters/test";
8
- const { runAdapterTest } = await import(betterAuthAdaptersTestImportName);
9
- return { beforeEach, test, expect, runAdapterTest };
4
+ // Tests need to run inside of a Convex function to use the Convex adapter.
5
+ // Test dependencies are dynamically imported to keep them out of the
6
+ // production bundle. convex-test runs in the vitest process, so vitest
7
+ // globals are available through dynamic imports.
8
+ const NORMAL_DISABLED_TESTS = [
9
+ "create - should apply default values to fields",
10
+ "create - should return null for nullable foreign keys",
11
+ "create - should support arrays",
12
+ "create - should support json",
13
+ "create - should use generateId if provided",
14
+ "findMany - should be able to perform a complex limited join",
15
+ "findMany - should find many models with limit and offset",
16
+ "findMany - should find many models with offset",
17
+ "findMany - should find many models with sortBy and limit and offset",
18
+ "findMany - should find many models with sortBy and limit and offset and where",
19
+ "findMany - should find many models with sortBy and offset",
20
+ "findMany - should find many with both one-to-one and one-to-many joins",
21
+ "findMany - should find many with join and offset",
22
+ "findMany - should find many with join, where, limit, and offset",
23
+ "findMany - should find many with one-to-one join",
24
+ "findMany - should handle mixed joins correctly when some are missing",
25
+ "findMany - should return empty array when base records don't exist with joins",
26
+ "findMany - should return null for one-to-one join when joined records don't exist",
27
+ "findMany - should select fields with one-to-one join",
28
+ "findOne - backwards join with modified field name (session base, users-table join)",
29
+ "findOne - multiple joins should return result even when some joined tables have no matching rows",
30
+ "findOne - should find a model with modified field name",
31
+ "findOne - should find a model with modified model name",
32
+ "findOne - should join a model with modified field name",
33
+ "findOne - should not apply defaultValue if value not found",
34
+ "findOne - should return an object for one-to-one joins",
35
+ "findOne - should return null for failed base model lookup that has joins",
36
+ "findOne - should return null for one-to-one join when joined record doesn't exist",
37
+ "findOne - should select fields with one-to-one join",
38
+ "findOne - should work with both one-to-one and one-to-many joins",
39
+ ];
40
+ const toDisableMap = (testNames) => Object.fromEntries(testNames.map((testName) => [testName, true]));
41
+ const toEnableOnlyMap = (testNames) => ({
42
+ ALL: true,
43
+ ...Object.fromEntries(testNames.map((testName) => [testName, false])),
44
+ });
45
+ const UUID_SUITE_TESTS = ["init - tests"];
46
+ const getOverrideBetterAuthOptions = (opts) => ({
47
+ ...opts,
48
+ advanced: {
49
+ ...opts.advanced,
50
+ database: {
51
+ ...opts.advanced?.database,
52
+ generateId: "uuid",
53
+ },
54
+ },
55
+ });
56
+ const internalWithTestProfiles = internal;
57
+ const baseProfileApi = {
58
+ adapter: internalWithTestProfiles.adapter,
59
+ adapterTest: internalWithTestProfiles.adapterTest,
10
60
  };
11
- export const getAdapter = (ctx) => async (opts) => {
12
- const authComponent = createClient(api, {
61
+ const profileApi = (name) => {
62
+ return { adapter: internalWithTestProfiles.testProfiles[name] };
63
+ };
64
+ const additionalFieldsProfileApi = profileApi("adapterAdditionalFields");
65
+ const pluginTableProfileApi = profileApi("adapterPluginTable");
66
+ const renameFieldProfileApi = profileApi("adapterRenameField");
67
+ const renameUserCustomProfileApi = profileApi("adapterRenameUserCustom");
68
+ const renameUserTableProfileApi = profileApi("adapterRenameUserTable");
69
+ const organizationJoinsProfileApi = profileApi("adapterOrganizationJoins");
70
+ export const runTests = action(async (ctx, _args) => {
71
+ const testUtilsImport = "@better-auth/test-utils/adapter";
72
+ const { testAdapter } = await import(testUtilsImport);
73
+ const adapterFactoryImport = "../test/adapter-factory/index.js";
74
+ const { coreNormalTestSuite, coreAuthFlowTestSuite, additionalFieldsNormalTestSuite, additionalFieldsAuthFlowTestSuite, pluginTableNormalTestSuite, renameFieldAndJoinTestSuite, renameModelUserCustomTestSuite, renameModelUserTableTestSuite, multiJoinsMissingRowsTestSuite, transactionsTestSuite, uuidTestSuite, convexCustomTestSuite, } = await import(adapterFactoryImport);
75
+ const baseProfileClient = createClient(baseProfileApi, {
13
76
  verbose: false,
14
77
  });
15
- const adapterFactory = authComponent.adapter(ctx);
16
- const options = {
17
- ...(opts ?? {}),
18
- user: {
19
- ...(opts?.user ?? {}),
20
- // We don't currently support custom schema for tests, need to find a
21
- // way to do this.
22
- fields: undefined,
23
- },
24
- };
25
- return adapterFactory(options);
26
- };
27
- // Tests need to run inside of a Convex function to use the Convex adapter
28
- export const runTests = action(async (ctx, args) => {
29
- const { runAdapterTest } = await getTestImports();
30
- runAdapterTest({
31
- getAdapter: getAdapter(ctx),
32
- disableTests: args.disableTests,
78
+ const additionalFieldsProfileClient = createClient(additionalFieldsProfileApi, {
79
+ verbose: false,
33
80
  });
34
- });
35
- export const runCustomTests = action(async (ctx, _args) => {
36
- const { beforeEach, test, expect } = await getTestImports();
37
- runCustomAdapterTests({
38
- beforeEach,
39
- test,
40
- expect,
41
- getAdapter: getAdapter(ctx),
81
+ const pluginTableProfileClient = createClient(pluginTableProfileApi, {
82
+ verbose: false,
42
83
  });
43
- });
44
- function runCustomAdapterTests({ beforeEach, test, expect, getAdapter, }) {
45
- beforeEach(async () => {
46
- const adapter = await getAdapter();
47
- await adapter.deleteMany({
48
- model: "user",
49
- where: [],
50
- });
51
- await adapter.deleteMany({
52
- model: "session",
53
- where: [],
54
- });
84
+ const renameFieldProfileClient = createClient(renameFieldProfileApi, {
85
+ verbose: false,
55
86
  });
56
- test("should handle lone range operators", async () => {
57
- const adapter = await getAdapter();
58
- const user = await adapter.create({
59
- model: "user",
60
- data: {
61
- name: "ab",
62
- email: "a@a.com",
63
- },
64
- });
65
- expect(await adapter.findMany({
66
- model: "user",
67
- where: [
68
- {
69
- field: "name",
70
- operator: "lt",
71
- value: "a",
72
- },
73
- ],
74
- })).toEqual([]);
75
- expect(await adapter.findMany({
76
- model: "user",
77
- where: [
78
- {
79
- field: "name",
80
- operator: "lte",
81
- value: "a",
82
- },
83
- ],
84
- })).toEqual([]);
85
- expect(await adapter.findMany({
86
- model: "user",
87
- where: [
88
- {
89
- field: "name",
90
- operator: "gt",
91
- value: "a",
92
- },
93
- ],
94
- })).toEqual([user]);
95
- expect(await adapter.findMany({
96
- model: "user",
97
- where: [
98
- {
99
- field: "name",
100
- operator: "gte",
101
- value: "ab",
102
- },
103
- ],
104
- })).toEqual([user]);
87
+ const renameUserCustomProfileClient = createClient(renameUserCustomProfileApi, {
88
+ verbose: false,
105
89
  });
106
- test("should handle compound indexes that include id field", async () => {
107
- const adapter = await getAdapter();
108
- const user = await adapter.create({
109
- model: "user",
110
- data: {
111
- name: "foo",
112
- email: "foo@bar.com",
113
- },
114
- });
115
- expect(await adapter.findOne({
116
- model: "user",
117
- where: [
118
- {
119
- field: "id",
120
- value: user.id,
121
- },
122
- {
123
- field: "name",
124
- value: "wrong name",
125
- },
126
- ],
127
- })).toEqual(null);
128
- expect(await adapter.findOne({
129
- model: "user",
130
- where: [
131
- {
132
- field: "id",
133
- value: user.id,
134
- },
135
- {
136
- field: "name",
137
- value: "foo",
138
- },
139
- ],
140
- })).toEqual(user);
141
- expect(await adapter.findOne({
142
- model: "user",
143
- where: [
144
- {
145
- field: "id",
146
- value: user.id,
147
- },
148
- {
149
- field: "name",
150
- value: "foo",
151
- operator: "lt",
152
- },
153
- ],
154
- })).toEqual(null);
155
- expect(await adapter.findOne({
156
- model: "user",
157
- where: [
158
- {
159
- field: "id",
160
- value: user.id,
161
- },
162
- {
163
- field: "name",
164
- value: "foo",
165
- operator: "lte",
166
- },
167
- ],
168
- })).toEqual(user);
169
- expect(await adapter.findOne({
170
- model: "user",
171
- where: [
172
- {
173
- field: "id",
174
- value: user.id,
175
- },
176
- {
177
- field: "name",
178
- value: "foo",
179
- operator: "gt",
180
- },
181
- ],
182
- })).toEqual(null);
183
- expect(await adapter.findOne({
184
- model: "user",
185
- where: [
186
- {
187
- field: "id",
188
- value: user.id,
189
- },
190
- {
191
- field: "name",
192
- value: "foo",
193
- operator: "gte",
194
- },
195
- ],
196
- })).toEqual(user);
197
- expect(await adapter.findOne({
198
- model: "user",
199
- where: [
200
- {
201
- field: "id",
202
- value: user.id,
203
- },
204
- {
205
- field: "name",
206
- operator: "in",
207
- value: ["wrong", "name"],
208
- },
209
- ],
210
- })).toEqual(null);
211
- expect(await adapter.findOne({
212
- model: "user",
213
- where: [
214
- {
215
- field: "id",
216
- value: user.id,
217
- },
218
- {
219
- field: "name",
220
- operator: "in",
221
- value: ["foo"],
222
- },
223
- ],
224
- })).toEqual(user);
90
+ const renameUserTableProfileClient = createClient(renameUserTableProfileApi, {
91
+ verbose: false,
92
+ });
93
+ const organizationJoinsProfileClient = createClient(organizationJoinsProfileApi, {
94
+ verbose: false,
95
+ });
96
+ const { execute: executeBaseProfile } = await testAdapter({
97
+ adapter: () => {
98
+ return baseProfileClient.adapter(ctx);
99
+ },
100
+ runMigrations: () => {
101
+ // Convex schema is static — no migrations needed.
102
+ },
103
+ overrideBetterAuthOptions: getOverrideBetterAuthOptions,
104
+ tests: [
105
+ coreNormalTestSuite({
106
+ disableTests: toDisableMap(NORMAL_DISABLED_TESTS),
107
+ }),
108
+ uuidTestSuite({
109
+ disableTests: toEnableOnlyMap(UUID_SUITE_TESTS),
110
+ }),
111
+ transactionsTestSuite({ disableTests: { ALL: true } }),
112
+ coreAuthFlowTestSuite(),
113
+ convexCustomTestSuite(),
114
+ ],
225
115
  });
226
- test("should automatically paginate", async () => {
227
- const adapter = await getAdapter();
228
- for (let i = 0; i < 300; i++) {
229
- await adapter.create({
230
- model: "user",
231
- data: {
232
- name: `foo${i}`,
233
- email: `foo${i}@bar.com`,
234
- },
235
- });
236
- }
237
- // Better Auth defaults to a limit of 100
238
- expect(await adapter.findMany({
239
- model: "user",
240
- })).toHaveLength(100);
241
- // Pagination has a hardcoded numItems max of 200, this tests that it can handle
242
- // specified limits beyond that
243
- expect(await adapter.findMany({
244
- model: "user",
245
- limit: 250,
246
- })).toHaveLength(250);
247
- expect(await adapter.findMany({
248
- model: "user",
249
- limit: 350,
250
- })).toHaveLength(300);
116
+ const { execute: executeAdditionalFieldsProfile } = await testAdapter({
117
+ adapter: () => {
118
+ return additionalFieldsProfileClient.adapter(ctx);
119
+ },
120
+ runMigrations: () => {
121
+ // Convex schema is static — no migrations needed.
122
+ },
123
+ overrideBetterAuthOptions: getOverrideBetterAuthOptions,
124
+ prefixTests: "profile:additional-fields",
125
+ tests: [
126
+ additionalFieldsNormalTestSuite(),
127
+ additionalFieldsAuthFlowTestSuite(),
128
+ ],
251
129
  });
252
- test("should handle OR where clauses", async () => {
253
- const adapter = await getAdapter();
254
- const user = await adapter.create({
255
- model: "user",
256
- data: {
257
- name: "foo",
258
- email: "foo@bar.com",
259
- },
260
- });
261
- expect(await adapter.findOne({
262
- model: "user",
263
- where: [
264
- { field: "name", value: "bar", connector: "OR" },
265
- { field: "name", value: "foo", connector: "OR" },
266
- ],
267
- })).toEqual(user);
130
+ const { execute: executePluginTableProfile } = await testAdapter({
131
+ adapter: () => {
132
+ return pluginTableProfileClient.adapter(ctx);
133
+ },
134
+ runMigrations: () => {
135
+ // Convex schema is static — no migrations needed.
136
+ },
137
+ overrideBetterAuthOptions: getOverrideBetterAuthOptions,
138
+ prefixTests: "profile:plugin-table",
139
+ tests: [pluginTableNormalTestSuite()],
268
140
  });
269
- test("should handle OR where clauses with sortBy", async () => {
270
- const adapter = await getAdapter();
271
- const fooUser = await adapter.create({
272
- model: "user",
273
- data: {
274
- name: "foo",
275
- email: "foo@bar.com",
276
- },
277
- });
278
- const barUser = await adapter.create({
279
- model: "user",
280
- data: {
281
- name: "bar",
282
- email: "bar@bar.com",
283
- },
284
- });
285
- await adapter.create({
286
- model: "user",
287
- data: {
288
- name: "baz",
289
- email: "baz@bar.com",
290
- },
291
- });
292
- expect(await adapter.findMany({
293
- model: "user",
294
- where: [
295
- { field: "name", value: "bar", connector: "OR" },
296
- { field: "name", value: "foo", connector: "OR" },
297
- ],
298
- sortBy: { field: "name", direction: "asc" },
299
- })).toEqual([barUser, fooUser]);
300
- expect(await adapter.findMany({
301
- model: "user",
302
- where: [
303
- { field: "name", value: "bar", connector: "OR" },
304
- { field: "name", value: "foo", connector: "OR" },
305
- ],
306
- sortBy: { field: "name", direction: "desc" },
307
- })).toEqual([fooUser, barUser]);
141
+ const { execute: executeRenameFieldProfile } = await testAdapter({
142
+ adapter: () => {
143
+ return renameFieldProfileClient.adapter(ctx);
144
+ },
145
+ runMigrations: () => {
146
+ // Convex schema is static — no migrations needed.
147
+ },
148
+ overrideBetterAuthOptions: getOverrideBetterAuthOptions,
149
+ prefixTests: "profile:rename-field-join",
150
+ tests: [renameFieldAndJoinTestSuite()],
308
151
  });
309
- test("should handle count", async () => {
310
- const adapter = await getAdapter();
311
- await adapter.create({
312
- model: "user",
313
- data: {
314
- name: "foo",
315
- email: "foo@bar.com",
316
- },
317
- });
318
- await adapter.create({
319
- model: "user",
320
- data: {
321
- name: "bar",
322
- email: "bar@bar.com",
323
- },
324
- });
325
- expect(await adapter.count({
326
- model: "user",
327
- where: [{ field: "name", value: "foo" }],
328
- })).toEqual(1);
152
+ const { execute: executeRenameUserCustomProfile } = await testAdapter({
153
+ adapter: () => {
154
+ return renameUserCustomProfileClient.adapter(ctx);
155
+ },
156
+ runMigrations: () => {
157
+ // Convex schema is static — no migrations needed.
158
+ },
159
+ overrideBetterAuthOptions: getOverrideBetterAuthOptions,
160
+ prefixTests: "profile:rename-user-custom",
161
+ tests: [renameModelUserCustomTestSuite()],
329
162
  });
330
- test("should handle queries with no index", async () => {
331
- const adapter = await getAdapter();
332
- const user = await adapter.create({
333
- model: "user",
334
- data: {
335
- name: "foo",
336
- email: "foo@bar.com",
337
- emailVerified: true,
338
- },
339
- });
340
- expect(await adapter.findOne({
341
- model: "user",
342
- where: [{ field: "emailVerified", value: true }],
343
- })).toEqual(user);
344
- expect(await adapter.findOne({
345
- model: "user",
346
- where: [{ field: "emailVerified", value: false }],
347
- })).toEqual(null);
163
+ const { execute: executeRenameUserTableProfile } = await testAdapter({
164
+ adapter: () => {
165
+ return renameUserTableProfileClient.adapter(ctx);
166
+ },
167
+ runMigrations: () => {
168
+ // Convex schema is static — no migrations needed.
169
+ },
170
+ overrideBetterAuthOptions: getOverrideBetterAuthOptions,
171
+ prefixTests: "profile:rename-user-table",
172
+ tests: [renameModelUserTableTestSuite()],
348
173
  });
349
- test("should handle compound operator on non-unique field without an index", async () => {
350
- const adapter = await getAdapter();
351
- await adapter.create({
352
- model: "account",
353
- data: {
354
- accountId: "foo",
355
- providerId: "bar",
356
- userId: "baz",
357
- accessTokenExpiresAt: null,
358
- createdAt: Date.now(),
359
- updatedAt: Date.now(),
360
- },
361
- });
362
- expect(await adapter.findOne({
363
- model: "account",
364
- where: [
365
- {
366
- operator: "lt",
367
- connector: "AND",
368
- field: "accessTokenExpiresAt",
369
- value: Date.now(),
370
- },
371
- {
372
- operator: "ne",
373
- connector: "AND",
374
- field: "accessTokenExpiresAt",
375
- value: null,
376
- },
377
- ],
378
- })).toEqual(null);
174
+ const { execute: executeOrganizationJoinsProfile } = await testAdapter({
175
+ adapter: () => {
176
+ return organizationJoinsProfileClient.adapter(ctx);
177
+ },
178
+ runMigrations: () => {
179
+ // Convex schema is static — no migrations needed.
180
+ },
181
+ overrideBetterAuthOptions: getOverrideBetterAuthOptions,
182
+ prefixTests: "profile:organization-joins",
183
+ tests: [multiJoinsMissingRowsTestSuite()],
379
184
  });
380
- test("should fail to create a record with a unique field that already exists", async () => {
381
- const adapter = await getAdapter();
382
- await adapter.create({
383
- model: "user",
384
- data: { name: "foo", email: "foo@bar.com" },
385
- });
386
- await expect(adapter.create({
387
- model: "user",
388
- data: { name: "foo", email: "foo@bar.com" },
389
- })).rejects.toThrow("user email already exists");
185
+ await executeBaseProfile();
186
+ await executeAdditionalFieldsProfile();
187
+ await executePluginTableProfile();
188
+ await executeRenameFieldProfile();
189
+ await executeRenameUserCustomProfile();
190
+ await executeRenameUserTableProfile();
191
+ await executeOrganizationJoinsProfile();
192
+ });
193
+ // Keep this export during migration to avoid breaking generated component types.
194
+ export const runCustomTests = action(async (ctx, _args) => {
195
+ const testUtilsImport = "@better-auth/test-utils/adapter";
196
+ const { testAdapter } = await import(testUtilsImport);
197
+ const adapterFactoryImport = "../test/adapter-factory/index.js";
198
+ const { convexCustomTestSuite } = await import(adapterFactoryImport);
199
+ const authComponent = createClient(baseProfileApi, {
200
+ verbose: false,
390
201
  });
391
- test("should be able to compare against a date", async () => {
392
- const adapter = await getAdapter();
393
- const now = new Date().toISOString();
394
- const user = await adapter.create({
395
- model: "user",
396
- data: {
397
- name: "foo",
398
- email: "foo@bar.com",
399
- createdAt: now,
400
- },
401
- });
402
- expect(await adapter.findOne({
403
- model: "user",
404
- where: [{ field: "createdAt", value: now }],
405
- })).toEqual(user);
406
- expect(user.createdAt).toBeInstanceOf(Date);
202
+ const { execute } = await testAdapter({
203
+ adapter: () => {
204
+ return authComponent.adapter(ctx);
205
+ },
206
+ runMigrations: () => { },
207
+ overrideBetterAuthOptions: getOverrideBetterAuthOptions,
208
+ tests: [convexCustomTestSuite()],
407
209
  });
408
- }
210
+ await execute();
211
+ });
409
212
  //# sourceMappingURL=adapterTest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapterTest.js","sourceRoot":"","sources":["../../src/component/adapterTest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapterTest.js","sourceRoot":"","sources":["../../src/component/adapterTest.ts"],"names":[],"mappings":"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"}