bingo-stratum-testers 0.5.9 โ 0.5.12
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 +3 -3
- package/package.json +12 -12
- package/lib/testBase.d.ts +0 -9
- package/lib/testBase.d.ts.map +0 -1
- package/lib/testBase.js +0 -14
- package/lib/testBase.js.map +0 -1
- package/lib/testBase.test.d.ts +0 -2
- package/lib/testBase.test.d.ts.map +0 -1
- package/lib/testBase.test.js +0 -91
- package/lib/testBase.test.js.map +0 -1
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/
|
|
7
|
-
<a href="https://codecov.io/gh/
|
|
8
|
-
<a href="https://github.com/
|
|
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/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bingo-stratum-testers",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.12",
|
|
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/
|
|
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": "
|
|
22
|
+
"zod": "4.4.3",
|
|
23
|
+
"bingo": "^0.11.0",
|
|
24
|
+
"bingo-systems": "^0.6.0",
|
|
25
|
+
"bingo-stratum": "^0.6.0",
|
|
26
|
+
"bingo-fs": "^0.5.6"
|
|
26
27
|
},
|
|
27
28
|
"peerDependencies": {
|
|
28
|
-
"bingo
|
|
29
|
-
"bingo-
|
|
30
|
-
"bingo": "^0.
|
|
31
|
-
"bingo-
|
|
32
|
-
"bingo-testers": "^0.5.7"
|
|
29
|
+
"bingo": "^0.11.0",
|
|
30
|
+
"bingo-fs": "^0.5.6",
|
|
31
|
+
"bingo-systems": "^0.6.0",
|
|
32
|
+
"bingo-stratum": "^0.6.0"
|
|
33
33
|
},
|
|
34
34
|
"engines": {
|
|
35
35
|
"node": ">=18"
|
package/lib/testBase.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { AnyShape, ContextLog, InferredObject, TakeInput } from "bingo";
|
|
2
|
-
import { Base } from "bingo-stratum";
|
|
3
|
-
export interface BaseContextSettings<OptionsShape extends AnyShape> {
|
|
4
|
-
log?: ContextLog;
|
|
5
|
-
options?: InferredObject<OptionsShape>;
|
|
6
|
-
take?: TakeInput;
|
|
7
|
-
}
|
|
8
|
-
export declare function testBase<OptionsShape extends AnyShape>(base: Base<OptionsShape>, settings?: Partial<BaseContextSettings<OptionsShape>>): Promise<InferredObject<OptionsShape> | import("bingo").AwaitedLazyProperties<import("bingo").LazyOptionalOptions<Partial<InferredObject<OptionsShape>>>> | undefined>;
|
|
9
|
-
//# sourceMappingURL=testBase.d.ts.map
|
package/lib/testBase.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testBase.d.ts","sourceRoot":"","sources":["../src/testBase.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EAER,UAAU,EACV,cAAc,EACd,SAAS,EACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAIrC,MAAM,WAAW,mBAAmB,CAAC,YAAY,SAAS,QAAQ;IACjE,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,SAAS,CAAC;CACjB;AAED,wBAAsB,QAAQ,CAAC,YAAY,SAAS,QAAQ,EAC3D,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,EACxB,QAAQ,GAAE,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAM,yKAiBzD"}
|
package/lib/testBase.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { awaitLazyProperties, } from "bingo";
|
|
2
|
-
import { createFailingFunction, createFailingObject } from "./utils.js";
|
|
3
|
-
export async function testBase(base, settings = {}) {
|
|
4
|
-
if (!base.prepare) {
|
|
5
|
-
return settings.options;
|
|
6
|
-
}
|
|
7
|
-
return await awaitLazyProperties(base.prepare({
|
|
8
|
-
log: createFailingFunction("log", "the Base"),
|
|
9
|
-
options: createFailingObject("options", "the Base"),
|
|
10
|
-
take: createFailingFunction("take", "the Base"),
|
|
11
|
-
...settings,
|
|
12
|
-
}));
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=testBase.js.map
|
package/lib/testBase.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testBase.js","sourceRoot":"","sources":["../src/testBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,mBAAmB,GAInB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAQxE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC7B,IAAwB,EACxB,WAAuD,EAAE;IAEzD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,mBAAmB,CAC/B,IAAI,CAAC,OAAO,CAAC;QACZ,GAAG,EAAE,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC;QAC7C,OAAO,EAAE,mBAAmB,CAC3B,SAAS,EACT,UAAU,CACsB;QACjC,IAAI,EAAE,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC;QAC/C,GAAG,QAAQ;KACX,CAAC,CACF,CAAC;AACH,CAAC"}
|
package/lib/testBase.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testBase.test.d.ts","sourceRoot":"","sources":["../src/testBase.test.ts"],"names":[],"mappings":""}
|
package/lib/testBase.test.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { createInput } from "bingo";
|
|
2
|
-
import { createBase } from "bingo-stratum";
|
|
3
|
-
import { describe, expect, it, vi } from "vitest";
|
|
4
|
-
import { z } from "zod";
|
|
5
|
-
import { testBase } from "./testBase.js";
|
|
6
|
-
const baseWithNoProduce = createBase({
|
|
7
|
-
options: {
|
|
8
|
-
value: z.string(),
|
|
9
|
-
},
|
|
10
|
-
});
|
|
11
|
-
const baseWithValueHardcoded = createBase({
|
|
12
|
-
options: {
|
|
13
|
-
value: z.string(),
|
|
14
|
-
},
|
|
15
|
-
prepare() {
|
|
16
|
-
return {
|
|
17
|
-
value: "hardcoded",
|
|
18
|
-
};
|
|
19
|
-
},
|
|
20
|
-
});
|
|
21
|
-
describe("testBase", () => {
|
|
22
|
-
it("doesn't throw an error when the Base has no produce and settings isn't provided", async () => {
|
|
23
|
-
const actual = await testBase(baseWithNoProduce);
|
|
24
|
-
expect(actual).toEqual(undefined);
|
|
25
|
-
});
|
|
26
|
-
it("doesn't throw an error when the Base has no produce and settings is {}", async () => {
|
|
27
|
-
const actual = await testBase(baseWithNoProduce, {});
|
|
28
|
-
expect(actual).toEqual(undefined);
|
|
29
|
-
});
|
|
30
|
-
it("doesn't throw an error when the Base has a produce that does not use settings and settings isn't provided", async () => {
|
|
31
|
-
const actual = await testBase(baseWithValueHardcoded);
|
|
32
|
-
expect(actual).toEqual({ value: "hardcoded" });
|
|
33
|
-
});
|
|
34
|
-
it("doesn't throw an error when the Base has a produce that does not use settings and settings is {}", async () => {
|
|
35
|
-
const actual = await testBase(baseWithValueHardcoded, {});
|
|
36
|
-
expect(actual).toEqual({ value: "hardcoded" });
|
|
37
|
-
});
|
|
38
|
-
describe("options", () => {
|
|
39
|
-
const baseWithValueFromOptions = createBase({
|
|
40
|
-
options: {
|
|
41
|
-
value: z.string(),
|
|
42
|
-
},
|
|
43
|
-
prepare({ options }) {
|
|
44
|
-
return {
|
|
45
|
-
value: options.value ?? "default",
|
|
46
|
-
};
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
it("returns the options directly when the Base has no produce", async () => {
|
|
50
|
-
const actual = await testBase(baseWithNoProduce, {
|
|
51
|
-
options: { value: "direct" },
|
|
52
|
-
});
|
|
53
|
-
expect(actual).toEqual({ value: "direct" });
|
|
54
|
-
});
|
|
55
|
-
it("throws an error when the Base produce uses options and settings does not contain options", async () => {
|
|
56
|
-
await expect(async () => await testBase(baseWithValueFromOptions, {})).rejects.toMatchInlineSnapshot(`[Error: Context property 'options' was used by the Base but not provided.]`);
|
|
57
|
-
});
|
|
58
|
-
it("uses options when the Base produce uses options and settings contains options", async () => {
|
|
59
|
-
const actual = await testBase(baseWithValueFromOptions, {
|
|
60
|
-
options: { value: "override" },
|
|
61
|
-
});
|
|
62
|
-
expect(actual).toEqual({ value: "override" });
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
describe("take", () => {
|
|
66
|
-
const constant = "abc123";
|
|
67
|
-
const inputConstant = createInput({
|
|
68
|
-
produce: () => constant,
|
|
69
|
-
});
|
|
70
|
-
const baseWithValueFromInput = createBase({
|
|
71
|
-
options: {
|
|
72
|
-
value: z.string(),
|
|
73
|
-
},
|
|
74
|
-
prepare({ take }) {
|
|
75
|
-
return {
|
|
76
|
-
value: () => take(inputConstant),
|
|
77
|
-
};
|
|
78
|
-
},
|
|
79
|
-
});
|
|
80
|
-
it("throws an error when the Base produce uses take and settings does not include take", async () => {
|
|
81
|
-
await expect(async () => testBase(baseWithValueFromInput, { options: { value: "unused" } })).rejects.toMatchInlineSnapshot(`[Error: Context property 'take' was used by the Base but not provided.]`);
|
|
82
|
-
});
|
|
83
|
-
it("uses the provide take when the Base produce uses take and settings includes take", async () => {
|
|
84
|
-
const take = vi.fn().mockReturnValueOnce("taken");
|
|
85
|
-
const actual = await testBase(baseWithValueFromInput, { take });
|
|
86
|
-
expect(actual).toEqual({ value: "taken" });
|
|
87
|
-
expect(take).toHaveBeenCalledWith(inputConstant);
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
//# sourceMappingURL=testBase.test.js.map
|
package/lib/testBase.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testBase.test.js","sourceRoot":"","sources":["../src/testBase.test.ts"],"names":[],"mappings":"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"}
|