mongo.do 0.1.0 → 0.1.1

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 (706) hide show
  1. package/dist/cli/index.d.ts +1 -15
  2. package/dist/cli/index.js +4083 -196
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/index.d.ts +2740 -20
  5. package/dist/index.js +9375 -27
  6. package/dist/index.js.map +1 -1
  7. package/dist/worker-entrypoint-BEW23Gmp.d.ts +1331 -0
  8. package/dist/worker.d.ts +6 -5
  9. package/dist/worker.js +5477 -18
  10. package/dist/worker.js.map +1 -1
  11. package/package.json +3 -2
  12. package/dist/agentfs/adapters/anthropic.d.ts +0 -176
  13. package/dist/agentfs/adapters/anthropic.d.ts.map +0 -1
  14. package/dist/agentfs/adapters/anthropic.js +0 -629
  15. package/dist/agentfs/adapters/anthropic.js.map +0 -1
  16. package/dist/agentfs/adapters/index.d.ts +0 -21
  17. package/dist/agentfs/adapters/index.d.ts.map +0 -1
  18. package/dist/agentfs/adapters/index.js +0 -23
  19. package/dist/agentfs/adapters/index.js.map +0 -1
  20. package/dist/agentfs/adapters/vercel.d.ts +0 -260
  21. package/dist/agentfs/adapters/vercel.d.ts.map +0 -1
  22. package/dist/agentfs/adapters/vercel.js +0 -288
  23. package/dist/agentfs/adapters/vercel.js.map +0 -1
  24. package/dist/agentfs/glob.d.ts +0 -116
  25. package/dist/agentfs/glob.d.ts.map +0 -1
  26. package/dist/agentfs/glob.js +0 -270
  27. package/dist/agentfs/glob.js.map +0 -1
  28. package/dist/agentfs/grep.d.ts +0 -83
  29. package/dist/agentfs/grep.d.ts.map +0 -1
  30. package/dist/agentfs/grep.js +0 -193
  31. package/dist/agentfs/grep.js.map +0 -1
  32. package/dist/agentfs/index.d.ts +0 -22
  33. package/dist/agentfs/index.d.ts.map +0 -1
  34. package/dist/agentfs/index.js +0 -18
  35. package/dist/agentfs/index.js.map +0 -1
  36. package/dist/agentfs/kv-store.d.ts +0 -128
  37. package/dist/agentfs/kv-store.d.ts.map +0 -1
  38. package/dist/agentfs/kv-store.js +0 -227
  39. package/dist/agentfs/kv-store.js.map +0 -1
  40. package/dist/agentfs/mondo-agent.d.ts +0 -255
  41. package/dist/agentfs/mondo-agent.d.ts.map +0 -1
  42. package/dist/agentfs/mondo-agent.js +0 -879
  43. package/dist/agentfs/mondo-agent.js.map +0 -1
  44. package/dist/agentfs/toolcalls.d.ts +0 -130
  45. package/dist/agentfs/toolcalls.d.ts.map +0 -1
  46. package/dist/agentfs/toolcalls.js +0 -178
  47. package/dist/agentfs/toolcalls.js.map +0 -1
  48. package/dist/agentfs/types.d.ts +0 -171
  49. package/dist/agentfs/types.d.ts.map +0 -1
  50. package/dist/agentfs/types.js +0 -7
  51. package/dist/agentfs/types.js.map +0 -1
  52. package/dist/agentfs/vfs.d.ts +0 -249
  53. package/dist/agentfs/vfs.d.ts.map +0 -1
  54. package/dist/agentfs/vfs.js +0 -469
  55. package/dist/agentfs/vfs.js.map +0 -1
  56. package/dist/cli/index.d.ts.map +0 -1
  57. package/dist/cli/mcp.d.ts +0 -119
  58. package/dist/cli/mcp.d.ts.map +0 -1
  59. package/dist/cli/mcp.js +0 -418
  60. package/dist/cli/mcp.js.map +0 -1
  61. package/dist/cli/server.d.ts +0 -179
  62. package/dist/cli/server.d.ts.map +0 -1
  63. package/dist/cli/server.js +0 -441
  64. package/dist/cli/server.js.map +0 -1
  65. package/dist/client/Collection.d.ts +0 -199
  66. package/dist/client/Collection.d.ts.map +0 -1
  67. package/dist/client/Collection.js +0 -256
  68. package/dist/client/Collection.js.map +0 -1
  69. package/dist/client/Database.d.ts +0 -68
  70. package/dist/client/Database.d.ts.map +0 -1
  71. package/dist/client/Database.js +0 -105
  72. package/dist/client/Database.js.map +0 -1
  73. package/dist/client/MongoClient.d.ts +0 -165
  74. package/dist/client/MongoClient.d.ts.map +0 -1
  75. package/dist/client/MongoClient.js +0 -307
  76. package/dist/client/MongoClient.js.map +0 -1
  77. package/dist/client/aggregation-cursor.d.ts +0 -210
  78. package/dist/client/aggregation-cursor.d.ts.map +0 -1
  79. package/dist/client/aggregation-cursor.js +0 -509
  80. package/dist/client/aggregation-cursor.js.map +0 -1
  81. package/dist/client/bulk-write.d.ts +0 -216
  82. package/dist/client/bulk-write.d.ts.map +0 -1
  83. package/dist/client/bulk-write.js +0 -63
  84. package/dist/client/bulk-write.js.map +0 -1
  85. package/dist/client/change-stream.d.ts +0 -245
  86. package/dist/client/change-stream.d.ts.map +0 -1
  87. package/dist/client/change-stream.js +0 -429
  88. package/dist/client/change-stream.js.map +0 -1
  89. package/dist/client/cursor.d.ts +0 -85
  90. package/dist/client/cursor.d.ts.map +0 -1
  91. package/dist/client/cursor.js +0 -156
  92. package/dist/client/cursor.js.map +0 -1
  93. package/dist/client/http-cursor.d.ts +0 -233
  94. package/dist/client/http-cursor.d.ts.map +0 -1
  95. package/dist/client/http-cursor.js +0 -496
  96. package/dist/client/http-cursor.js.map +0 -1
  97. package/dist/client/index.d.ts +0 -18
  98. package/dist/client/index.d.ts.map +0 -1
  99. package/dist/client/index.js +0 -24
  100. package/dist/client/index.js.map +0 -1
  101. package/dist/client/mongo-client.d.ts +0 -60
  102. package/dist/client/mongo-client.d.ts.map +0 -1
  103. package/dist/client/mongo-client.js +0 -190
  104. package/dist/client/mongo-client.js.map +0 -1
  105. package/dist/client/mongo-collection.d.ts +0 -359
  106. package/dist/client/mongo-collection.d.ts.map +0 -1
  107. package/dist/client/mongo-collection.js +0 -1641
  108. package/dist/client/mongo-collection.js.map +0 -1
  109. package/dist/client/mongo-cursor.d.ts +0 -257
  110. package/dist/client/mongo-cursor.d.ts.map +0 -1
  111. package/dist/client/mongo-cursor.js +0 -621
  112. package/dist/client/mongo-cursor.js.map +0 -1
  113. package/dist/client/mongo-database.d.ts +0 -88
  114. package/dist/client/mongo-database.d.ts.map +0 -1
  115. package/dist/client/mongo-database.js +0 -139
  116. package/dist/client/mongo-database.js.map +0 -1
  117. package/dist/client/session.d.ts +0 -210
  118. package/dist/client/session.d.ts.map +0 -1
  119. package/dist/client/session.js +0 -326
  120. package/dist/client/session.js.map +0 -1
  121. package/dist/durable-object/index-manager.d.ts +0 -173
  122. package/dist/durable-object/index-manager.d.ts.map +0 -1
  123. package/dist/durable-object/index-manager.js +0 -764
  124. package/dist/durable-object/index-manager.js.map +0 -1
  125. package/dist/durable-object/index.d.ts +0 -12
  126. package/dist/durable-object/index.d.ts.map +0 -1
  127. package/dist/durable-object/index.js +0 -8
  128. package/dist/durable-object/index.js.map +0 -1
  129. package/dist/durable-object/mcp-handler.d.ts +0 -52
  130. package/dist/durable-object/mcp-handler.d.ts.map +0 -1
  131. package/dist/durable-object/mcp-handler.js +0 -186
  132. package/dist/durable-object/mcp-handler.js.map +0 -1
  133. package/dist/durable-object/migrations.d.ts +0 -40
  134. package/dist/durable-object/migrations.d.ts.map +0 -1
  135. package/dist/durable-object/migrations.js +0 -121
  136. package/dist/durable-object/migrations.js.map +0 -1
  137. package/dist/durable-object/mondo-database.d.ts +0 -148
  138. package/dist/durable-object/mondo-database.d.ts.map +0 -1
  139. package/dist/durable-object/mondo-database.js +0 -621
  140. package/dist/durable-object/mondo-database.js.map +0 -1
  141. package/dist/durable-object/schema.d.ts +0 -192
  142. package/dist/durable-object/schema.d.ts.map +0 -1
  143. package/dist/durable-object/schema.js +0 -186
  144. package/dist/durable-object/schema.js.map +0 -1
  145. package/dist/embedding/document-serializer.d.ts +0 -118
  146. package/dist/embedding/document-serializer.d.ts.map +0 -1
  147. package/dist/embedding/document-serializer.js +0 -339
  148. package/dist/embedding/document-serializer.js.map +0 -1
  149. package/dist/embedding/embedding-manager.d.ts +0 -136
  150. package/dist/embedding/embedding-manager.d.ts.map +0 -1
  151. package/dist/embedding/embedding-manager.js +0 -176
  152. package/dist/embedding/embedding-manager.js.map +0 -1
  153. package/dist/embedding/index.d.ts +0 -9
  154. package/dist/embedding/index.d.ts.map +0 -1
  155. package/dist/embedding/index.js +0 -9
  156. package/dist/embedding/index.js.map +0 -1
  157. package/dist/executor/aggregation-executor.d.ts +0 -93
  158. package/dist/executor/aggregation-executor.d.ts.map +0 -1
  159. package/dist/executor/aggregation-executor.js +0 -275
  160. package/dist/executor/aggregation-executor.js.map +0 -1
  161. package/dist/executor/function-executor.d.ts +0 -39
  162. package/dist/executor/function-executor.d.ts.map +0 -1
  163. package/dist/executor/function-executor.js +0 -168
  164. package/dist/executor/function-executor.js.map +0 -1
  165. package/dist/executor/index.d.ts +0 -4
  166. package/dist/executor/index.d.ts.map +0 -1
  167. package/dist/executor/index.js +0 -4
  168. package/dist/executor/index.js.map +0 -1
  169. package/dist/executor/vector-search-executor.d.ts +0 -71
  170. package/dist/executor/vector-search-executor.d.ts.map +0 -1
  171. package/dist/executor/vector-search-executor.js +0 -113
  172. package/dist/executor/vector-search-executor.js.map +0 -1
  173. package/dist/index.d.ts.map +0 -1
  174. package/dist/mcp/adapters/anthropic-adapter.d.ts +0 -256
  175. package/dist/mcp/adapters/anthropic-adapter.d.ts.map +0 -1
  176. package/dist/mcp/adapters/anthropic-adapter.js +0 -409
  177. package/dist/mcp/adapters/anthropic-adapter.js.map +0 -1
  178. package/dist/mcp/adapters/base-adapter.d.ts +0 -164
  179. package/dist/mcp/adapters/base-adapter.d.ts.map +0 -1
  180. package/dist/mcp/adapters/base-adapter.js +0 -277
  181. package/dist/mcp/adapters/base-adapter.js.map +0 -1
  182. package/dist/mcp/adapters/errors.d.ts +0 -173
  183. package/dist/mcp/adapters/errors.d.ts.map +0 -1
  184. package/dist/mcp/adapters/errors.js +0 -305
  185. package/dist/mcp/adapters/errors.js.map +0 -1
  186. package/dist/mcp/adapters/index.d.ts +0 -65
  187. package/dist/mcp/adapters/index.d.ts.map +0 -1
  188. package/dist/mcp/adapters/index.js +0 -92
  189. package/dist/mcp/adapters/index.js.map +0 -1
  190. package/dist/mcp/adapters/streaming.d.ts +0 -200
  191. package/dist/mcp/adapters/streaming.d.ts.map +0 -1
  192. package/dist/mcp/adapters/streaming.js +0 -381
  193. package/dist/mcp/adapters/streaming.js.map +0 -1
  194. package/dist/mcp/adapters/vercel-adapter.d.ts +0 -321
  195. package/dist/mcp/adapters/vercel-adapter.d.ts.map +0 -1
  196. package/dist/mcp/adapters/vercel-adapter.js +0 -487
  197. package/dist/mcp/adapters/vercel-adapter.js.map +0 -1
  198. package/dist/mcp/agent.d.ts +0 -192
  199. package/dist/mcp/agent.d.ts.map +0 -1
  200. package/dist/mcp/agent.js +0 -338
  201. package/dist/mcp/agent.js.map +0 -1
  202. package/dist/mcp/cli.d.ts +0 -71
  203. package/dist/mcp/cli.d.ts.map +0 -1
  204. package/dist/mcp/cli.js +0 -218
  205. package/dist/mcp/cli.js.map +0 -1
  206. package/dist/mcp/index.d.ts +0 -15
  207. package/dist/mcp/index.d.ts.map +0 -1
  208. package/dist/mcp/index.js +0 -20
  209. package/dist/mcp/index.js.map +0 -1
  210. package/dist/mcp/sandbox/database-proxy.d.ts +0 -118
  211. package/dist/mcp/sandbox/database-proxy.d.ts.map +0 -1
  212. package/dist/mcp/sandbox/database-proxy.js +0 -154
  213. package/dist/mcp/sandbox/database-proxy.js.map +0 -1
  214. package/dist/mcp/sandbox/index.d.ts +0 -8
  215. package/dist/mcp/sandbox/index.d.ts.map +0 -1
  216. package/dist/mcp/sandbox/index.js +0 -7
  217. package/dist/mcp/sandbox/index.js.map +0 -1
  218. package/dist/mcp/sandbox/miniflare-evaluator.d.ts +0 -72
  219. package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +0 -1
  220. package/dist/mcp/sandbox/miniflare-evaluator.js +0 -379
  221. package/dist/mcp/sandbox/miniflare-evaluator.js.map +0 -1
  222. package/dist/mcp/sandbox/template.d.ts +0 -48
  223. package/dist/mcp/sandbox/template.d.ts.map +0 -1
  224. package/dist/mcp/sandbox/template.js +0 -147
  225. package/dist/mcp/sandbox/template.js.map +0 -1
  226. package/dist/mcp/sandbox/worker-evaluator.d.ts +0 -160
  227. package/dist/mcp/sandbox/worker-evaluator.d.ts.map +0 -1
  228. package/dist/mcp/sandbox/worker-evaluator.js +0 -217
  229. package/dist/mcp/sandbox/worker-evaluator.js.map +0 -1
  230. package/dist/mcp/server.d.ts +0 -75
  231. package/dist/mcp/server.d.ts.map +0 -1
  232. package/dist/mcp/server.js +0 -278
  233. package/dist/mcp/server.js.map +0 -1
  234. package/dist/mcp/tool-call-auditor.d.ts +0 -188
  235. package/dist/mcp/tool-call-auditor.d.ts.map +0 -1
  236. package/dist/mcp/tool-call-auditor.js +0 -198
  237. package/dist/mcp/tool-call-auditor.js.map +0 -1
  238. package/dist/mcp/tools/do.d.ts +0 -51
  239. package/dist/mcp/tools/do.d.ts.map +0 -1
  240. package/dist/mcp/tools/do.js +0 -113
  241. package/dist/mcp/tools/do.js.map +0 -1
  242. package/dist/mcp/tools/fetch.d.ts +0 -43
  243. package/dist/mcp/tools/fetch.d.ts.map +0 -1
  244. package/dist/mcp/tools/fetch.js +0 -127
  245. package/dist/mcp/tools/fetch.js.map +0 -1
  246. package/dist/mcp/tools/index.d.ts +0 -9
  247. package/dist/mcp/tools/index.d.ts.map +0 -1
  248. package/dist/mcp/tools/index.js +0 -9
  249. package/dist/mcp/tools/index.js.map +0 -1
  250. package/dist/mcp/tools/search.d.ts +0 -60
  251. package/dist/mcp/tools/search.d.ts.map +0 -1
  252. package/dist/mcp/tools/search.js +0 -278
  253. package/dist/mcp/tools/search.js.map +0 -1
  254. package/dist/mcp/transport/http.d.ts +0 -144
  255. package/dist/mcp/transport/http.d.ts.map +0 -1
  256. package/dist/mcp/transport/http.js +0 -545
  257. package/dist/mcp/transport/http.js.map +0 -1
  258. package/dist/mcp/transport/index.d.ts +0 -10
  259. package/dist/mcp/transport/index.d.ts.map +0 -1
  260. package/dist/mcp/transport/index.js +0 -12
  261. package/dist/mcp/transport/index.js.map +0 -1
  262. package/dist/mcp/transport/stdio.d.ts +0 -132
  263. package/dist/mcp/transport/stdio.d.ts.map +0 -1
  264. package/dist/mcp/transport/stdio.js +0 -466
  265. package/dist/mcp/transport/stdio.js.map +0 -1
  266. package/dist/mcp/types.d.ts +0 -476
  267. package/dist/mcp/types.d.ts.map +0 -1
  268. package/dist/mcp/types.js +0 -178
  269. package/dist/mcp/types.js.map +0 -1
  270. package/dist/olap/cdc/cdc-buffer.d.ts +0 -92
  271. package/dist/olap/cdc/cdc-buffer.d.ts.map +0 -1
  272. package/dist/olap/cdc/cdc-buffer.js +0 -146
  273. package/dist/olap/cdc/cdc-buffer.js.map +0 -1
  274. package/dist/olap/cdc/cdc-emitter.d.ts +0 -118
  275. package/dist/olap/cdc/cdc-emitter.d.ts.map +0 -1
  276. package/dist/olap/cdc/cdc-emitter.js +0 -217
  277. package/dist/olap/cdc/cdc-emitter.js.map +0 -1
  278. package/dist/olap/cdc/cdc-schema.d.ts +0 -119
  279. package/dist/olap/cdc/cdc-schema.d.ts.map +0 -1
  280. package/dist/olap/cdc/cdc-schema.js +0 -253
  281. package/dist/olap/cdc/cdc-schema.js.map +0 -1
  282. package/dist/olap/cdc/index.d.ts +0 -10
  283. package/dist/olap/cdc/index.d.ts.map +0 -1
  284. package/dist/olap/cdc/index.js +0 -10
  285. package/dist/olap/cdc/index.js.map +0 -1
  286. package/dist/olap/clickhouse/iceberg.d.ts +0 -164
  287. package/dist/olap/clickhouse/iceberg.d.ts.map +0 -1
  288. package/dist/olap/clickhouse/iceberg.js +0 -138
  289. package/dist/olap/clickhouse/iceberg.js.map +0 -1
  290. package/dist/olap/clickhouse/index.d.ts +0 -14
  291. package/dist/olap/clickhouse/index.d.ts.map +0 -1
  292. package/dist/olap/clickhouse/index.js +0 -14
  293. package/dist/olap/clickhouse/index.js.map +0 -1
  294. package/dist/olap/clickhouse/mapper.d.ts +0 -170
  295. package/dist/olap/clickhouse/mapper.d.ts.map +0 -1
  296. package/dist/olap/clickhouse/mapper.js +0 -654
  297. package/dist/olap/clickhouse/mapper.js.map +0 -1
  298. package/dist/olap/clickhouse/olap-backend.d.ts +0 -181
  299. package/dist/olap/clickhouse/olap-backend.d.ts.map +0 -1
  300. package/dist/olap/clickhouse/olap-backend.js +0 -1083
  301. package/dist/olap/clickhouse/olap-backend.js.map +0 -1
  302. package/dist/olap/clickhouse/query-executor.d.ts +0 -163
  303. package/dist/olap/clickhouse/query-executor.d.ts.map +0 -1
  304. package/dist/olap/clickhouse/query-executor.js +0 -560
  305. package/dist/olap/clickhouse/query-executor.js.map +0 -1
  306. package/dist/olap/clickhouse/query.d.ts +0 -134
  307. package/dist/olap/clickhouse/query.d.ts.map +0 -1
  308. package/dist/olap/clickhouse/query.js +0 -512
  309. package/dist/olap/clickhouse/query.js.map +0 -1
  310. package/dist/olap/stage/index.d.ts +0 -6
  311. package/dist/olap/stage/index.d.ts.map +0 -1
  312. package/dist/olap/stage/index.js +0 -6
  313. package/dist/olap/stage/index.js.map +0 -1
  314. package/dist/olap/stage/parser.d.ts +0 -68
  315. package/dist/olap/stage/parser.d.ts.map +0 -1
  316. package/dist/olap/stage/parser.js +0 -293
  317. package/dist/olap/stage/parser.js.map +0 -1
  318. package/dist/olap/stage/router.d.ts +0 -94
  319. package/dist/olap/stage/router.d.ts.map +0 -1
  320. package/dist/olap/stage/router.js +0 -390
  321. package/dist/olap/stage/router.js.map +0 -1
  322. package/dist/rpc/endpoint.d.ts +0 -52
  323. package/dist/rpc/endpoint.d.ts.map +0 -1
  324. package/dist/rpc/endpoint.js +0 -734
  325. package/dist/rpc/endpoint.js.map +0 -1
  326. package/dist/rpc/index.d.ts +0 -34
  327. package/dist/rpc/index.d.ts.map +0 -1
  328. package/dist/rpc/index.js +0 -45
  329. package/dist/rpc/index.js.map +0 -1
  330. package/dist/rpc/rpc-client.d.ts +0 -275
  331. package/dist/rpc/rpc-client.d.ts.map +0 -1
  332. package/dist/rpc/rpc-client.js +0 -735
  333. package/dist/rpc/rpc-client.js.map +0 -1
  334. package/dist/rpc/rpc-target.d.ts +0 -220
  335. package/dist/rpc/rpc-target.d.ts.map +0 -1
  336. package/dist/rpc/rpc-target.js +0 -500
  337. package/dist/rpc/rpc-target.js.map +0 -1
  338. package/dist/rpc/worker-entrypoint.d.ts +0 -159
  339. package/dist/rpc/worker-entrypoint.d.ts.map +0 -1
  340. package/dist/rpc/worker-entrypoint.js +0 -212
  341. package/dist/rpc/worker-entrypoint.js.map +0 -1
  342. package/dist/server.d.ts +0 -18
  343. package/dist/server.d.ts.map +0 -1
  344. package/dist/server.js +0 -129
  345. package/dist/server.js.map +0 -1
  346. package/dist/studio/components/browser/CollectionItem.d.ts +0 -26
  347. package/dist/studio/components/browser/CollectionItem.d.ts.map +0 -1
  348. package/dist/studio/components/browser/CollectionItem.js +0 -143
  349. package/dist/studio/components/browser/CollectionItem.js.map +0 -1
  350. package/dist/studio/components/browser/CollectionTree.d.ts +0 -45
  351. package/dist/studio/components/browser/CollectionTree.d.ts.map +0 -1
  352. package/dist/studio/components/browser/CollectionTree.js +0 -207
  353. package/dist/studio/components/browser/CollectionTree.js.map +0 -1
  354. package/dist/studio/components/browser/ConnectedDatabaseBrowser.d.ts +0 -51
  355. package/dist/studio/components/browser/ConnectedDatabaseBrowser.d.ts.map +0 -1
  356. package/dist/studio/components/browser/ConnectedDatabaseBrowser.js +0 -185
  357. package/dist/studio/components/browser/ConnectedDatabaseBrowser.js.map +0 -1
  358. package/dist/studio/components/browser/DatabaseBrowser.d.ts +0 -46
  359. package/dist/studio/components/browser/DatabaseBrowser.d.ts.map +0 -1
  360. package/dist/studio/components/browser/DatabaseBrowser.js +0 -304
  361. package/dist/studio/components/browser/DatabaseBrowser.js.map +0 -1
  362. package/dist/studio/components/browser/__tests__/CollectionItem.test.d.ts +0 -5
  363. package/dist/studio/components/browser/__tests__/CollectionItem.test.d.ts.map +0 -1
  364. package/dist/studio/components/browser/__tests__/CollectionItem.test.js +0 -169
  365. package/dist/studio/components/browser/__tests__/CollectionItem.test.js.map +0 -1
  366. package/dist/studio/components/browser/__tests__/CollectionTree.test.d.ts +0 -5
  367. package/dist/studio/components/browser/__tests__/CollectionTree.test.d.ts.map +0 -1
  368. package/dist/studio/components/browser/__tests__/CollectionTree.test.js +0 -203
  369. package/dist/studio/components/browser/__tests__/CollectionTree.test.js.map +0 -1
  370. package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.d.ts +0 -8
  371. package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.d.ts.map +0 -1
  372. package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.js +0 -522
  373. package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.js.map +0 -1
  374. package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.d.ts +0 -5
  375. package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.d.ts.map +0 -1
  376. package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.js +0 -518
  377. package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.js.map +0 -1
  378. package/dist/studio/components/browser/__tests__/setup.d.ts +0 -5
  379. package/dist/studio/components/browser/__tests__/setup.d.ts.map +0 -1
  380. package/dist/studio/components/browser/__tests__/setup.js +0 -22
  381. package/dist/studio/components/browser/__tests__/setup.js.map +0 -1
  382. package/dist/studio/components/browser/index.d.ts +0 -15
  383. package/dist/studio/components/browser/index.d.ts.map +0 -1
  384. package/dist/studio/components/browser/index.js +0 -10
  385. package/dist/studio/components/browser/index.js.map +0 -1
  386. package/dist/studio/components/browser/types.d.ts +0 -33
  387. package/dist/studio/components/browser/types.d.ts.map +0 -1
  388. package/dist/studio/components/browser/types.js +0 -5
  389. package/dist/studio/components/browser/types.js.map +0 -1
  390. package/dist/studio/components/connection/ConnectionForm.d.ts +0 -59
  391. package/dist/studio/components/connection/ConnectionForm.d.ts.map +0 -1
  392. package/dist/studio/components/connection/ConnectionForm.js +0 -274
  393. package/dist/studio/components/connection/ConnectionForm.js.map +0 -1
  394. package/dist/studio/components/connection/ConnectionList.d.ts +0 -59
  395. package/dist/studio/components/connection/ConnectionList.d.ts.map +0 -1
  396. package/dist/studio/components/connection/ConnectionList.js +0 -286
  397. package/dist/studio/components/connection/ConnectionList.js.map +0 -1
  398. package/dist/studio/components/connection/ConnectionPanel.d.ts +0 -132
  399. package/dist/studio/components/connection/ConnectionPanel.d.ts.map +0 -1
  400. package/dist/studio/components/connection/ConnectionPanel.js +0 -293
  401. package/dist/studio/components/connection/ConnectionPanel.js.map +0 -1
  402. package/dist/studio/components/connection/__tests__/ConnectionPanel.test.d.ts +0 -8
  403. package/dist/studio/components/connection/__tests__/ConnectionPanel.test.d.ts.map +0 -1
  404. package/dist/studio/components/connection/__tests__/ConnectionPanel.test.js +0 -632
  405. package/dist/studio/components/connection/__tests__/ConnectionPanel.test.js.map +0 -1
  406. package/dist/studio/components/connection/__tests__/setup.d.ts +0 -5
  407. package/dist/studio/components/connection/__tests__/setup.d.ts.map +0 -1
  408. package/dist/studio/components/connection/__tests__/setup.js +0 -11
  409. package/dist/studio/components/connection/__tests__/setup.js.map +0 -1
  410. package/dist/studio/components/connection/index.d.ts +0 -10
  411. package/dist/studio/components/connection/index.d.ts.map +0 -1
  412. package/dist/studio/components/connection/index.js +0 -7
  413. package/dist/studio/components/connection/index.js.map +0 -1
  414. package/dist/studio/components/crud/DeleteDocumentDialog.d.ts +0 -91
  415. package/dist/studio/components/crud/DeleteDocumentDialog.d.ts.map +0 -1
  416. package/dist/studio/components/crud/DeleteDocumentDialog.js +0 -273
  417. package/dist/studio/components/crud/DeleteDocumentDialog.js.map +0 -1
  418. package/dist/studio/components/crud/DocumentEditor.d.ts +0 -32
  419. package/dist/studio/components/crud/DocumentEditor.d.ts.map +0 -1
  420. package/dist/studio/components/crud/DocumentEditor.js +0 -546
  421. package/dist/studio/components/crud/DocumentEditor.js.map +0 -1
  422. package/dist/studio/components/crud/InsertDocumentDialog.d.ts +0 -78
  423. package/dist/studio/components/crud/InsertDocumentDialog.d.ts.map +0 -1
  424. package/dist/studio/components/crud/InsertDocumentDialog.js +0 -323
  425. package/dist/studio/components/crud/InsertDocumentDialog.js.map +0 -1
  426. package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.d.ts +0 -5
  427. package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.d.ts.map +0 -1
  428. package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.js +0 -298
  429. package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.js.map +0 -1
  430. package/dist/studio/components/crud/__tests__/DocumentEditor.test.d.ts +0 -8
  431. package/dist/studio/components/crud/__tests__/DocumentEditor.test.d.ts.map +0 -1
  432. package/dist/studio/components/crud/__tests__/DocumentEditor.test.js +0 -368
  433. package/dist/studio/components/crud/__tests__/DocumentEditor.test.js.map +0 -1
  434. package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.d.ts +0 -2
  435. package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.d.ts.map +0 -1
  436. package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.js +0 -352
  437. package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.js.map +0 -1
  438. package/dist/studio/components/crud/__tests__/setup.d.ts +0 -5
  439. package/dist/studio/components/crud/__tests__/setup.d.ts.map +0 -1
  440. package/dist/studio/components/crud/__tests__/setup.js +0 -22
  441. package/dist/studio/components/crud/__tests__/setup.js.map +0 -1
  442. package/dist/studio/components/crud/index.d.ts +0 -12
  443. package/dist/studio/components/crud/index.d.ts.map +0 -1
  444. package/dist/studio/components/crud/index.js +0 -11
  445. package/dist/studio/components/crud/index.js.map +0 -1
  446. package/dist/studio/hooks/useConnection.d.ts +0 -127
  447. package/dist/studio/hooks/useConnection.d.ts.map +0 -1
  448. package/dist/studio/hooks/useConnection.js +0 -414
  449. package/dist/studio/hooks/useConnection.js.map +0 -1
  450. package/dist/studio/hooks/useDatabaseBrowser.d.ts +0 -107
  451. package/dist/studio/hooks/useDatabaseBrowser.d.ts.map +0 -1
  452. package/dist/studio/hooks/useDatabaseBrowser.js +0 -294
  453. package/dist/studio/hooks/useDatabaseBrowser.js.map +0 -1
  454. package/dist/studio/index.d.ts +0 -16
  455. package/dist/studio/index.d.ts.map +0 -1
  456. package/dist/studio/index.js +0 -14
  457. package/dist/studio/index.js.map +0 -1
  458. package/dist/studio/types/connection.d.ts +0 -266
  459. package/dist/studio/types/connection.d.ts.map +0 -1
  460. package/dist/studio/types/connection.js +0 -159
  461. package/dist/studio/types/connection.js.map +0 -1
  462. package/dist/studio/vitest.config.d.ts +0 -3
  463. package/dist/studio/vitest.config.d.ts.map +0 -1
  464. package/dist/studio/vitest.config.js +0 -33
  465. package/dist/studio/vitest.config.js.map +0 -1
  466. package/dist/translator/aggregation-translator.d.ts +0 -51
  467. package/dist/translator/aggregation-translator.d.ts.map +0 -1
  468. package/dist/translator/aggregation-translator.js +0 -324
  469. package/dist/translator/aggregation-translator.js.map +0 -1
  470. package/dist/translator/dialect.d.ts +0 -131
  471. package/dist/translator/dialect.d.ts.map +0 -1
  472. package/dist/translator/dialect.js +0 -276
  473. package/dist/translator/dialect.js.map +0 -1
  474. package/dist/translator/geo-translator.d.ts +0 -91
  475. package/dist/translator/geo-translator.d.ts.map +0 -1
  476. package/dist/translator/geo-translator.js +0 -587
  477. package/dist/translator/geo-translator.js.map +0 -1
  478. package/dist/translator/hybrid-translator.d.ts +0 -70
  479. package/dist/translator/hybrid-translator.d.ts.map +0 -1
  480. package/dist/translator/hybrid-translator.js +0 -193
  481. package/dist/translator/hybrid-translator.js.map +0 -1
  482. package/dist/translator/index.d.ts +0 -13
  483. package/dist/translator/index.d.ts.map +0 -1
  484. package/dist/translator/index.js +0 -11
  485. package/dist/translator/index.js.map +0 -1
  486. package/dist/translator/query-translator.d.ts +0 -211
  487. package/dist/translator/query-translator.d.ts.map +0 -1
  488. package/dist/translator/query-translator.js +0 -1276
  489. package/dist/translator/query-translator.js.map +0 -1
  490. package/dist/translator/search-highlight.d.ts +0 -83
  491. package/dist/translator/search-highlight.d.ts.map +0 -1
  492. package/dist/translator/search-highlight.js +0 -83
  493. package/dist/translator/search-highlight.js.map +0 -1
  494. package/dist/translator/search-translator.d.ts +0 -155
  495. package/dist/translator/search-translator.d.ts.map +0 -1
  496. package/dist/translator/search-translator.js +0 -241
  497. package/dist/translator/search-translator.js.map +0 -1
  498. package/dist/translator/stages/add-fields-stage.d.ts +0 -7
  499. package/dist/translator/stages/add-fields-stage.d.ts.map +0 -1
  500. package/dist/translator/stages/add-fields-stage.js +0 -72
  501. package/dist/translator/stages/add-fields-stage.js.map +0 -1
  502. package/dist/translator/stages/bucket-stage.d.ts +0 -7
  503. package/dist/translator/stages/bucket-stage.d.ts.map +0 -1
  504. package/dist/translator/stages/bucket-stage.js +0 -87
  505. package/dist/translator/stages/bucket-stage.js.map +0 -1
  506. package/dist/translator/stages/count-stage.d.ts +0 -7
  507. package/dist/translator/stages/count-stage.d.ts.map +0 -1
  508. package/dist/translator/stages/count-stage.js +0 -12
  509. package/dist/translator/stages/count-stage.js.map +0 -1
  510. package/dist/translator/stages/expression-translator.d.ts +0 -68
  511. package/dist/translator/stages/expression-translator.d.ts.map +0 -1
  512. package/dist/translator/stages/expression-translator.js +0 -467
  513. package/dist/translator/stages/expression-translator.js.map +0 -1
  514. package/dist/translator/stages/facet-stage.d.ts +0 -13
  515. package/dist/translator/stages/facet-stage.d.ts.map +0 -1
  516. package/dist/translator/stages/facet-stage.js +0 -26
  517. package/dist/translator/stages/facet-stage.js.map +0 -1
  518. package/dist/translator/stages/fusion-stages.d.ts +0 -118
  519. package/dist/translator/stages/fusion-stages.d.ts.map +0 -1
  520. package/dist/translator/stages/fusion-stages.js +0 -201
  521. package/dist/translator/stages/fusion-stages.js.map +0 -1
  522. package/dist/translator/stages/group-stage.d.ts +0 -8
  523. package/dist/translator/stages/group-stage.d.ts.map +0 -1
  524. package/dist/translator/stages/group-stage.js +0 -123
  525. package/dist/translator/stages/group-stage.js.map +0 -1
  526. package/dist/translator/stages/index.d.ts +0 -24
  527. package/dist/translator/stages/index.d.ts.map +0 -1
  528. package/dist/translator/stages/index.js +0 -24
  529. package/dist/translator/stages/index.js.map +0 -1
  530. package/dist/translator/stages/join-optimizer.d.ts +0 -37
  531. package/dist/translator/stages/join-optimizer.d.ts.map +0 -1
  532. package/dist/translator/stages/join-optimizer.js +0 -93
  533. package/dist/translator/stages/join-optimizer.js.map +0 -1
  534. package/dist/translator/stages/limit-stage.d.ts +0 -7
  535. package/dist/translator/stages/limit-stage.d.ts.map +0 -1
  536. package/dist/translator/stages/limit-stage.js +0 -11
  537. package/dist/translator/stages/limit-stage.js.map +0 -1
  538. package/dist/translator/stages/lookup-stage.d.ts +0 -7
  539. package/dist/translator/stages/lookup-stage.d.ts.map +0 -1
  540. package/dist/translator/stages/lookup-stage.js +0 -73
  541. package/dist/translator/stages/lookup-stage.js.map +0 -1
  542. package/dist/translator/stages/match-stage.d.ts +0 -7
  543. package/dist/translator/stages/match-stage.d.ts.map +0 -1
  544. package/dist/translator/stages/match-stage.js +0 -14
  545. package/dist/translator/stages/match-stage.js.map +0 -1
  546. package/dist/translator/stages/optimizer.d.ts +0 -15
  547. package/dist/translator/stages/optimizer.d.ts.map +0 -1
  548. package/dist/translator/stages/optimizer.js +0 -249
  549. package/dist/translator/stages/optimizer.js.map +0 -1
  550. package/dist/translator/stages/parallel-facet.d.ts +0 -47
  551. package/dist/translator/stages/parallel-facet.d.ts.map +0 -1
  552. package/dist/translator/stages/parallel-facet.js +0 -57
  553. package/dist/translator/stages/parallel-facet.js.map +0 -1
  554. package/dist/translator/stages/project-stage.d.ts +0 -8
  555. package/dist/translator/stages/project-stage.d.ts.map +0 -1
  556. package/dist/translator/stages/project-stage.js +0 -145
  557. package/dist/translator/stages/project-stage.js.map +0 -1
  558. package/dist/translator/stages/search-stage.d.ts +0 -60
  559. package/dist/translator/stages/search-stage.d.ts.map +0 -1
  560. package/dist/translator/stages/search-stage.js +0 -89
  561. package/dist/translator/stages/search-stage.js.map +0 -1
  562. package/dist/translator/stages/skip-stage.d.ts +0 -7
  563. package/dist/translator/stages/skip-stage.d.ts.map +0 -1
  564. package/dist/translator/stages/skip-stage.js +0 -11
  565. package/dist/translator/stages/skip-stage.js.map +0 -1
  566. package/dist/translator/stages/sort-stage.d.ts +0 -7
  567. package/dist/translator/stages/sort-stage.d.ts.map +0 -1
  568. package/dist/translator/stages/sort-stage.js +0 -21
  569. package/dist/translator/stages/sort-stage.js.map +0 -1
  570. package/dist/translator/stages/types.d.ts +0 -136
  571. package/dist/translator/stages/types.d.ts.map +0 -1
  572. package/dist/translator/stages/types.js +0 -5
  573. package/dist/translator/stages/types.js.map +0 -1
  574. package/dist/translator/stages/unwind-stage.d.ts +0 -7
  575. package/dist/translator/stages/unwind-stage.d.ts.map +0 -1
  576. package/dist/translator/stages/unwind-stage.js +0 -61
  577. package/dist/translator/stages/unwind-stage.js.map +0 -1
  578. package/dist/translator/stages/vector-search-stage.d.ts +0 -53
  579. package/dist/translator/stages/vector-search-stage.d.ts.map +0 -1
  580. package/dist/translator/stages/vector-search-stage.js +0 -62
  581. package/dist/translator/stages/vector-search-stage.js.map +0 -1
  582. package/dist/translator/update-translator.d.ts +0 -148
  583. package/dist/translator/update-translator.d.ts.map +0 -1
  584. package/dist/translator/update-translator.js +0 -819
  585. package/dist/translator/update-translator.js.map +0 -1
  586. package/dist/translator/vector-translator.d.ts +0 -89
  587. package/dist/translator/vector-translator.d.ts.map +0 -1
  588. package/dist/translator/vector-translator.js +0 -106
  589. package/dist/translator/vector-translator.js.map +0 -1
  590. package/dist/types/env.d.ts +0 -31
  591. package/dist/types/env.d.ts.map +0 -1
  592. package/dist/types/env.js +0 -5
  593. package/dist/types/env.js.map +0 -1
  594. package/dist/types/function.d.ts +0 -65
  595. package/dist/types/function.d.ts.map +0 -1
  596. package/dist/types/function.js +0 -5
  597. package/dist/types/function.js.map +0 -1
  598. package/dist/types/index.d.ts +0 -137
  599. package/dist/types/index.d.ts.map +0 -1
  600. package/dist/types/index.js +0 -13
  601. package/dist/types/index.js.map +0 -1
  602. package/dist/types/mongodb.d.ts +0 -258
  603. package/dist/types/mongodb.d.ts.map +0 -1
  604. package/dist/types/mongodb.js +0 -5
  605. package/dist/types/mongodb.js.map +0 -1
  606. package/dist/types/objectid.d.ts +0 -130
  607. package/dist/types/objectid.d.ts.map +0 -1
  608. package/dist/types/objectid.js +0 -314
  609. package/dist/types/objectid.js.map +0 -1
  610. package/dist/types/rpc.d.ts +0 -313
  611. package/dist/types/rpc.d.ts.map +0 -1
  612. package/dist/types/rpc.js +0 -136
  613. package/dist/types/rpc.js.map +0 -1
  614. package/dist/types/vectorize.d.ts +0 -136
  615. package/dist/types/vectorize.d.ts.map +0 -1
  616. package/dist/types/vectorize.js +0 -8
  617. package/dist/types/vectorize.js.map +0 -1
  618. package/dist/utils/sql-safety.d.ts +0 -64
  619. package/dist/utils/sql-safety.d.ts.map +0 -1
  620. package/dist/utils/sql-safety.js +0 -112
  621. package/dist/utils/sql-safety.js.map +0 -1
  622. package/dist/validation/document-validator.d.ts +0 -195
  623. package/dist/validation/document-validator.d.ts.map +0 -1
  624. package/dist/validation/document-validator.js +0 -529
  625. package/dist/validation/document-validator.js.map +0 -1
  626. package/dist/vectorize/document-serializer.d.ts +0 -119
  627. package/dist/vectorize/document-serializer.d.ts.map +0 -1
  628. package/dist/vectorize/document-serializer.js +0 -320
  629. package/dist/vectorize/document-serializer.js.map +0 -1
  630. package/dist/wire/auth/index.d.ts +0 -5
  631. package/dist/wire/auth/index.d.ts.map +0 -1
  632. package/dist/wire/auth/index.js +0 -5
  633. package/dist/wire/auth/index.js.map +0 -1
  634. package/dist/wire/auth/scram.d.ts +0 -160
  635. package/dist/wire/auth/scram.d.ts.map +0 -1
  636. package/dist/wire/auth/scram.js +0 -425
  637. package/dist/wire/auth/scram.js.map +0 -1
  638. package/dist/wire/backend/interface.d.ts +0 -168
  639. package/dist/wire/backend/interface.d.ts.map +0 -1
  640. package/dist/wire/backend/interface.js +0 -10
  641. package/dist/wire/backend/interface.js.map +0 -1
  642. package/dist/wire/backend/local-sqlite.d.ts +0 -89
  643. package/dist/wire/backend/local-sqlite.d.ts.map +0 -1
  644. package/dist/wire/backend/local-sqlite.js +0 -1002
  645. package/dist/wire/backend/local-sqlite.js.map +0 -1
  646. package/dist/wire/backend/query-router.d.ts +0 -197
  647. package/dist/wire/backend/query-router.d.ts.map +0 -1
  648. package/dist/wire/backend/query-router.js +0 -590
  649. package/dist/wire/backend/query-router.js.map +0 -1
  650. package/dist/wire/backend/validation.d.ts +0 -26
  651. package/dist/wire/backend/validation.d.ts.map +0 -1
  652. package/dist/wire/backend/validation.js +0 -79
  653. package/dist/wire/backend/validation.js.map +0 -1
  654. package/dist/wire/backend/workers-proxy.d.ts +0 -95
  655. package/dist/wire/backend/workers-proxy.d.ts.map +0 -1
  656. package/dist/wire/backend/workers-proxy.js +0 -429
  657. package/dist/wire/backend/workers-proxy.js.map +0 -1
  658. package/dist/wire/commands/admin.d.ts +0 -49
  659. package/dist/wire/commands/admin.d.ts.map +0 -1
  660. package/dist/wire/commands/admin.js +0 -272
  661. package/dist/wire/commands/admin.js.map +0 -1
  662. package/dist/wire/commands/aggregate.d.ts +0 -15
  663. package/dist/wire/commands/aggregate.d.ts.map +0 -1
  664. package/dist/wire/commands/aggregate.js +0 -98
  665. package/dist/wire/commands/aggregate.js.map +0 -1
  666. package/dist/wire/commands/auth.d.ts +0 -58
  667. package/dist/wire/commands/auth.d.ts.map +0 -1
  668. package/dist/wire/commands/auth.js +0 -158
  669. package/dist/wire/commands/auth.js.map +0 -1
  670. package/dist/wire/commands/crud.d.ts +0 -49
  671. package/dist/wire/commands/crud.d.ts.map +0 -1
  672. package/dist/wire/commands/crud.js +0 -336
  673. package/dist/wire/commands/crud.js.map +0 -1
  674. package/dist/wire/commands/hello.d.ts +0 -35
  675. package/dist/wire/commands/hello.d.ts.map +0 -1
  676. package/dist/wire/commands/hello.js +0 -204
  677. package/dist/wire/commands/hello.js.map +0 -1
  678. package/dist/wire/commands/index.d.ts +0 -24
  679. package/dist/wire/commands/index.d.ts.map +0 -1
  680. package/dist/wire/commands/index.js +0 -145
  681. package/dist/wire/commands/index.js.map +0 -1
  682. package/dist/wire/commands/router.d.ts +0 -46
  683. package/dist/wire/commands/router.d.ts.map +0 -1
  684. package/dist/wire/commands/router.js +0 -151
  685. package/dist/wire/commands/router.js.map +0 -1
  686. package/dist/wire/commands/types.d.ts +0 -51
  687. package/dist/wire/commands/types.d.ts.map +0 -1
  688. package/dist/wire/commands/types.js +0 -15
  689. package/dist/wire/commands/types.js.map +0 -1
  690. package/dist/wire/index.d.ts +0 -15
  691. package/dist/wire/index.d.ts.map +0 -1
  692. package/dist/wire/index.js +0 -19
  693. package/dist/wire/index.js.map +0 -1
  694. package/dist/wire/message.d.ts +0 -49
  695. package/dist/wire/message.d.ts.map +0 -1
  696. package/dist/wire/message.js +0 -299
  697. package/dist/wire/message.js.map +0 -1
  698. package/dist/wire/server.d.ts +0 -145
  699. package/dist/wire/server.d.ts.map +0 -1
  700. package/dist/wire/server.js +0 -284
  701. package/dist/wire/server.js.map +0 -1
  702. package/dist/wire/types.d.ts +0 -140
  703. package/dist/wire/types.d.ts.map +0 -1
  704. package/dist/wire/types.js +0 -64
  705. package/dist/wire/types.js.map +0 -1
  706. package/dist/worker.d.ts.map +0 -1
