bingo-stratum-testers 0.5.8 โ†’ 0.5.10

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
@@ -3,9 +3,9 @@
3
3
  <p align="center">Test utilities for Stratum Blocks and Presets. ๐Ÿง‘โ€๐Ÿ”ง</p>
4
4
 
5
5
  <p align="center">
6
- <a href="https://github.com/JoshuaKGoldberg/bingo/blob/main/.github/CODE_OF_CONDUCT.md" target="_blank"><img alt="๐Ÿค Code of Conduct: Kept" src="https://img.shields.io/badge/%F0%9F%A4%9D_code_of_conduct-kept-21bb42" /></a>
7
- <a href="https://codecov.io/gh/JoshuaKGoldberg/bingo" target="_blank"><img alt="๐Ÿงช Coverage" src="https://img.shields.io/codecov/c/github/JoshuaKGoldberg/bingo?label=%F0%9F%A7%AA%20coverage" /></a>
8
- <a href="https://github.com/JoshuaKGoldberg/bingo/blob/main/LICENSE.md" target="_blank"><img alt="๐Ÿ“ License: MIT" src="https://img.shields.io/badge/%F0%9F%93%9D_license-MIT-21bb42.svg"></a>
6
+ <a href="https://github.com/bingo-js/bingo/blob/main/.github/CODE_OF_CONDUCT.md" target="_blank"><img alt="๐Ÿค Code of Conduct: Kept" src="https://img.shields.io/badge/%F0%9F%A4%9D_code_of_conduct-kept-21bb42" /></a>
7
+ <a href="https://codecov.io/gh/bingo-js/bingo" target="_blank"><img alt="๐Ÿงช Coverage" src="https://img.shields.io/codecov/c/github/bingo-js/bingo?label=%F0%9F%A7%AA%20coverage" /></a>
8
+ <a href="https://github.com/bingo-js/bingo/blob/main/LICENSE.md" target="_blank"><img alt="๐Ÿ“ License: MIT" src="https://img.shields.io/badge/%F0%9F%93%9D_license-MIT-21bb42.svg"></a>
9
9
  <a href="http://npmjs.com/package/bingo-stratum-testers"><img alt="๐Ÿ“ฆ npm version" src="https://img.shields.io/npm/v/bingo-stratum-testers?color=21bb42&label=%F0%9F%93%A6%20npm" /></a>
10
10
  <img alt="๐Ÿ’ช TypeScript: Strict" src="https://img.shields.io/badge/%F0%9F%92%AA_typescript-strict-21bb42.svg" />
11
11
  </p>
package/lib/testBlock.js CHANGED
@@ -2,9 +2,10 @@ import { produceBlock, } from "bingo-stratum";
2
2
  import { createFailingObject } from "./utils.js";
3
3
  export function testBlock(block, settings = {}) {
4
4
  return produceBlock(block, {
5
- addons: {},
6
- options: createFailingObject("options", "the Block"),
7
5
  ...settings,
6
+ addons: settings.addons ?? {},
7
+ options: settings.options ??
8
+ createFailingObject("options", "the Block"),
8
9
  });
9
10
  }
10
11
  //# sourceMappingURL=testBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testBlock.js","sourceRoot":"","sources":["../src/testBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,YAAY,GAEZ,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAwCjD,MAAM,UAAU,SAAS,CACxB,KAAqE,EACrE,WAAoE,EAAE;IAEtE,OAAO,YAAY,CAClB,KAAyC,EACzC;QACC,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAY;QAC/D,GAAG,QAAQ;KACwC,CACpD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"testBlock.js","sourceRoot":"","sources":["../src/testBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,YAAY,GAEZ,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAwCjD,MAAM,UAAU,SAAS,CACxB,KAAqE,EACrE,WAAoE,EAAE;IAEtE,OAAO,YAAY,CAClB,KAAyC,EACzC;QACC,GAAG,QAAQ;QACX,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;QAC7B,OAAO,EACN,QAAQ,CAAC,OAAO;YACf,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAa;KACN,CACpD,CAAC;AACH,CAAC"}
@@ -1,14 +1,19 @@
1
1
  import { IntakeDirectory } from "bingo-fs";
2
2
  import { BlockWithAddons } from "bingo-stratum";
