@geekmidas/testkit 0.0.12 → 0.0.14

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 (99) hide show
  1. package/README.md +1 -1
  2. package/dist/{Factory-Bm44VKa-.d.cts → Factory-D7P3bKKb.d.mts} +2 -2
  3. package/dist/{Factory-tjCDNgUK.d.mts → Factory-pNV7ZQ7-.d.cts} +2 -2
  4. package/dist/Factory.d.cts +2 -2
  5. package/dist/Factory.d.mts +2 -2
  6. package/dist/{KyselyFactory-BoPDDitt.d.cts → KyselyFactory-72P98y5I.d.mts} +3 -3
  7. package/dist/{KyselyFactory-C3Bc3p4L.mjs → KyselyFactory-BcYkC0t2.mjs} +1 -1
  8. package/dist/{KyselyFactory-CXtfmMfK.cjs → KyselyFactory-Cf0o2YxO.cjs} +1 -1
  9. package/dist/{KyselyFactory-D82j74t9.d.mts → KyselyFactory-DLBrYWxU.d.cts} +3 -3
  10. package/dist/KyselyFactory.cjs +1 -1
  11. package/dist/KyselyFactory.d.cts +3 -3
  12. package/dist/KyselyFactory.d.mts +3 -3
  13. package/dist/KyselyFactory.mjs +1 -1
  14. package/dist/{ObjectionFactory-qIICOph3.mjs → ObjectionFactory-8hebmnai.mjs} +20 -4
  15. package/dist/{ObjectionFactory-BWMTXsxH.d.cts → ObjectionFactory-B40NQWSe.d.mts} +2 -2
  16. package/dist/{ObjectionFactory-DxIxJagq.cjs → ObjectionFactory-CDriunkS.cjs} +20 -4
  17. package/dist/{ObjectionFactory-CEG5qUrm.d.mts → ObjectionFactory-D3l1VuyX.d.cts} +2 -2
  18. package/dist/ObjectionFactory.cjs +1 -1
  19. package/dist/ObjectionFactory.d.cts +3 -3
  20. package/dist/ObjectionFactory.d.mts +3 -3
  21. package/dist/ObjectionFactory.mjs +1 -1
  22. package/dist/{VitestKyselyTransactionIsolator-ClCazkBO.d.mts → VitestKyselyTransactionIsolator-CnxpE9cH.d.mts} +2 -1
  23. package/dist/{VitestKyselyTransactionIsolator-UE1J-UoP.d.cts → VitestKyselyTransactionIsolator-DYUYVEh9.d.cts} +2 -1
  24. package/dist/{VitestKyselyTransactionIsolator-BKGT9nEG.mjs → VitestKyselyTransactionIsolator-Dq4Oeh-Y.mjs} +4 -1
  25. package/dist/{VitestKyselyTransactionIsolator-CIlpIO78.cjs → VitestKyselyTransactionIsolator-Dqy3qNoJ.cjs} +4 -1
  26. package/dist/VitestKyselyTransactionIsolator.cjs +2 -2
  27. package/dist/VitestKyselyTransactionIsolator.d.cts +2 -2
  28. package/dist/VitestKyselyTransactionIsolator.d.mts +2 -2
  29. package/dist/VitestKyselyTransactionIsolator.mjs +2 -2
  30. package/dist/{VitestObjectionTransactionIsolator-CO2nTi9r.d.cts → VitestObjectionTransactionIsolator-CJ4ds5Qv.d.cts} +3 -2
  31. package/dist/{VitestObjectionTransactionIsolator-D264iuPy.d.mts → VitestObjectionTransactionIsolator-DIM79dCq.d.mts} +3 -2
  32. package/dist/{VitestObjectionTransactionIsolator-BPoLUFop.mjs → VitestObjectionTransactionIsolator-DVtJG2F3.mjs} +6 -3
  33. package/dist/{VitestObjectionTransactionIsolator-DyqLp_in.cjs → VitestObjectionTransactionIsolator-LP4B0cqW.cjs} +6 -3
  34. package/dist/VitestObjectionTransactionIsolator.cjs +2 -2
  35. package/dist/VitestObjectionTransactionIsolator.d.cts +2 -2
  36. package/dist/VitestObjectionTransactionIsolator.d.mts +2 -2
  37. package/dist/VitestObjectionTransactionIsolator.mjs +2 -2
  38. package/dist/{VitestTransactionIsolator-CruLTRRi.cjs → VitestTransactionIsolator-BQ5FpLtC.cjs} +5 -2
  39. package/dist/{VitestTransactionIsolator-BWwK-ca6.mjs → VitestTransactionIsolator-CskiiJbW.mjs} +5 -2
  40. package/dist/{VitestTransactionIsolator-DHf2MxmC.d.cts → VitestTransactionIsolator-DdLNODZg.d.cts} +8 -5
  41. package/dist/{VitestTransactionIsolator-Xqyjlmw6.d.mts → VitestTransactionIsolator-zdyiS_SY.d.mts} +8 -5
  42. package/dist/VitestTransactionIsolator.cjs +1 -1
  43. package/dist/VitestTransactionIsolator.d.cts +2 -2
  44. package/dist/VitestTransactionIsolator.d.mts +2 -2
  45. package/dist/VitestTransactionIsolator.mjs +1 -1
  46. package/dist/__tests__/KyselyFactory.spec.cjs +6 -6
  47. package/dist/__tests__/KyselyFactory.spec.mjs +6 -6
  48. package/dist/__tests__/ObjectionFactory.spec.cjs +288 -450
  49. package/dist/__tests__/ObjectionFactory.spec.mjs +289 -451
  50. package/dist/__tests__/PostgresKyselyMigrator.spec.cjs +397 -0
  51. package/dist/__tests__/PostgresKyselyMigrator.spec.d.cts +1 -0
  52. package/dist/__tests__/PostgresKyselyMigrator.spec.d.mts +1 -0
  53. package/dist/__tests__/PostgresKyselyMigrator.spec.mjs +396 -0
  54. package/dist/__tests__/PostgresMigrator.spec.cjs +1 -1
  55. package/dist/__tests__/PostgresMigrator.spec.mjs +1 -1
  56. package/dist/__tests__/PostgresObjectionMigrator.spec.cjs +1 -1
  57. package/dist/__tests__/PostgresObjectionMigrator.spec.mjs +1 -1
  58. package/dist/__tests__/VitestObjectionTransactionIsolator.spec.cjs +7 -16
  59. package/dist/__tests__/VitestObjectionTransactionIsolator.spec.mjs +7 -16
  60. package/dist/__tests__/integration.spec.cjs +6 -6
  61. package/dist/__tests__/integration.spec.mjs +6 -6
  62. package/dist/{faker-km9UhOS6.d.cts → faker-BSH1EMtg.d.cts} +2 -2
  63. package/dist/{faker-ChuHaYMR.d.mts → faker-C-Iuk_R1.d.mts} +2 -2
  64. package/dist/faker.d.cts +1 -1
  65. package/dist/faker.d.mts +1 -1
  66. package/dist/{helpers-BEmjyUVE.mjs → helpers-B4TXg3Wp.mjs} +11 -36
  67. package/dist/{helpers-CNMBePuj.cjs → helpers-Bf0nXhbu.cjs} +10 -41
  68. package/dist/{kysely-Cx_1pZYc.mjs → kysely-BsDbvw3r.mjs} +4 -4
  69. package/dist/{kysely-CBfCXxUn.cjs → kysely-CP1iJMvq.cjs} +4 -4
  70. package/dist/kysely.cjs +4 -4
  71. package/dist/kysely.d.cts +6 -6
  72. package/dist/kysely.d.mts +6 -6
  73. package/dist/kysely.mjs +4 -4
  74. package/dist/{objection-lsMgM5gP.mjs → objection-BEPk9h-g.mjs} +5 -5
  75. package/dist/{objection-CCD8fMLj.cjs → objection-Di7JSist.cjs} +5 -5
  76. package/dist/objection.cjs +4 -4
  77. package/dist/objection.d.cts +7 -7
  78. package/dist/objection.d.mts +7 -7
  79. package/dist/objection.mjs +4 -4
  80. package/package.json +3 -3
  81. package/src/Factory.ts +4 -1
  82. package/src/KyselyFactory.ts +6 -2
  83. package/src/ObjectionFactory.ts +34 -4
  84. package/src/VitestKyselyTransactionIsolator.ts +3 -0
  85. package/src/VitestObjectionTransactionIsolator.ts +5 -2
  86. package/src/VitestTransactionIsolator.ts +11 -8
  87. package/src/__tests__/KyselyFactory.spec.ts +1 -1
  88. package/src/__tests__/ObjectionFactory.spec.ts +423 -542
  89. package/src/__tests__/PostgresKyselyMigrator.spec.ts +690 -0
  90. package/src/__tests__/VitestObjectionTransactionIsolator.spec.ts +1 -10
  91. package/src/__tests__/integration.spec.ts +1 -1
  92. package/src/kysely.ts +6 -3
  93. package/src/objection.ts +7 -4
  94. package/test/helpers.ts +13 -21
  95. package/dist/example.cjs +0 -22
  96. package/dist/example.d.cts +0 -26
  97. package/dist/example.d.mts +0 -26
  98. package/dist/example.mjs +0 -22
  99. package/src/example.ts +0 -45
