@saasicat/persistence-testing 1.0.0-rc.2 → 1.0.0-rc.4

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.
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # @saasicat/persistence-testing
2
2
 
3
+ ## What this is
4
+
3
5
  The executable persistence contract for SaaSiCat adapters. One `node:test`
4
6
  suite that every adapter (Prisma and Drizzle ship today, TypeORM plugs into
5
7
  the same harness) must pass **against a real database** — this is what makes
@@ -26,6 +28,17 @@ gated-off group reports as **skipped with reason** — coverage gaps stay
26
28
  visible, never silent. Roadmap scenarios (subscription contracts, reference
27
29
  migrations N→N+1) are registered as visible skips until the slices ship.
28
30
 
31
+ ## What this is not
32
+
33
+ Not a test framework and not a set of fixtures for your application. It is one
34
+ executable contract: the suite an adapter must pass before it can claim to
35
+ implement the ports.
36
+
37
+ Not runnable without a database. The semantics it checks — row locks, rollback,
38
+ atomic promo redemption, tenant isolation — are exactly the ones an in-memory
39
+ double cannot have, so it needs a real PostgreSQL and says so when it does not
40
+ find one.
41
+
29
42
  ## Usage
30
43
 
31
44
  ```js
@@ -64,3 +77,8 @@ fixture writes are schema-specific. See
64
77
  In-memory fakes must not be used to "verify" an adapter — they cannot
65
78
  emulate lock semantics (declare `pessimisticLocking: false` and the lock
66
79
  scenarios gate off, visibly).
80
+
81
+ ## Next
82
+
83
+ - [Ports and adapters](../../docs/explanation/adr/0007-ports-and-adapters.md) — what a port promises
84
+ - [Test coverage](../../docs/explanation/test-coverage.md) — what this contract reaches, and what it does not
package/dist/.build-stamp CHANGED
@@ -1 +1 @@
1
- 43f727faea9d157b3ac6d065838ecaa4035ae6ae630dbcc6a579fa6f2a3d5b74
1
+ 54504dfad58694d04f572b1988c322264de68a2dc5aac252a38189073cc44d82
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saasicat/persistence-testing",
3
- "version": "1.0.0-rc.2",
3
+ "version": "1.0.0-rc.4",
4
4
  "description": "Contract test kit for SaaSiCat persistence adapters: one node:test suite that every adapter (Prisma, Drizzle, ...) must pass against a real database — locks, transaction rollback, atomic promo claims, tenant isolation, audit/MFA roundtrips.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -23,7 +23,7 @@
23
23
  "dist"
24
24
  ],
25
25
  "dependencies": {
26
- "@saasicat/core": "^1.0.0-rc.2"
26
+ "@saasicat/core": "^1.0.0-rc.4"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^25.6.0",