3
- export interface TestIntakeSettings {
3
+ import { StratumTemplateOptions } from "bingo-stratum/lib/types/templates.js";
4
+ export interface TestIntakeSettings<Options extends object> {
4
5
  /**
5
6
  * Existing file creations, if available.
6
7
  */
7
8
  files: IntakeDirectory;
9
+ /**
10
+ * Any options values as described by the Block's Base's options schema, as well as preset.
11
+ */
12
+ options?: Options & StratumTemplateOptions;
8
13
  }
9
14
  /**
10
15
  * Simulates running a Block's intake in-memory for tests.
11
16
  * @see {@link https://www.create.bingo/engines/stratum/packages/bingo-stratum-testers/#testintake}
12
17
  */
13
- export declare function testIntake<Addons extends object, Options extends object>(block: BlockWithAddons<Addons, Options>, settings: TestIntakeSettings): Partial<Addons> | undefined;
18
+ export declare function testIntake<Addons extends object, Options extends object>(block: BlockWithAddons<Addons, Options>, settings: TestIntakeSettings<Options>): Partial<Addons> | undefined;
14
19
  //# sourceMappingURL=testIntake.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testIntake.d.ts","sourceRoot":"","sources":["../src/testIntake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACvE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,QAAQ,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAE7B"}
1
+ {"version":3,"file":"testIntake.d.ts","sourceRoot":"","sources":["../src/testIntake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAI9E,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,MAAM;IACzD;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;CAC3C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACvE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,GACnC,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAO7B"}
package/lib/testIntake.js CHANGED
@@ -1,8 +1,13 @@
1
+ import { createFailingObject } from "./utils.js";
1
2
  /**
2
3
  * Simulates running a Block's intake in-memory for tests.
3
4
  * @see {@link https://www.create.bingo/engines/stratum/packages/bingo-stratum-testers/#testintake}
4
5
  */
5
6
  export function testIntake(block, settings) {
6
- return block.intake?.(settings);
7
+ return block.intake?.({
8
+ ...settings,
9
+ options: settings.options ??
10
+ createFailingObject("options", "the Block"),
11
+ });
7
12
  }
8
13
  //# sourceMappingURL=testIntake.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testIntake.js","sourceRoot":"","sources":["../src/testIntake.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,MAAM,UAAU,UAAU,CACzB,KAAuC,EACvC,QAA4B;IAE5B,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"testIntake.js","sourceRoot":"","sources":["../src/testIntake.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAcjD;;;GAGG;AACH,MAAM,UAAU,UAAU,CACzB,KAAuC,EACvC,QAAqC;IAErC,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,GAAG,QAAQ;QACX,OAAO,EACN,QAAQ,CAAC,OAAO;YACf,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAa;KACzD,CAAC,CAAC;AACJ,CAAC"}
@@ -42,5 +42,34 @@ describe("testIntake", () => {
42
42
  });
43
43
  expect(actual).toEqual({ value });
44
44
  });
45
+ describe("options", () => {
46
+ const blockUsingOptions = base.createBlock({
47
+ addons: {
48
+ extra: z.string().optional(),
49
+ },
50
+ intake({ options }) {
51
+ return {
52
+ extra: options.value + "!",
53
+ };
54
+ },
55
+ produce() {
56
+ return {};
57
+ },
58
+ });
59
+ it("throws an error when options isn't provided and a block uses options", () => {
60
+ expect(() => testIntake(blockUsingOptions, {
61
+ files: {},
62
+ })).toThrowErrorMatchingInlineSnapshot(`[Error: Context property 'options' was used by the Block but not provided.]`);
63
+ });
64
+ it("passes options to the block when provided", () => {
65
+ const actual = testIntake(blockUsingOptions, {
66
+ files: {},
67
+ options: { preset: "test", value: "abc" },
68
+ });
69
+ expect(actual).toEqual({
70
+ extra: "abc!",
71
+ });
72
+ });
73
+ });
45
74
  });
46
75
  //# sourceMappingURL=testIntake.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testIntake.test.js","sourceRoot":"","sources":["../src/testIntake.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,IAAI,GAAG,UAAU,CAAC;IACvB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB;CACD,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,MAAM,EAAE;gBACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC5B;YACD,OAAO;gBACN,OAAO,EAAE,CAAC;YACX,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,MAAM,EAAE;gBACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC5B;YACD,MAAM,CAAC,EAAE,KAAK,EAAE;gBACf,OAAO;oBACN,KAAK,EAAG,KAAK,CAAC,WAAW,CAAqB,CAAC,CAAC,CAAC;iBACjD,CAAC;YACH,CAAC;YACD,OAAO;gBACN,OAAO,EAAE,CAAC;YACX,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,KAAK,CAAC;QAEpB,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE;YAChC,KAAK,EAAE;gBACN,WAAW,EAAE,CAAC,KAAK,CAAC;aACpB;SACD,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"testIntake.test.js","sourceRoot":"","sources":["../src/testIntake.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "bingo-stratum-testers",
3
- "version": "0.5.8",
3
+ "version": "0.5.10",
4
4
  "description": "Test utilities for Stratum Blocks and Presets. ๐Ÿง‘โ€๐Ÿ”ง",
5
5
  "homepage": "https://www.create.bingo/engines/stratum/packages/bingo-stratum-testers",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/JoshuaKGoldberg/bingo",
8
+ "url": "https://github.com/bingo-js/bingo",
9
9
  "directory": "packages/bingo-stratum-testers"
10
10
  },
11
11
  "license": "MIT",
@@ -16,20 +16,20 @@
16
16
  "type": "module",
17
17
  "main": "./lib/index.js",
18
18
  "files": [
19
- "lib/",
20
- "package.json",
21
- "LICENSE.md",
22
- "README.md"
19
+ "lib/"
23
20
  ],
24
21
  "devDependencies": {
25
- "zod": "3.24.2"
22
+ "zod": "3.24.2",
23
+ "bingo": "^0.8.1",
24
+ "bingo-stratum": "^0.5.12",
25
+ "bingo-systems": "^0.5.5",
26
+ "bingo-fs": "^0.5.6"
26
27
  },
27
28
  "peerDependencies": {
28
- "bingo-fs": "^0.5.4",
29
- "bingo-stratum": "^0.5.8",
30
- "bingo": "^0.5.11",
31
- "bingo-systems": "^0.5.4",
32
- "bingo-testers": "^0.5.7"
29
+ "bingo": "^0.8.1",
30
+ "bingo-fs": "^0.5.6",
31
+ "bingo-stratum": "^0.5.12",
32
+ "bingo-systems": "^0.5.5"
33
33
  },
34
34
  "engines": {
35
35
  "node": ">=18"