@@ -48,7 +48,7 @@ declare enum IsolationLevel {
48
48
  * Provides automatic transaction rollback after each test to maintain test isolation.
49
49
  * Subclasses must implement the transact() method for their specific database driver.
50
50
  *
51
- * @template Connection - The database connection type
51
+ * @template TConn - The database connection type
52
52
  * @template Transaction - The transaction type
53
53
  *
54
54
  * @example
@@ -70,7 +70,7 @@ declare enum IsolationLevel {
70
70
  * });
71
71
  * ```
72
72
  */
73
- declare abstract class VitestPostgresTransactionIsolator<Connection, Transaction> {
73
+ declare abstract class VitestPostgresTransactionIsolator<TConn, Transaction> {
74
74
  private readonly api;
75
75
  /**
76
76
  * Abstract method to create a transaction with the specified isolation level.
@@ -81,7 +81,8 @@ declare abstract class VitestPostgresTransactionIsolator<Connection, Transaction
81
81
  * @param fn - The function to execute within the transaction
82
82
  * @returns Promise that resolves when the transaction completes
83
83
  */
84
- abstract transact(conn: Connection, isolationLevel: IsolationLevel, fn: (trx: Transaction) => Promise<void>): Promise<void>;
84
+ abstract transact(conn: TConn, isolationLevel: IsolationLevel, fn: (trx: Transaction) => Promise<void>): Promise<void>;
85
+ abstract destroy(conn: TConn): Promise<void>;
85
86
  /**
86
87
  * Creates a new VitestPostgresTransactionIsolator instance.
87
88
  *
@@ -110,9 +111,11 @@ declare abstract class VitestPostgresTransactionIsolator<Connection, Transaction
110
111
  * });
111
112
  * ```