@@ -1,632 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * ConnectionPanel Component Unit Tests
4
- *
5
- * React Testing Library tests for the ConnectionPanel, ConnectionForm,
6
- * ConnectionList, and ConnectionStatusIndicator components.
7
- */
8
- import { describe, it, expect, vi, beforeEach } from 'vitest';
9
- import { render, screen, fireEvent, waitFor } from '@testing-library/react';
10
- import userEvent from '@testing-library/user-event';
11
- import { ConnectionPanel, ConnectionStatusIndicator, } from '../ConnectionPanel';
12
- import { ConnectionForm } from '../ConnectionForm';
13
- import { ConnectionList } from '../ConnectionList';
14
- // ============================================================================
15
- // Test Fixtures
16
- // ============================================================================
17
- const createMockConnection = (overrides = {}) => ({
18
- id: 'conn-1',
19
- name: 'Test Connection',
20
- uri: 'mondodb://localhost:27017',
21
- host: 'localhost',
22
- port: 27017,
23
- database: 'testdb',
24
- auth: { type: 'none' },
25
- tls: { enabled: false },
26
- isFavorite: false,
27
- createdAt: new Date('2024-01-01'),
28
- updatedAt: new Date('2024-01-01'),
29
- lastConnectedAt: new Date('2024-01-10'),
30
- ...overrides,
31
- });
32
- const createMockConnections = () => [
33
- createMockConnection({ id: 'conn-1', name: 'Alpha Connection', isFavorite: true }),
34
- createMockConnection({
35
- id: 'conn-2',
36
- name: 'Beta Connection',
37
- host: 'beta.host.com',
38
- lastConnectedAt: new Date('2024-01-05'),
39
- }),
40
- createMockConnection({
41
- id: 'conn-3',
42
- name: 'Gamma Connection',
43
- isFavorite: true,
44
- lastConnectedAt: undefined,
45
- }),
46
- ];
47
- const createDefaultPanelProps = () => ({
48
- status: 'disconnected',
49
- savedConnections: createMockConnections(),
50
- recentConnections: createMockConnections().slice(0, 2),
51
- onConnect: vi.fn(),
52
- onConnectTo: vi.fn(),
53
- onQuickConnect: vi.fn(),
54
- onDisconnect: vi.fn(),
55
- onSave: vi.fn(),
56
- onDelete: vi.fn(),
57
- onDuplicate: vi.fn(),
58
- onToggleFavorite: vi.fn(),
59
- onTest: vi.fn().mockResolvedValue({ success: true, latencyMs: 50 }),
60
- onRefresh: vi.fn(),
61
- });
62
- // ============================================================================
63
- // ConnectionStatusIndicator Tests
64
- // ============================================================================
65
- describe('ConnectionStatusIndicator', () => {
66
- describe('status display', () => {
67
- it('renders disconnected status correctly', () => {
68
- render(_jsx(ConnectionStatusIndicator, { status: "disconnected" }));
69
- expect(screen.getByTestId('connection-status')).toBeInTheDocument();
70
- expect(screen.getByText('Disconnected')).toBeInTheDocument();
71
- expect(screen.getByText('[ ]')).toBeInTheDocument();
72
- });
73
- it('renders connecting status correctly', () => {
74
- render(_jsx(ConnectionStatusIndicator, { status: "connecting" }));
75
- expect(screen.getByText('Connecting...')).toBeInTheDocument();
76
- expect(screen.getByText('[~]')).toBeInTheDocument();
77
- });
78
- it('renders connected status correctly', () => {
79
- render(_jsx(ConnectionStatusIndicator, { status: "connected" }));
80
- expect(screen.getByText('Connected')).toBeInTheDocument();
81
- expect(screen.getByText('[O]')).toBeInTheDocument();
82
- });
83
- it('renders error status correctly', () => {
84
- render(_jsx(ConnectionStatusIndicator, { status: "error" }));
85
- expect(screen.getByText('Error')).toBeInTheDocument();
86
- expect(screen.getByText('[X]')).toBeInTheDocument();
87
- });
88
- });
89
- describe('connection info', () => {
90
- it('displays connection name when connected', () => {
91
- render(_jsx(ConnectionStatusIndicator, { status: "connected", connectionName: "My Database" }));
92
- expect(screen.getByText(/My Database/)).toBeInTheDocument();
93
- });
94
- it('displays latency when connected', () => {
95
- render(_jsx(ConnectionStatusIndicator, { status: "connected", latencyMs: 42 }));
96
- expect(screen.getByText(/42ms/)).toBeInTheDocument();
97
- });
98
- it('displays server version when connected', () => {
99
- render(_jsx(ConnectionStatusIndicator, { status: "connected", serverVersion: "1.0.0" }));
100
- expect(screen.getByText(/1.0.0/)).toBeInTheDocument();
101
- });
102
- it('does not display meta info when not connected', () => {
103
- render(_jsx(ConnectionStatusIndicator, { status: "disconnected", latencyMs: 42, serverVersion: "1.0.0" }));
104
- expect(screen.queryByText(/42ms/)).not.toBeInTheDocument();
105
- expect(screen.queryByText(/1.0.0/)).not.toBeInTheDocument();
106
- });
107
- });
108
- describe('actions', () => {
109
- it('shows disconnect button when connected', () => {
110
- const onDisconnect = vi.fn();
111
- render(_jsx(ConnectionStatusIndicator, { status: "connected", onDisconnect: onDisconnect }));
112
- const disconnectButton = screen.getByTestId('disconnect-button');
113
- expect(disconnectButton).toBeInTheDocument();
114
- fireEvent.click(disconnectButton);
115
- expect(onDisconnect).toHaveBeenCalled();
116
- });
117
- it('shows refresh button when connected', () => {
118
- const onRefresh = vi.fn();
119
- render(_jsx(ConnectionStatusIndicator, { status: "connected", onRefresh: onRefresh }));
120
- const refreshButton = screen.getByTestId('refresh-button');
121
- expect(refreshButton).toBeInTheDocument();
122
- fireEvent.click(refreshButton);
123
- expect(onRefresh).toHaveBeenCalled();
124
- });
125
- it('hides action buttons when not connected', () => {
126
- render(_jsx(ConnectionStatusIndicator, { status: "disconnected", onDisconnect: vi.fn(), onRefresh: vi.fn() }));
127
- expect(screen.queryByTestId('disconnect-button')).not.toBeInTheDocument();
128
- expect(screen.queryByTestId('refresh-button')).not.toBeInTheDocument();
129
- });
130
- });
131
- });
132
- // ============================================================================
133
- // ConnectionForm Tests
134
- // ============================================================================
135
- describe('ConnectionForm', () => {
136
- const defaultFormProps = {
137
- onSubmit: vi.fn(),
138
- };
139
- beforeEach(() => {
140
- vi.clearAllMocks();
141
- });
142
- describe('rendering', () => {
143
- it('renders the form container', () => {
144
- render(_jsx(ConnectionForm, { ...defaultFormProps }));
145
- expect(screen.getByTestId('connection-form')).toBeInTheDocument();
146
- });
147
- it('renders connection name input', () => {
148
- render(_jsx(ConnectionForm, { ...defaultFormProps }));
149
- expect(screen.getByTestId('connection-name-input')).toBeInTheDocument();
150
- });
151
- it('renders URI input by default', () => {
152
- render(_jsx(ConnectionForm, { ...defaultFormProps }));
153
- expect(screen.getByTestId('connection-uri-input')).toBeInTheDocument();
154
- });
155
- it('renders tab buttons', () => {
156
- render(_jsx(ConnectionForm, { ...defaultFormProps }));
157
- expect(screen.getByTestId('uri-tab')).toBeInTheDocument();
158
- expect(screen.getByTestId('form-tab')).toBeInTheDocument();
159
- });
160
- it('renders connect button', () => {
161
- render(_jsx(ConnectionForm, { ...defaultFormProps }));
162
- expect(screen.getByTestId('connect-button')).toBeInTheDocument();
163
- });
164
- it('renders title as "New Connection" by default', () => {
165
- render(_jsx(ConnectionForm, { ...defaultFormProps }));
166
- expect(screen.getByText('New Connection')).toBeInTheDocument();
167
- });
168
- it('renders title as "Edit Connection" when editing', () => {
169
- render(_jsx(ConnectionForm, { ...defaultFormProps, isEditing: true }));
170
- expect(screen.getByText('Edit Connection')).toBeInTheDocument();
171
- });
172
- });
173
- describe('tab switching', () => {
174
- it('switches to advanced form tab', async () => {
175
- render(_jsx(ConnectionForm, { ...defaultFormProps }));
176
- const formTab = screen.getByTestId('form-tab');
177
- await userEvent.click(formTab);
178
- expect(screen.getByTestId('connection-host-input')).toBeInTheDocument();
179
- expect(screen.getByTestId('connection-port-input')).toBeInTheDocument();
180
- });
181
- it('shows authentication options in form tab', async () => {
182
- render(_jsx(ConnectionForm, { ...defaultFormProps }));
183
- await userEvent.click(screen.getByTestId('form-tab'));
184
- expect(screen.getByTestId('connection-auth-select')).toBeInTheDocument();
185
- });
186
- it('shows TLS options in form tab', async () => {
187
- render(_jsx(ConnectionForm, { ...defaultFormProps }));
188
- await userEvent.click(screen.getByTestId('form-tab'));
189
- expect(screen.getByTestId('connection-tls-checkbox')).toBeInTheDocument();
190
- });
191
- });
192
- describe('basic auth fields', () => {
193
- it('shows username/password fields when basic auth is selected', async () => {
194
- render(_jsx(ConnectionForm, { ...defaultFormProps }));
195
- await userEvent.click(screen.getByTestId('form-tab'));
196
- const authSelect = screen.getByTestId('connection-auth-select');
197
- await userEvent.selectOptions(authSelect, 'basic');
198
- expect(screen.getByTestId('connection-username-input')).toBeInTheDocument();
199
- expect(screen.getByTestId('connection-password-input')).toBeInTheDocument();
200
- expect(screen.getByTestId('connection-authsource-input')).toBeInTheDocument();
201
- });
202
- it('hides username/password fields for no auth', async () => {
203
- render(_jsx(ConnectionForm, { ...defaultFormProps }));
204
- await userEvent.click(screen.getByTestId('form-tab'));
205
- expect(screen.queryByTestId('connection-username-input')).not.toBeInTheDocument();
206
- expect(screen.queryByTestId('connection-password-input')).not.toBeInTheDocument();
207
- });
208
- });
209
- describe('form submission', () => {
210
- it('calls onSubmit when form is submitted', async () => {
211
- const onSubmit = vi.fn();
212
- render(_jsx(ConnectionForm, { ...defaultFormProps, onSubmit: onSubmit }));
213
- const connectButton = screen.getByTestId('connect-button');
214
- await userEvent.click(connectButton);
215
- expect(onSubmit).toHaveBeenCalled();
216
- });
217
- it('includes form values in onSubmit call', async () => {
218
- const onSubmit = vi.fn();
219
- render(_jsx(ConnectionForm, { ...defaultFormProps, onSubmit: onSubmit }));
220
- const nameInput = screen.getByTestId('connection-name-input');
221
- await userEvent.clear(nameInput);
222
- await userEvent.type(nameInput, 'Custom Name');
223
- const connectButton = screen.getByTestId('connect-button');
224
- await userEvent.click(connectButton);
225
- expect(onSubmit).toHaveBeenCalledWith(expect.objectContaining({ name: 'Custom Name' }));
226
- });
227
- });
228
- describe('test connection', () => {
229
- it('renders test button when onTest is provided', () => {
230
- const onTest = vi.fn().mockResolvedValue({ success: true });
231
- render(_jsx(ConnectionForm, { ...defaultFormProps, onTest: onTest }));
232
- expect(screen.getByTestId('test-button')).toBeInTheDocument();
233
- });
234
- it('does not render test button when onTest is not provided', () => {
235
- render(_jsx(ConnectionForm, { ...defaultFormProps }));
236
- expect(screen.queryByTestId('test-button')).not.toBeInTheDocument();
237
- });
238
- it('calls onTest when test button is clicked', async () => {
239
- const onTest = vi.fn().mockResolvedValue({ success: true });
240
- render(_jsx(ConnectionForm, { ...defaultFormProps, onTest: onTest }));
241
- await userEvent.click(screen.getByTestId('test-button'));
242
- expect(onTest).toHaveBeenCalled();
243
- });
244
- it('shows success result after successful test', async () => {
245
- const onTest = vi.fn().mockResolvedValue({ success: true, latencyMs: 50 });
246
- render(_jsx(ConnectionForm, { ...defaultFormProps, onTest: onTest }));
247
- await userEvent.click(screen.getByTestId('test-button'));
248
- await waitFor(() => {
249
- expect(screen.getByTestId('test-result')).toBeInTheDocument();
250
- expect(screen.getByText(/Connection successful/)).toBeInTheDocument();
251
- expect(screen.getByText(/50ms/)).toBeInTheDocument();
252
- });
253
- });
254
- it('shows error result after failed test', async () => {
255
- const onTest = vi.fn().mockResolvedValue({ success: false, error: 'Connection refused' });
256
- render(_jsx(ConnectionForm, { ...defaultFormProps, onTest: onTest }));
257
- await userEvent.click(screen.getByTestId('test-button'));
258
- await waitFor(() => {
259
- expect(screen.getByTestId('test-result')).toBeInTheDocument();
260
- expect(screen.getByText(/Connection refused/)).toBeInTheDocument();
261
- });
262
- });
263
- });
264
- describe('save and cancel', () => {
265
- it('renders save button when onSave is provided', () => {
266
- const onSave = vi.fn();
267
- render(_jsx(ConnectionForm, { ...defaultFormProps, onSave: onSave }));
268
- expect(screen.getByTestId('save-button')).toBeInTheDocument();
269
- });
270
- it('renders cancel button when onCancel is provided', () => {
271
- const onCancel = vi.fn();
272
- render(_jsx(ConnectionForm, { ...defaultFormProps, onCancel: onCancel }));
273
- expect(screen.getByTestId('cancel-button')).toBeInTheDocument();
274
- });
275
- it('calls onSave when save button is clicked', async () => {
276
- const onSave = vi.fn();
277
- render(_jsx(ConnectionForm, { ...defaultFormProps, onSave: onSave }));
278
- await userEvent.click(screen.getByTestId('save-button'));
279
- expect(onSave).toHaveBeenCalled();
280
- });
281
- it('calls onCancel when cancel button is clicked', async () => {
282
- const onCancel = vi.fn();
283
- render(_jsx(ConnectionForm, { ...defaultFormProps, onCancel: onCancel }));
284
- await userEvent.click(screen.getByTestId('cancel-button'));
285
- expect(onCancel).toHaveBeenCalled();
286
- });
287
- });
288
- describe('loading state', () => {
289
- it('shows loading text on connect button', () => {
290
- render(_jsx(ConnectionForm, { ...defaultFormProps, isLoading: true }));
291
- expect(screen.getByText('Connecting...')).toBeInTheDocument();
292
- });
293
- it('disables buttons when loading', () => {
294
- const onTest = vi.fn();
295
- const onSave = vi.fn();
296
- const onCancel = vi.fn();
297
- render(_jsx(ConnectionForm, { ...defaultFormProps, isLoading: true, onTest: onTest, onSave: onSave, onCancel: onCancel }));
298
- expect(screen.getByTestId('connect-button')).toBeDisabled();
299
- expect(screen.getByTestId('test-button')).toBeDisabled();
300
- expect(screen.getByTestId('save-button')).toBeDisabled();
301
- expect(screen.getByTestId('cancel-button')).toBeDisabled();
302
- });
303
- });
304
- describe('error display', () => {
305
- it('displays error message when error prop is set', () => {
306
- render(_jsx(ConnectionForm, { ...defaultFormProps, error: "Connection failed" }));
307
- expect(screen.getByTestId('connection-error')).toBeInTheDocument();
308
- expect(screen.getByText('Connection failed')).toBeInTheDocument();
309
- });
310
- });
311
- describe('initial values', () => {
312
- it('populates form with initial values', () => {
313
- render(_jsx(ConnectionForm, { ...defaultFormProps, initialValues: {
314
- name: 'Preset Connection',
315
- uri: 'mondodb://preset.host:27018/preset',
316
- } }));
317
- expect(screen.getByTestId('connection-name-input')).toHaveValue('Preset Connection');
318
- expect(screen.getByTestId('connection-uri-input')).toHaveValue('mondodb://preset.host:27018/preset');
319
- });
320
- });
321
- });
322
- // ============================================================================
323
- // ConnectionList Tests
324
- // ============================================================================
325
- describe('ConnectionList', () => {
326
- const defaultListProps = {
327
- connections: createMockConnections(),
328
- onConnect: vi.fn(),
329
- };
330
- beforeEach(() => {
331
- vi.clearAllMocks();
332
- });
333
- describe('rendering', () => {
334
- it('renders the list container', () => {
335
- render(_jsx(ConnectionList, { ...defaultListProps }));
336
- expect(screen.getByTestId('connection-list')).toBeInTheDocument();
337
- });
338
- it('renders all connections', () => {
339
- render(_jsx(ConnectionList, { ...defaultListProps }));
340
- expect(screen.getByTestId('connection-item-conn-1')).toBeInTheDocument();
341
- expect(screen.getByTestId('connection-item-conn-2')).toBeInTheDocument();
342
- expect(screen.getByTestId('connection-item-conn-3')).toBeInTheDocument();
343
- });
344
- it('displays connection names', () => {
345
- render(_jsx(ConnectionList, { ...defaultListProps }));
346
- expect(screen.getByText('Alpha Connection')).toBeInTheDocument();
347
- expect(screen.getByText('Beta Connection')).toBeInTheDocument();
348
- expect(screen.getByText('Gamma Connection')).toBeInTheDocument();
349
- });
350
- it('displays connection count', () => {
351
- render(_jsx(ConnectionList, { ...defaultListProps }));
352
- expect(screen.getByTestId('connection-count')).toHaveTextContent('3 of 3 connections');
353
- });
354
- });
355
- describe('search functionality', () => {
356
- it('filters connections by name', async () => {
357
- render(_jsx(ConnectionList, { ...defaultListProps }));
358
- const searchInput = screen.getByTestId('search-input');
359
- await userEvent.type(searchInput, 'Alpha');
360
- expect(screen.getByText('Alpha Connection')).toBeInTheDocument();
361
- expect(screen.queryByText('Beta Connection')).not.toBeInTheDocument();
362
- expect(screen.queryByText('Gamma Connection')).not.toBeInTheDocument();
363
- });
364
- it('filters connections by host', async () => {
365
- render(_jsx(ConnectionList, { ...defaultListProps }));
366
- const searchInput = screen.getByTestId('search-input');
367
- await userEvent.type(searchInput, 'beta.host');
368
- expect(screen.getByText('Beta Connection')).toBeInTheDocument();
369
- expect(screen.queryByText('Alpha Connection')).not.toBeInTheDocument();
370
- });
371
- it('updates connection count when filtered', async () => {
372
- render(_jsx(ConnectionList, { ...defaultListProps }));
373
- const searchInput = screen.getByTestId('search-input');
374
- await userEvent.type(searchInput, 'Alpha');
375
- expect(screen.getByTestId('connection-count')).toHaveTextContent('1 of 3 connections');
376
- });
377
- it('shows empty state when no matches', async () => {
378
- render(_jsx(ConnectionList, { ...defaultListProps }));
379
- const searchInput = screen.getByTestId('search-input');
380
- await userEvent.type(searchInput, 'nonexistent');
381
- expect(screen.getByText('No matching connections')).toBeInTheDocument();
382
- });
383
- });
384
- describe('sorting', () => {
385
- it('sorts by name when selected', async () => {
386
- render(_jsx(ConnectionList, { ...defaultListProps }));
387
- const sortSelect = screen.getByTestId('sort-select');
388
- await userEvent.selectOptions(sortSelect, 'name');
389
- const items = screen.getAllByTestId(/connection-item-/);
390
- expect(items[0]).toHaveAttribute('data-testid', 'connection-item-conn-1');
391
- });
392
- it('sorts by recent when selected', async () => {
393
- render(_jsx(ConnectionList, { ...defaultListProps }));
394
- const sortSelect = screen.getByTestId('sort-select');
395
- await userEvent.selectOptions(sortSelect, 'recent');
396
- // Alpha has most recent lastConnectedAt
397
- const items = screen.getAllByTestId(/connection-item-/);
398
- expect(items[0]).toHaveAttribute('data-testid', 'connection-item-conn-1');
399
- });
400
- });
401
- describe('favorites filter', () => {
402
- it('filters to show only favorites', async () => {
403
- render(_jsx(ConnectionList, { ...defaultListProps }));
404
- const favoritesToggle = screen.getByTestId('favorites-toggle');
405
- await userEvent.click(favoritesToggle);
406
- expect(screen.getByText('Alpha Connection')).toBeInTheDocument();
407
- expect(screen.getByText('Gamma Connection')).toBeInTheDocument();
408
- expect(screen.queryByText('Beta Connection')).not.toBeInTheDocument();
409
- });
410
- });
411
- describe('connection actions', () => {
412
- it('calls onConnect when connection is clicked', async () => {
413
- const onConnect = vi.fn();
414
- render(_jsx(ConnectionList, { ...defaultListProps, onConnect: onConnect }));
415
- const connectionItem = screen.getByTestId('connection-item-conn-1');
416
- await userEvent.click(connectionItem);
417
- expect(onConnect).toHaveBeenCalledWith('conn-1');
418
- });
419
- it('shows menu button when edit/duplicate/delete callbacks are provided', () => {
420
- render(_jsx(ConnectionList, { ...defaultListProps, onEdit: vi.fn(), onDuplicate: vi.fn(), onDelete: vi.fn() }));
421
- expect(screen.getByTestId('menu-conn-1')).toBeInTheDocument();
422
- });
423
- it('opens dropdown menu when menu button is clicked', async () => {
424
- render(_jsx(ConnectionList, { ...defaultListProps, onEdit: vi.fn(), onDuplicate: vi.fn(), onDelete: vi.fn() }));
425
- await userEvent.click(screen.getByTestId('menu-conn-1'));
426
- expect(screen.getByTestId('menu-dropdown-conn-1')).toBeInTheDocument();
427
- });
428
- it('calls onEdit when edit is clicked', async () => {
429
- const onEdit = vi.fn();
430
- render(_jsx(ConnectionList, { ...defaultListProps, onEdit: onEdit, onDuplicate: vi.fn(), onDelete: vi.fn() }));
431
- await userEvent.click(screen.getByTestId('menu-conn-1'));
432
- await userEvent.click(screen.getByTestId('edit-conn-1'));
433
- expect(onEdit).toHaveBeenCalledWith('conn-1');
434
- });
435
- it('calls onDelete when delete is clicked', async () => {
436
- const onDelete = vi.fn();
437
- render(_jsx(ConnectionList, { ...defaultListProps, onEdit: vi.fn(), onDuplicate: vi.fn(), onDelete: onDelete }));
438
- await userEvent.click(screen.getByTestId('menu-conn-1'));
439
- await userEvent.click(screen.getByTestId('delete-conn-1'));
440
- expect(onDelete).toHaveBeenCalledWith('conn-1');
441
- });
442
- it('calls onDuplicate when duplicate is clicked', async () => {
443
- const onDuplicate = vi.fn();
444
- render(_jsx(ConnectionList, { ...defaultListProps, onEdit: vi.fn(), onDuplicate: onDuplicate, onDelete: vi.fn() }));
445
- await userEvent.click(screen.getByTestId('menu-conn-1'));
446
- await userEvent.click(screen.getByTestId('duplicate-conn-1'));
447
- expect(onDuplicate).toHaveBeenCalledWith('conn-1');
448
- });
449
- it('calls onToggleFavorite when favorite is clicked', async () => {
450
- const onToggleFavorite = vi.fn();
451
- render(_jsx(ConnectionList, { ...defaultListProps, onToggleFavorite: onToggleFavorite }));
452
- await userEvent.click(screen.getByTestId('favorite-conn-1'));
453
- expect(onToggleFavorite).toHaveBeenCalledWith('conn-1');
454
- });
455
- });
456
- describe('new connection button', () => {
457
- it('renders new connection button when callback is provided', () => {
458
- render(_jsx(ConnectionList, { ...defaultListProps, onNewConnection: vi.fn() }));
459
- expect(screen.getByTestId('new-connection-button')).toBeInTheDocument();
460
- });
461
- it('calls onNewConnection when clicked', async () => {
462
- const onNewConnection = vi.fn();
463
- render(_jsx(ConnectionList, { ...defaultListProps, onNewConnection: onNewConnection }));
464
- await userEvent.click(screen.getByTestId('new-connection-button'));
465
- expect(onNewConnection).toHaveBeenCalled();
466
- });
467
- });
468
- describe('empty state', () => {
469
- it('shows empty state when no connections', () => {
470
- render(_jsx(ConnectionList, { connections: [], onConnect: vi.fn() }));
471
- expect(screen.getByText('No saved connections')).toBeInTheDocument();
472
- });
473
- });
474
- describe('active connection', () => {
475
- it('highlights active connection', () => {
476
- render(_jsx(ConnectionList, { ...defaultListProps, activeConnectionId: "conn-1", status: "connected" }));
477
- // The active connection should have specific styling - we check that it exists
478
- const activeItem = screen.getByTestId('connection-item-conn-1');
479
- expect(activeItem).toBeInTheDocument();
480
- });
481
- it('shows connecting status for connecting connection', () => {
482
- render(_jsx(ConnectionList, { ...defaultListProps, activeConnectionId: "conn-1", status: "connecting" }));
483
- expect(screen.getByText('Connecting')).toBeInTheDocument();
484
- });
485
- });
486
- });
487
- // ============================================================================
488
- // ConnectionPanel Tests
489
- // ============================================================================
490
- describe('ConnectionPanel', () => {
491
- let defaultProps;
492
- beforeEach(() => {
493
- vi.clearAllMocks();
494
- defaultProps = createDefaultPanelProps();
495
- });
496
- describe('rendering', () => {
497
- it('renders the panel container', () => {
498
- render(_jsx(ConnectionPanel, { ...defaultProps }));
499
- expect(screen.getByTestId('connection-panel')).toBeInTheDocument();
500
- });
501
- it('renders header with title', () => {
502
- render(_jsx(ConnectionPanel, { ...defaultProps }));
503
- expect(screen.getByText('mondodb Studio')).toBeInTheDocument();
504
- });
505
- it('renders status indicator', () => {
506
- render(_jsx(ConnectionPanel, { ...defaultProps }));
507
- expect(screen.getByTestId('connection-status')).toBeInTheDocument();
508
- });
509
- it('renders view tabs when disconnected', () => {
510
- render(_jsx(ConnectionPanel, { ...defaultProps }));
511
- expect(screen.getByTestId('tab-list')).toBeInTheDocument();
512
- expect(screen.getByTestId('tab-new')).toBeInTheDocument();
513
- expect(screen.getByTestId('tab-quick')).toBeInTheDocument();
514
- });
515
- });
516
- describe('view switching', () => {
517
- it('shows connection list by default', () => {
518
- render(_jsx(ConnectionPanel, { ...defaultProps }));
519
- expect(screen.getByTestId('connection-list')).toBeInTheDocument();
520
- });
521
- it('switches to new connection form', async () => {
522
- render(_jsx(ConnectionPanel, { ...defaultProps }));
523
- await userEvent.click(screen.getByTestId('tab-new'));
524
- expect(screen.getByTestId('connection-form')).toBeInTheDocument();
525
- });
526
- it('switches to quick connect view', async () => {
527
- render(_jsx(ConnectionPanel, { ...defaultProps }));
528
- await userEvent.click(screen.getByTestId('tab-quick'));
529
- expect(screen.getByTestId('quick-connect')).toBeInTheDocument();
530
- });
531
- });
532
- describe('connected state', () => {
533
- it('hides tabs when connected', () => {
534
- render(_jsx(ConnectionPanel, { ...defaultProps, status: "connected", activeConnection: createMockConnection() }));
535
- expect(screen.queryByTestId('tab-list')).not.toBeInTheDocument();
536
- expect(screen.queryByTestId('tab-new')).not.toBeInTheDocument();
537
- });
538
- it('shows connected info when connected', () => {
539
- const connection = createMockConnection();
540
- render(_jsx(ConnectionPanel, { ...defaultProps, status: "connected", activeConnection: connection }));
541
- expect(screen.getByTestId('connected-info')).toBeInTheDocument();
542
- });
543
- it('displays connection details when connected', () => {
544
- const connection = createMockConnection({
545
- host: 'myhost.com',
546
- port: 27018,
547
- database: 'mydb',
548
- });
549
- render(_jsx(ConnectionPanel, { ...defaultProps, status: "connected", activeConnection: connection }));
550
- expect(screen.getByText(/myhost.com:27018/)).toBeInTheDocument();
551
- });
552
- });
553
- describe('quick connect', () => {
554
- it('renders quick connect input', async () => {
555
- render(_jsx(ConnectionPanel, { ...defaultProps }));
556
- await userEvent.click(screen.getByTestId('tab-quick'));
557
- expect(screen.getByTestId('quick-connect-input')).toBeInTheDocument();
558
- });
559
- it('calls onQuickConnect when form is submitted', async () => {
560
- render(_jsx(ConnectionPanel, { ...defaultProps }));
561
- await userEvent.click(screen.getByTestId('tab-quick'));
562
- const input = screen.getByTestId('quick-connect-input');
563
- await userEvent.type(input, 'mondodb://localhost:27017');
564
- const connectButton = screen.getByTestId('quick-connect-button');
565
- await userEvent.click(connectButton);
566
- expect(defaultProps.onQuickConnect).toHaveBeenCalledWith('mondodb://localhost:27017');
567
- });
568
- it('shows recent connections in quick connect', async () => {
569
- render(_jsx(ConnectionPanel, { ...defaultProps }));
570
- await userEvent.click(screen.getByTestId('tab-quick'));
571
- expect(screen.getByTestId('recent-conn-1')).toBeInTheDocument();
572
- expect(screen.getByTestId('recent-conn-2')).toBeInTheDocument();
573
- });
574
- });
575
- describe('connection actions', () => {
576
- it('calls onConnectTo when connection is selected from list', async () => {
577
- render(_jsx(ConnectionPanel, { ...defaultProps }));
578
- await userEvent.click(screen.getByTestId('connection-item-conn-1'));
579
- expect(defaultProps.onConnectTo).toHaveBeenCalledWith('conn-1');
580
- });
581
- it('calls onDisconnect when disconnect button is clicked', async () => {
582
- render(_jsx(ConnectionPanel, { ...defaultProps, status: "connected", activeConnection: createMockConnection() }));
583
- await userEvent.click(screen.getByTestId('disconnect-button'));
584
- expect(defaultProps.onDisconnect).toHaveBeenCalled();
585
- });
586
- it('calls onRefresh when refresh button is clicked', async () => {
587
- render(_jsx(ConnectionPanel, { ...defaultProps, status: "connected", activeConnection: createMockConnection() }));
588
- await userEvent.click(screen.getByTestId('refresh-button'));
589
- expect(defaultProps.onRefresh).toHaveBeenCalled();
590
- });
591
- });
592
- describe('status indicator integration', () => {
593
- it('shows latency when provided', () => {
594
- render(_jsx(ConnectionPanel, { ...defaultProps, status: "connected", activeConnection: createMockConnection(), latencyMs: 42 }));
595
- expect(screen.getByText(/42ms/)).toBeInTheDocument();
596
- });
597
- it('shows server version when provided', () => {
598
- render(_jsx(ConnectionPanel, { ...defaultProps, status: "connected", activeConnection: createMockConnection(), serverVersion: "2.0.0" }));
599
- expect(screen.getByText(/2.0.0/)).toBeInTheDocument();
600
- });
601
- });
602
- describe('form operations', () => {
603
- it('calls onConnect when form is submitted', async () => {
604
- render(_jsx(ConnectionPanel, { ...defaultProps }));
605
- await userEvent.click(screen.getByTestId('tab-new'));
606
- await userEvent.click(screen.getByTestId('connect-button'));
607
- expect(defaultProps.onConnect).toHaveBeenCalled();
608
- });
609
- it('calls onSave when save is clicked in form', async () => {
610
- render(_jsx(ConnectionPanel, { ...defaultProps }));
611
- await userEvent.click(screen.getByTestId('tab-new'));
612
- await userEvent.click(screen.getByTestId('save-button'));
613
- expect(defaultProps.onSave).toHaveBeenCalled();
614
- });
615
- it('returns to list view after save', async () => {
616
- render(_jsx(ConnectionPanel, { ...defaultProps }));
617
- await userEvent.click(screen.getByTestId('tab-new'));
618
- await userEvent.click(screen.getByTestId('save-button'));
619
- // Should be back on list view
620
- expect(screen.getByTestId('connection-list')).toBeInTheDocument();
621
- });
622
- });
623
- describe('error handling', () => {
624
- it('displays error in form when provided', async () => {
625
- render(_jsx(ConnectionPanel, { ...defaultProps, error: "Connection failed" }));
626
- await userEvent.click(screen.getByTestId('tab-new'));
627
- expect(screen.getByTestId('connection-error')).toBeInTheDocument();
628
- expect(screen.getByText('Connection failed')).toBeInTheDocument();
629
- });
630
- });
631
- });
632
- //# sourceMappingURL=ConnectionPanel.test.js.map