@fougere/testing 0.22.0-alpha.0 → 0.24.0-alpha.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.
@@ -1,5 +1,5 @@
1
1
  import { migrating } from '@fougere/core';
2
- import { boot } from '@fougere/compiler';
2
+ import { boot } from '@fougere/defaults';
3
3
  import '@fougere/adapter-sql';
4
4
  import { remoteTransport, resolveStorage } from '@fougere/defaults';
5
5
  import { installStubs } from '../stub/Stub.js';
@@ -14,7 +14,7 @@ export async function testApp(options = {}) {
14
14
  // One entry per announcement, in order. `Emissions.announce` calls the carrier for
15
15
  // every fact, so this sees them all — including those nobody in this process listens to.
16
16
  const heard = [];
17
- const storage = resolveStorage({ main: { path: options.db ?? ':memory:' } });
17
+ const storage = resolveStorage({ main: { type: 'sqlite', path: options.db ?? ':memory:' } });
18
18
  const app = await boot({
19
19
  onEmit: (fact, payload) => { heard.push({ fact, payload }); },
20
20
  root: options.root ?? scope?.root,
@@ -1 +1 @@
1
- {"version":3,"file":"TestApp.js","sourceRoot":"","sources":["../../src/app/TestApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestApp.js","sourceRoot":"","sources":["../../src/app/TestApp.ts"],"names":[],"mappings":"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"}
package/dist/sample.js CHANGED
@@ -28,8 +28,8 @@ export function sampleInput(entity, given = {}, options = {}) {
28
28
  const fields = Visibility.of(entity.getFields()).input;
29
29
  const missing = referencesIn(fields).filter((name) => !(name in given));
30
30
  if (missing.length > 0) {
31
- throw new Error(`[sampleInput] ${missing.join(', ')} ${missing.length > 1 ? 'are references' : 'is a reference'} — `
32
- + 'a generated id points at no row. Pass the ids: '
31
+ throw new Error(`[sampleInput] ${missing.join(', ')} ${missing.length > 1 ? 'point' : 'points'} to other rows, which a generated id cannot do. `
32
+ + 'Pass the ids: '
33
33
  + `sampleInput(Entity, { ${missing.map((n) => `${n}: '…'`).join(', ')} }).`);
34
34
  }
35
35
  const seed = options.seed ?? seedOf(entity.name ?? 'anonymous');
@@ -1 +1 @@
1
- {"version":3,"file":"sample.js","sourceRoot":"","sources":["../src/sample.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sample.js","sourceRoot":"","sources":["../src/sample.ts"],"names":[],"mappings":"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"}
package/dist/spans.js CHANGED
@@ -49,8 +49,7 @@ async function observability() {
49
49
  return await import('@fougere/observability');
50
50
  }
51
51
  catch {
52
- throw new Error('[spansOf] reading what a call cost needs @fougere/observability — install it, '
53
- + 'or there is no span to read.');
52
+ throw new Error('[spansOf] needs @fougere/observability. Install it.');
54
53
  }
55
54
  }
56
55
  //# sourceMappingURL=spans.js.map
package/dist/spans.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"spans.js","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AAGA,4FAA4F;AAC5F,MAAM,SAAS,GAAG,IAAI,OAAO,EAAyB,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAQ,EAAE,GAA2B;IACjE,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvB,IAAI,CAAC;QACH,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAQ;IAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/B,8FAA8F;IAC9F,MAAM,MAAM,GAAG,OAAO,CACpB,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,MAAM,IAAI,IAAI,UAAU;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/D,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3B,oFAAoF;IACpF,wFAAwF;IACxF,wCAAwC;IACxC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,kGAAkG;AAClG,KAAK,UAAU,aAAa;IAC1B,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,gFAAgF;cAC9E,8BAA8B,CACjC,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"spans.js","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AAGA,4FAA4F;AAC5F,MAAM,SAAS,GAAG,IAAI,OAAO,EAAyB,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAQ,EAAE,GAA2B;IACjE,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvB,IAAI,CAAC;QACH,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAQ;IAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/B,8FAA8F;IAC9F,MAAM,MAAM,GAAG,OAAO,CACpB,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,MAAM,IAAI,IAAI,UAAU;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/D,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3B,oFAAoF;IACpF,wFAAwF;IACxF,wCAAwC;IACxC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,kGAAkG;AAClG,KAAK,UAAU,aAAa;IAC1B,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,qDAAqD,CACtD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -30,8 +30,7 @@ async function sql() {
30
30
  return await import('@fougere/adapter-sql');
31
31
  }
32
32
  catch {
33
- throw new Error('[statementsOf] counting statements needs @fougere/adapter-sql — install it, '
34
- + 'or the count is zero whatever the handler ran.');
33
+ throw new Error('[statementsOf] needs @fougere/adapter-sql. Install it.');
35
34
  }
36
35
  }
37
36
  //# sourceMappingURL=statements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAA2B;IAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;IAChC,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,CAAC;IACT,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kGAAkG;AAClG,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,8EAA8E;cAC5E,gDAAgD,CACnD,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAA2B;IAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;IAChC,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,CAAC;IACT,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kGAAkG;AAClG,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wDAAwD,CACzD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Stub.d.ts","sourceRoot":"","sources":["../../src/stub/Stub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,mFAAmF;AACnF,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAEnG,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAa9C;AAED,2BAA2B;AAC3B,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAK7C;AAED,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAmB9E"}
1
+ {"version":3,"file":"Stub.d.ts","sourceRoot":"","sources":["../../src/stub/Stub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,mFAAmF;AACnF,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAEnG,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAa9C;AAED,2BAA2B;AAC3B,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAK7C;AAED,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAkB9E"}
package/dist/stub/Stub.js CHANGED
@@ -30,8 +30,7 @@ export function installStubs(app, ports) {
30
30
  for (const port of ports) {
31
31
  const answering = scopes.filter((scope) => scope.has(port.name));
32
32
  if (answering.length === 0) {
33
- throw new Error(`[stub] ${port.name} — nothing answers under that name in any frond. `
34
- + 'A port is a class a provider extends; a class nobody extends is an ordinary service.');
33
+ throw new Error(`[stub] No class extends ${port.name}, so there is nothing to replace. Stub a class that another one extends.`);
35
34
  }
36
35
  const double = stubOf(port);
37
36
  for (const scope of answering)
@@ -1 +1 @@
1
- {"version":3,"file":"Stub.js","sourceRoot":"","sources":["../../src/stub/Stub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAa,MAAM,QAAQ,CAAC;AAQvC,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,IAAU;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,KAAK,GAAkB,IAAI,CAAC,SAAmB,CAAC;IACpD,OAAO,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,IAAI,IAAI,KAAK,aAAa;gBAAE,SAAS;YACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,OAAO,QAAQ,EAAE,KAAK,KAAK,UAAU;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAkB,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,MAAM,CAAI,IAAU;IAClC,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC;QAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE/D,OAAO,MAAiB,CAAC;AAC3B,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAAC,GAAQ,EAAE,KAAa;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAY,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,UAAU,IAAI,CAAC,IAAI,mDAAmD;kBACpE,sFAAsF,CACzF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,SAAS;YAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"Stub.js","sourceRoot":"","sources":["../../src/stub/Stub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAa,MAAM,QAAQ,CAAC;AAQvC,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,IAAU;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,KAAK,GAAkB,IAAI,CAAC,SAAmB,CAAC;IACpD,OAAO,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,IAAI,IAAI,KAAK,aAAa;gBAAE,SAAS;YACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,OAAO,QAAQ,EAAE,KAAK,KAAK,UAAU;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAkB,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,MAAM,CAAI,IAAU;IAClC,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC;QAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE/D,OAAO,MAAiB,CAAC;AAC3B,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAAC,GAAQ,EAAE,KAAa;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAY,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,CAAC,IAAI,0EAA0E,CAC/G,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,SAAS;YAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fougere/testing",
3
- "version": "0.22.0-alpha.0",
3
+ "version": "0.24.0-alpha.0",
4
4
  "description": "Tests derived from the declaration — cases, stubs and a gradient of realities.",
5
5
  "keywords": [
6
6
  "fougere",
@@ -37,23 +37,23 @@
37
37
  "src"
38
38
  ],
39
39
  "dependencies": {
40
- "@fougere/core": "0.22.0-alpha.0",
41
- "@fougere/container": "0.22.0-alpha.0",
42
- "@fougere/defaults": "0.22.0-alpha.0",
43
- "@fougere/schema": "0.22.0-alpha.0",
40
+ "@fougere/core": "0.24.0-alpha.0",
41
+ "@fougere/container": "0.24.0-alpha.0",
42
+ "@fougere/defaults": "0.24.0-alpha.0",
43
+ "@fougere/schema": "0.24.0-alpha.0",
44
44
  "json-schema-faker": "^0.6.3",
45
- "@fougere/app": "0.22.0-alpha.0",
46
- "@fougere/transport-http": "0.22.0-alpha.0",
47
- "@fougere/compiler": "0.22.0-alpha.0"
45
+ "@fougere/app": "0.24.0-alpha.0",
46
+ "@fougere/transport-http": "0.24.0-alpha.0",
47
+ "@fougere/compiler": "0.24.0-alpha.0"
48
48
  },
49
49
  "publishConfig": {
50
50
  "access": "public"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "vitest": ">=2",
54
- "@fougere/adapter-graphql": "^0.22.0-alpha.0",
55
- "@fougere/adapter-sql": "^0.22.0-alpha.0",
56
- "@fougere/observability": "^0.22.0-alpha.0"
54
+ "@fougere/adapter-graphql": "^0.24.0-alpha.0",
55
+ "@fougere/adapter-sql": "^0.24.0-alpha.0",
56
+ "@fougere/observability": "^0.24.0-alpha.0"
57
57
  },
58
58
  "peerDependenciesMeta": {
59
59
  "vitest": {
@@ -67,10 +67,10 @@
67
67
  }
68
68
  },
69
69
  "devDependencies": {
70
- "@fougere/adapter-graphql": "0.22.0-alpha.0",
71
- "@fougere/adapter-rest": "0.22.0-alpha.0",
72
- "@fougere/adapter-sql": "0.22.0-alpha.0",
73
- "@fougere/observability": "0.22.0-alpha.0",
70
+ "@fougere/adapter-graphql": "0.24.0-alpha.0",
71
+ "@fougere/adapter-rest": "0.24.0-alpha.0",
72
+ "@fougere/adapter-sql": "0.24.0-alpha.0",
73
+ "@fougere/observability": "0.24.0-alpha.0",
74
74
  "better-sqlite3": "^13.0.3",
75
75
  "vitest": "^4.1.0"
76
76
  },
@@ -1,5 +1,5 @@
1
1
  import { migrating, type App } from '@fougere/core';
2
- import { boot } from '@fougere/compiler';
2
+ import { boot } from '@fougere/defaults';
3
3
  import '@fougere/adapter-sql';
4
4
  import { remoteTransport, resolveStorage } from '@fougere/defaults';
5
5
  import { installStubs, type Stub } from '../stub/Stub.js';
@@ -26,7 +26,7 @@ export async function testApp(options: TestAppOptions = {}): Promise<TestApp> {
26
26
  // One entry per announcement, in order. `Emissions.announce` calls the carrier for
27
27
  // every fact, so this sees them all — including those nobody in this process listens to.
28
28
  const heard: { fact: string; payload: unknown }[] = [];
29
- const storage = resolveStorage({ main: { path: options.db ?? ':memory:' } });
29
+ const storage = resolveStorage({ main: { type: 'sqlite', path: options.db ?? ':memory:' } });
30
30
 
31
31
  const app = await boot({
32
32
  onEmit: (fact, payload) => { heard.push({ fact, payload }); },
package/src/sample.ts CHANGED
@@ -44,8 +44,8 @@ export function sampleInput(
44
44
  const missing = referencesIn(fields).filter((name) => !(name in given));
45
45
  if (missing.length > 0) {
46
46
  throw new Error(
47
- `[sampleInput] ${missing.join(', ')} ${missing.length > 1 ? 'are references' : 'is a reference'} — `
48
- + 'a generated id points at no row. Pass the ids: '
47
+ `[sampleInput] ${missing.join(', ')} ${missing.length > 1 ? 'point' : 'points'} to other rows, which a generated id cannot do. `
48
+ + 'Pass the ids: '
49
49
  + `sampleInput(Entity, { ${missing.map((n) => `${n}: '…'`).join(', ')} }).`,
50
50
  );
51
51
  }
package/src/spans.ts CHANGED
@@ -59,8 +59,7 @@ async function observability(): Promise<typeof import('@fougere/observability')>
59
59
  return await import('@fougere/observability');
60
60
  } catch {
61
61
  throw new Error(
62
- '[spansOf] reading what a call cost needs @fougere/observability — install it, '
63
- + 'or there is no span to read.',
62
+ '[spansOf] needs @fougere/observability. Install it.',
64
63
  );
65
64
  }
66
65
  }
package/src/statements.ts CHANGED
@@ -34,8 +34,7 @@ async function sql(): Promise<typeof import('@fougere/adapter-sql')> {
34
34
  return await import('@fougere/adapter-sql');
35
35
  } catch {
36
36
  throw new Error(
37
- '[statementsOf] counting statements needs @fougere/adapter-sql — install it, '
38
- + 'or the count is zero whatever the handler ran.',
37
+ '[statementsOf] needs @fougere/adapter-sql. Install it.',
39
38
  );
40
39
  }
41
40
  }
package/src/stub/Stub.ts CHANGED
@@ -40,8 +40,7 @@ export function installStubs(app: App, ports: Port[]): Map<Port, Stub<unknown>>
40
40
  const answering = scopes.filter((scope) => scope.has(port.name));
41
41
  if (answering.length === 0) {
42
42
  throw new Error(
43
- `[stub] ${port.name} — nothing answers under that name in any frond. `
44
- + 'A port is a class a provider extends; a class nobody extends is an ordinary service.',
43
+ `[stub] No class extends ${port.name}, so there is nothing to replace. Stub a class that another one extends.`,
45
44
  );
46
45
  }
47
46
  const double = stubOf(port);