112
113
  */
113
- wrapVitestWithTransaction(conn: Connection, setup?: (trx: Transaction) => Promise<void>, level?: IsolationLevel): TestAPI<{
114
+ wrapVitestWithTransaction(createConnection: DatabaseConnection<TConn>, setup?: (trx: Transaction) => Promise<void>, level?: IsolationLevel): TestAPI<{
114
115
  trx: Transaction;
115
116
  }>;
116
117
  }
118
+ type DatabaseConnectionFn<Conn> = () => Conn | Promise<Conn>;
119
+ type DatabaseConnection<Conn> = DatabaseConnectionFn<Conn>;
117
120
  //#endregion
118
- export { DatabaseFixtures, IsolationLevel, VitestPostgresTransactionIsolator };
121
+ export { DatabaseConnection, DatabaseConnectionFn, DatabaseFixtures, IsolationLevel, VitestPostgresTransactionIsolator };
@@ -48,7 +48,7 @@ declare enum IsolationLevel {
48
48
  * Provides automatic transaction rollback after each test to maintain test isolation.
49
49
  * Subclasses must implement the transact() method for their specific database driver.
50
50
  *
51
- * @template Connection - The database connection type
51
+ * @template TConn - The database connection type
52
52
  * @template Transaction - The transaction type
53
53
  *
54
54
  * @example
@@ -70,7 +70,7 @@ declare enum IsolationLevel {
70
70
  * });
