@stardeck-customer-apps/testing 0.29.0 → 0.30.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.
package/SKILL.md CHANGED
@@ -670,7 +670,8 @@ cursor, limit })`; `list()` intentionally keeps its previous array shape.
670
670
  simulated, signature-checked like the others, and served from `app.controls`. Defaults are
671
671
  permissive so existing tests keep passing: `flag.paymentsSetupStep: false`,
672
672
  `plan.locations: { included: 3, max: null, extraMonthly: { amount: 990, currency: "THB" } }`,
673
- `plan.multiEntity: true`, `payments.provider: "beam"`, `payments.methods: { card: true, promptPay: true }`.
673
+ `plan.multiEntity: true`, `pos.pro: { locations: null }` (unlimited), `payments.provider: "beam"`,
674
+ `payments.methods: { card: true, promptPay: true }`.
674
675
  Seed with `createTestApp({ controls: { "plan.multiEntity": false } })`. Then
675
676
  `app.controls.set(key, value)` (the next `getControl` in the same process sees it: the
676
677
  controls cache is dropped on every change and on `reset()`),
@@ -683,6 +684,11 @@ cursor, limit })`; `list()` intentionally keeps its previous array shape.
683
684
  simulator answers 401 `UNAUTHENTICATED`. Only `payments.provider` and `payments.methods` are
684
685
  writable (anything else is 400 `NOT_WRITABLE`), and an invalid value is 400 `INVALID_VALUE`.
685
686
  `app.controls.clear()` returns to the seeded values. Test the `ok: false` path of every gate.
687
+ For a POS Pro hardware gate, cover all three answers: under the count
688
+ (`app.controls.set("pos.pro", { locations: 1 })` with no POS Pro location yet), at the count
689
+ (`{ locations: 0 }`, or as many as the test already set up: adding hardware is refused) and
690
+ unknown (`app.controls.setUnavailable("pos.pro")`: adding hardware is refused as unavailable).
691
+ In every case a sale still goes through and existing printers and terminals keep working.
686
692
 
687
693
  ### Receipt layout and printer capabilities
688
694
 
package/dist/index.js CHANGED
@@ -4617,6 +4617,7 @@ var DEFAULTS = {
4617
4617
  "flag.paymentsSetupStep": false,
4618
4618
  "plan.locations": { included: 3, max: null, extraMonthly: { amount: 990, currency: "THB" } },
4619
4619
  "plan.multiEntity": true,
4620
+ "pos.pro": { locations: null },
4620
4621
  "payments.provider": "beam",
4621
4622
  "payments.methods": { card: true, promptPay: true }
4622
4623
  };
package/dist/index.mjs CHANGED
@@ -4578,6 +4578,7 @@ var DEFAULTS = {
4578
4578
  "flag.paymentsSetupStep": false,
4579
4579
  "plan.locations": { included: 3, max: null, extraMonthly: { amount: 990, currency: "THB" } },
4580
4580
  "plan.multiEntity": true,
4581
+ "pos.pro": { locations: null },
4581
4582
  "payments.provider": "beam",
4582
4583
  "payments.methods": { card: true, promptPay: true }
4583
4584
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stardeck-customer-apps/testing",
3
- "version": "0.29.0",
3
+ "version": "0.30.0",
4
4
  "description": "Vitest test harness for Stardeck customer apps — in-process Postgres (PGlite) plus a control-plane simulator so the real Stardeck SDKs run unmodified in tests",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",