71
71
  * ```
72
72
  */
73
- declare abstract class VitestPostgresTransactionIsolator<Connection, Transaction> {
73
+ declare abstract class VitestPostgresTransactionIsolator<TConn, Transaction> {
74
74
  private readonly api;
75
75
  /**
76
76
  * Abstract method to create a transaction with the specified isolation level.
@@ -81,7 +81,8 @@ declare abstract class VitestPostgresTransactionIsolator<Connection, Transaction
81
81
  * @param fn - The function to execute within the transaction
82
82
  * @returns Promise that resolves when the transaction completes
83
83
  */
84
- abstract transact(conn: Connection, isolationLevel: IsolationLevel, fn: (trx: Transaction) => Promise<void>): Promise<void>;
84
+ abstract transact(conn: TConn, isolationLevel: IsolationLevel, fn: (trx: Transaction) => Promise<void>): Promise<void>;
85
+ abstract destroy(conn: TConn): Promise<void>;
85
86
  /**
86
87
  * Creates a new VitestPostgresTransactionIsolator instance.
87
88
  *
@@ -110,9 +111,11 @@ declare abstract class VitestPostgresTransactionIsolator<Connection, Transaction
110
111
  * });
111
112
  * ```
112
113
  */
113
- wrapVitestWithTransaction(conn: Connection, setup?: (trx: Transaction) => Promise<void>, level?: IsolationLevel): TestAPI<{
114
+ wrapVitestWithTransaction(createConnection: DatabaseConnection<TConn>, setup?: (trx: Transaction) => Promise<void>, level?: IsolationLevel): TestAPI<{
114
115
  trx: Transaction;
115
116
  }>;
116
117
  }
118
+ type DatabaseConnectionFn<Conn> = () => Conn | Promise<Conn>;
119
+ type DatabaseConnection<Conn> = DatabaseConnectionFn<Conn>;
117
120
  //#endregion
118
- export { DatabaseFixtures, IsolationLevel, VitestPostgresTransactionIsolator };
121
+ export { DatabaseConnection, DatabaseConnectionFn, DatabaseFixtures, IsolationLevel, VitestPostgresTransactionIsolator };
@@ -1,4 +1,4 @@
1
- const require_VitestTransactionIsolator = require('./VitestTransactionIsolator-CruLTRRi.cjs');
1
+ const require_VitestTransactionIsolator = require('./VitestTransactionIsolator-BQ5FpLtC.cjs');
2
2
 
3
3
  exports.IsolationLevel = require_VitestTransactionIsolator.IsolationLevel;
4
4
  exports.VitestPostgresTransactionIsolator = require_VitestTransactionIsolator.VitestPostgresTransactionIsolator;
@@ -1,2 +1,2 @@
1
- import { DatabaseFixtures, IsolationLevel, VitestPostgresTransactionIsolator } from "./VitestTransactionIsolator-DHf2MxmC.cjs";
2
- export { DatabaseFixtures, IsolationLevel, VitestPostgresTransactionIsolator };
1
+ import { DatabaseConnection, DatabaseConnectionFn, DatabaseFixtures, IsolationLevel, VitestPostgresTransactionIsolator } from "./VitestTransactionIsolator-DdLNODZg.cjs";
2
+ export { DatabaseConnection, DatabaseConnectionFn, DatabaseFixtures, IsolationLevel, VitestPostgresTransactionIsolator };
@@ -1,2 +1,2 @@
1
- import { DatabaseFixtures, IsolationLevel, VitestPostgresTransactionIsolator } from "./VitestTransactionIsolator-Xqyjlmw6.mjs";
2
- export { DatabaseFixtures, IsolationLevel, VitestPostgresTransactionIsolator };
1
+ import { DatabaseConnection, DatabaseConnectionFn, DatabaseFixtures, IsolationLevel, VitestPostgresTransactionIsolator } from "./VitestTransactionIsolator-zdyiS_SY.mjs";
2
+ export { DatabaseConnection, DatabaseConnectionFn, DatabaseFixtures, IsolationLevel, VitestPostgresTransactionIsolator };
@@ -1,3 +1,3 @@
1
- import { IsolationLevel, VitestPostgresTransactionIsolator } from "./VitestTransactionIsolator-BWwK-ca6.mjs";
1
+ import { IsolationLevel, VitestPostgresTransactionIsolator } from "./VitestTransactionIsolator-CskiiJbW.mjs";
2
2
 
3
3
  export { IsolationLevel, VitestPostgresTransactionIsolator };
@@ -1,19 +1,19 @@
1
1
  const require_chunk = require('../chunk-CUT6urMc.cjs');
2
2
  require('../Factory-WMhTNZ9S.cjs');
3
3
  require('../faker-B14IEMIN.cjs');
4
- const require_KyselyFactory = require('../KyselyFactory-CXtfmMfK.cjs');
4
+ const require_KyselyFactory = require('../KyselyFactory-Cf0o2YxO.cjs');
5
5
  require('../PostgresMigrator-DFcNdCvD.cjs');
6
6
  require('../PostgresKyselyMigrator-CfytARcA.cjs');
7
- require('../VitestTransactionIsolator-CruLTRRi.cjs');
8
- require('../VitestKyselyTransactionIsolator-CIlpIO78.cjs');
7
+ require('../VitestTransactionIsolator-BQ5FpLtC.cjs');
8
+ require('../VitestKyselyTransactionIsolator-Dqy3qNoJ.cjs');
9
9
  const require_helpers = require('../helpers-nEUtQ7eo.cjs');
10
- const require_kysely = require('../kysely-CBfCXxUn.cjs');
11
- const require_helpers$1 = require('../helpers-CNMBePuj.cjs');
10
+ const require_kysely = require('../kysely-CP1iJMvq.cjs');
11
+ const require_helpers$1 = require('../helpers-Bf0nXhbu.cjs');
12
12
  const pg = require_chunk.__toESM(require("pg"));
13
13
  const vitest = require_chunk.__toESM(require("vitest"));
14
14
 
15
15
  //#region src/__tests__/KyselyFactory.spec.ts
16
- const db = require_helpers.createKyselyDb(require_helpers$1.TEST_DATABASE_CONFIG);
16
+ const db = () => require_helpers.createKyselyDb(require_helpers$1.TEST_DATABASE_CONFIG);
17
17
  const itWithTransaction = require_kysely.wrapVitestKyselyTransaction(vitest.it, db, require_helpers$1.createTestTables);
18
18
  const int8TypeId = 20;
19
19
  pg.default.types.setTypeParser(int8TypeId, (val) => {
@@ -1,18 +1,18 @@
1
1
  import "../Factory-z2m01hMj.mjs";
2
2
  import "../faker-BGKYFoCT.mjs";
3
- import { KyselyFactory } from "../KyselyFactory-C3Bc3p4L.mjs";
3
+ import { KyselyFactory } from "../KyselyFactory-BcYkC0t2.mjs";
4
4
  import "../PostgresMigrator-DxPC_gGu.mjs";
5
5
  import "../PostgresKyselyMigrator-Bdhl251C.mjs";
6
- import "../VitestTransactionIsolator-BWwK-ca6.mjs";
7
- import "../VitestKyselyTransactionIsolator-BKGT9nEG.mjs";
6
+ import "../VitestTransactionIsolator-CskiiJbW.mjs";
7
+ import "../VitestKyselyTransactionIsolator-Dq4Oeh-Y.mjs";
8
8
  import { createKyselyDb } from "../helpers-BuPmgzyQ.mjs";
9
- import { wrapVitestKyselyTransaction } from "../kysely-Cx_1pZYc.mjs";
10
- import { TEST_DATABASE_CONFIG, createTestTables } from "../helpers-BEmjyUVE.mjs";
9
+ import { wrapVitestKyselyTransaction } from "../kysely-BsDbvw3r.mjs";
10
+ import { TEST_DATABASE_CONFIG, createTestTables } from "../helpers-B4TXg3Wp.mjs";
11
11
  import pg from "pg";
12
12
  import { describe, expect, it } from "vitest";
13
13
 
14
14
  //#region src/__tests__/KyselyFactory.spec.ts
15
- const db = createKyselyDb(TEST_DATABASE_CONFIG);
15
+ const db = () => createKyselyDb(TEST_DATABASE_CONFIG);
16
16
  const itWithTransaction = wrapVitestKyselyTransaction(it, db, createTestTables);
17
17
  const int8TypeId = 20;
18
18
  pg.types.setTypeParser(int8TypeId, (val) => {