@effect/vitest 0.1.1 → 0.2.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/dist/cjs/index.js +39 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/dts/index.d.ts +23 -9
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/index.js +21 -10
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +35 -27
package/dist/cjs/index.js
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
effect: true,
|
|
8
|
+
live: true,
|
|
9
|
+
flakyTest: true,
|
|
10
|
+
scoped: true,
|
|
11
|
+
scopedLive: true,
|
|
12
|
+
it: true
|
|
13
|
+
};
|
|
6
14
|
exports.scopedLive = exports.scoped = exports.live = exports.it = exports.flakyTest = exports.effect = void 0;
|
|
7
15
|
var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Duration"));
|
|
8
16
|
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
@@ -12,6 +20,17 @@ var Logger = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/
|
|
|
12
20
|
var Schedule = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Schedule"));
|
|
13
21
|
var TestEnvironment = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/TestContext"));
|
|
14
22
|
var V = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("vitest"));
|
|
23
|
+
Object.keys(V).forEach(function (key) {
|
|
24
|
+
if (key === "default" || key === "__esModule") return;
|
|
25
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
26
|
+
if (key in exports && exports[key] === V[key]) return;
|
|
27
|
+
Object.defineProperty(exports, key, {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () {
|
|
30
|
+
return V[key];
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
});
|
|
15
34
|
function _getRequireWildcardCache(e) {
|
|
16
35
|
if ("function" != typeof WeakMap) return null;
|
|
17
36
|
var r = new WeakMap(),
|
|
@@ -41,25 +60,21 @@ function _interopRequireWildcard(e, r) {
|
|
|
41
60
|
* @since 1.0.0
|
|
42
61
|
*/
|
|
43
62
|
|
|
44
|
-
/**
|
|
45
|
-
* @since 1.0.0
|
|
46
|
-
*/
|
|
47
|
-
const it = exports.it = V.it;
|
|
48
63
|
const TestEnv = /*#__PURE__*/TestEnvironment.TestContext.pipe( /*#__PURE__*/Layer.provide( /*#__PURE__*/Logger.remove(Logger.defaultLogger)));
|
|
49
64
|
/**
|
|
50
65
|
* @since 1.0.0
|
|
51
66
|
*/
|
|
52
67
|
const effect = exports.effect = /*#__PURE__*/(() => {
|
|
53
|
-
const f = (name, self, timeout =
|
|
68
|
+
const f = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout);
|
|
54
69
|
return Object.assign(f, {
|
|
55
|
-
skip: (name, self, timeout =
|
|
56
|
-
only: (name, self, timeout =
|
|
70
|
+
skip: (name, self, timeout = 5_000) => it.skip(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout),
|
|
71
|
+
only: (name, self, timeout = 5_000) => it.only(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout)
|
|
57
72
|
});
|
|
58
73
|
})();
|
|
59
74
|
/**
|
|
60
75
|
* @since 1.0.0
|
|
61
76
|
*/
|
|
62
|
-
const live = (name, self, timeout =
|
|
77
|
+
const live = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.runPromise), timeout);
|
|
63
78
|
/**
|
|
64
79
|
* @since 1.0.0
|
|
65
80
|
*/
|
|
@@ -69,11 +84,25 @@ const flakyTest = (self, timeout = Duration.seconds(30)) => (0, _Function.pipe)(
|
|
|
69
84
|
* @since 1.0.0
|
|
70
85
|
*/
|
|
71
86
|
exports.flakyTest = flakyTest;
|
|
72
|
-
const scoped = (name, self, timeout =
|
|
87
|
+
const scoped = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.scoped, Effect.provide(TestEnv), Effect.runPromise), timeout);
|
|
73
88
|
/**
|
|
74
89
|
* @since 1.0.0
|
|
75
90
|
*/
|
|
76
91
|
exports.scoped = scoped;
|
|
77
|
-
const scopedLive = (name, self, timeout =
|
|
92
|
+
const scopedLive = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.scoped, Effect.runPromise), timeout);
|
|
78
93
|
exports.scopedLive = scopedLive;
|
|
94
|
+
const methods = {
|
|
95
|
+
effect,
|
|
96
|
+
live,
|
|
97
|
+
flakyTest,
|
|
98
|
+
scoped,
|
|
99
|
+
scopedLive
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* @since 1.0.0
|
|
103
|
+
*/
|
|
104
|
+
const it = exports.it = /*#__PURE__*/Object.assign(V.it, methods);
|
|
105
|
+
/**
|
|
106
|
+
* @since 1.0.0
|
|
107
|
+
*/
|
|
79
108
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Duration","_interopRequireWildcard","require","Effect","_Function","Layer","Logger","Schedule","TestEnvironment","V","
|
|
1
|
+
{"version":3,"file":"index.js","names":["Duration","_interopRequireWildcard","require","Effect","_Function","Layer","Logger","Schedule","TestEnvironment","V","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","TestEnv","TestContext","pipe","provide","remove","defaultLogger","effect","f","name","self","timeout","it","c","suspend","runPromise","assign","skip","only","live","flakyTest","seconds","catchAllDefect","fail","retry","recurs","compose","elapsed","whileOutput","lessThanOrEqualTo","orDie","scoped","scopedLive","methods"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/dts/index.d.ts
CHANGED
|
@@ -14,28 +14,42 @@ export type API = TestAPI<{}>;
|
|
|
14
14
|
/**
|
|
15
15
|
* @since 1.0.0
|
|
16
16
|
*/
|
|
17
|
-
export declare const
|
|
17
|
+
export declare const effect: (<E, A>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, TestServices.TestServices>, timeout?: number | V.TestOptions) => void) & {
|
|
18
|
+
skip: <E_1, A_1>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_1, E_1, TestServices.TestServices>, timeout?: number) => void;
|
|
19
|
+
only: <E_2, A_2>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_2, E_2, TestServices.TestServices>, timeout?: number) => void;
|
|
20
|
+
};
|
|
18
21
|
/**
|
|
19
22
|
* @since 1.0.0
|
|
20
23
|
*/
|
|
21
|
-
export declare const
|
|
22
|
-
skip: <E_1, A_1>(name: string, self: Effect.Effect<A_1, E_1, TestServices.TestServices> | (() => Effect.Effect<A_1, E_1, TestServices.TestServices>), timeout?: number) => void;
|
|
23
|
-
only: <E_2, A_2>(name: string, self: Effect.Effect<A_2, E_2, TestServices.TestServices> | (() => Effect.Effect<A_2, E_2, TestServices.TestServices>), timeout?: number) => void;
|
|
24
|
-
};
|
|
24
|
+
export declare const live: <E, A>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E>, timeout?: number) => void;
|
|
25
25
|
/**
|
|
26
26
|
* @since 1.0.0
|
|
27
27
|
*/
|
|
28
|
-
export declare const
|
|
28
|
+
export declare const flakyTest: <A, E, R>(self: Effect.Effect<A, E, R>, timeout?: Duration.Duration) => Effect.Effect<A, never, R>;
|
|
29
29
|
/**
|
|
30
30
|
* @since 1.0.0
|
|
31
31
|
*/
|
|
32
|
-
export declare const
|
|
32
|
+
export declare const scoped: <E, A>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, Scope.Scope | TestServices.TestServices>, timeout?: number) => void;
|
|
33
|
+
/**
|
|
34
|
+
* @since 1.0.0
|
|
35
|
+
*/
|
|
36
|
+
export declare const scopedLive: <E, A>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, Scope.Scope>, timeout?: number) => void;
|
|
37
|
+
declare const methods: {
|
|
38
|
+
readonly effect: (<E, A>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, TestServices.TestServices>, timeout?: number | V.TestOptions) => void) & {
|
|
39
|
+
skip: <E_1, A_1>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_1, E_1, TestServices.TestServices>, timeout?: number) => void;
|
|
40
|
+
only: <E_2, A_2>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_2, E_2, TestServices.TestServices>, timeout?: number) => void;
|
|
41
|
+
};
|
|
42
|
+
readonly live: <E_1, A_1>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_1, E_1, never>, timeout?: number) => void;
|
|
43
|
+
readonly flakyTest: <A_2, E_2, R>(self: Effect.Effect<A_2, E_2, R>, timeout?: Duration.Duration) => Effect.Effect<A_2, never, R>;
|
|
44
|
+
readonly scoped: <E_3, A_3>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_3, E_3, TestServices.TestServices | Scope.Scope>, timeout?: number) => void;
|
|
45
|
+
readonly scopedLive: <E_4, A_4>(name: string, self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A_4, E_4, Scope.Scope>, timeout?: number) => void;
|
|
46
|
+
};
|
|
33
47
|
/**
|
|
34
48
|
* @since 1.0.0
|
|
35
49
|
*/
|
|
36
|
-
export declare const
|
|
50
|
+
export declare const it: API & typeof methods;
|
|
37
51
|
/**
|
|
38
52
|
* @since 1.0.0
|
|
39
53
|
*/
|
|
40
|
-
export
|
|
54
|
+
export * from "vitest";
|
|
41
55
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/dts/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,KAAK,YAAY,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAE3B;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,KAAK,YAAY,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAA;AAE3B;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;AAM7B;;GAEG;AACH,eAAO,MAAM,MAAM,gBAET,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,yBAAyB,CAAC,YAC/F,MAAM,GAAG,EAAE,WAAW;2BAcvB,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;2BAc/C,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;CAcvD,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,IAAI,eACT,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,2BAW5E,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS,kBACd,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YACnB,iBAAiB,+BAYzB,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM,eACX,MAAM,cAEL,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,KAC3C,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,yBAAyB,CAAC,2BAahE,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,eACf,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,2BAYzF,CAAA;AAEH,QAAA,MAAM,OAAO;mCA9HH,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,yBAAyB,CAAC,YAC/F,MAAM,GAAG,EAAE,WAAW;+BAcvB,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;+BAc/C,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;;oCAoBnD,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;kFAkB5C,iBAAiB;sCAkBpB,MAAM,cAEL,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;0CAoB1C,MAAM,cACA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;CAciB,CAAA;AAExE;;GAEG;AACH,eAAO,MAAM,EAAE,EAAE,GAAG,GAAG,OAAO,OAG7B,CAAA;AAED;;GAEG;AACH,cAAc,QAAQ,CAAA"}
|
package/dist/esm/index.js
CHANGED
|
@@ -9,25 +9,21 @@ import * as Logger from "effect/Logger";
|
|
|
9
9
|
import * as Schedule from "effect/Schedule";
|
|
10
10
|
import * as TestEnvironment from "effect/TestContext";
|
|
11
11
|
import * as V from "vitest";
|
|
12
|
-
/**
|
|
13
|
-
* @since 1.0.0
|
|
14
|
-
*/
|
|
15
|
-
export const it = V.it;
|
|
16
12
|
const TestEnv = /*#__PURE__*/TestEnvironment.TestContext.pipe( /*#__PURE__*/Layer.provide( /*#__PURE__*/Logger.remove(Logger.defaultLogger)));
|
|
17
13
|
/**
|
|
18
14
|
* @since 1.0.0
|
|
19
15
|
*/
|
|
20
16
|
export const effect = /*#__PURE__*/(() => {
|
|
21
|
-
const f = (name, self, timeout =
|
|
17
|
+
const f = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout);
|
|
22
18
|
return Object.assign(f, {
|
|
23
|
-
skip: (name, self, timeout =
|
|
24
|
-
only: (name, self, timeout =
|
|
19
|
+
skip: (name, self, timeout = 5_000) => it.skip(name, c => pipe(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout),
|
|
20
|
+
only: (name, self, timeout = 5_000) => it.only(name, c => pipe(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout)
|
|
25
21
|
});
|
|
26
22
|
})();
|
|
27
23
|
/**
|
|
28
24
|
* @since 1.0.0
|
|
29
25
|
*/
|
|
30
|
-
export const live = (name, self, timeout =
|
|
26
|
+
export const live = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.runPromise), timeout);
|
|
31
27
|
/**
|
|
32
28
|
* @since 1.0.0
|
|
33
29
|
*/
|
|
@@ -35,9 +31,24 @@ export const flakyTest = (self, timeout = Duration.seconds(30)) => pipe(Effect.c
|
|
|
35
31
|
/**
|
|
36
32
|
* @since 1.0.0
|
|
37
33
|
*/
|
|
38
|
-
export const scoped = (name, self, timeout =
|
|
34
|
+
export const scoped = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.scoped, Effect.provide(TestEnv), Effect.runPromise), timeout);
|
|
35
|
+
/**
|
|
36
|
+
* @since 1.0.0
|
|
37
|
+
*/
|
|
38
|
+
export const scopedLive = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.scoped, Effect.runPromise), timeout);
|
|
39
|
+
const methods = {
|
|
40
|
+
effect,
|
|
41
|
+
live,
|
|
42
|
+
flakyTest,
|
|
43
|
+
scoped,
|
|
44
|
+
scopedLive
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* @since 1.0.0
|
|
48
|
+
*/
|
|
49
|
+
export const it = /*#__PURE__*/Object.assign(V.it, methods);
|
|
39
50
|
/**
|
|
40
51
|
* @since 1.0.0
|
|
41
52
|
*/
|
|
42
|
-
export
|
|
53
|
+
export * from "vitest";
|
|
43
54
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Duration","Effect","pipe","Layer","Logger","Schedule","TestEnvironment","V","
|
|
1
|
+
{"version":3,"file":"index.js","names":["Duration","Effect","pipe","Layer","Logger","Schedule","TestEnvironment","V","TestEnv","TestContext","provide","remove","defaultLogger","effect","f","name","self","timeout","it","c","suspend","runPromise","Object","assign","skip","only","live","flakyTest","seconds","catchAllDefect","fail","retry","recurs","compose","elapsed","whileOutput","lessThanOrEqualTo","orDie","scoped","scopedLive","methods"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/vitest",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Set of helpers for testing Effect's with vitest",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"sideEffects": [],
|
|
12
12
|
"peerDependencies": {
|
|
13
13
|
"vitest": "^1.4.0",
|
|
14
|
-
"effect": "^2.4.
|
|
14
|
+
"effect": "^2.4.12"
|
|
15
15
|
},
|
|
16
16
|
"main": "./dist/cjs/index.js",
|
|
17
17
|
"module": "./dist/esm/index.js",
|
package/src/index.ts
CHANGED
|
@@ -18,11 +18,6 @@ import * as V from "vitest"
|
|
|
18
18
|
*/
|
|
19
19
|
export type API = TestAPI<{}>
|
|
20
20
|
|
|
21
|
-
/**
|
|
22
|
-
* @since 1.0.0
|
|
23
|
-
*/
|
|
24
|
-
export const it: API = V.it
|
|
25
|
-
|
|
26
21
|
const TestEnv = TestEnvironment.TestContext.pipe(
|
|
27
22
|
Layer.provide(Logger.remove(Logger.defaultLogger))
|
|
28
23
|
)
|
|
@@ -33,14 +28,14 @@ const TestEnv = TestEnvironment.TestContext.pipe(
|
|
|
33
28
|
export const effect = (() => {
|
|
34
29
|
const f = <E, A>(
|
|
35
30
|
name: string,
|
|
36
|
-
self:
|
|
31
|
+
self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, TestServices.TestServices>,
|
|
37
32
|
timeout: number | V.TestOptions = 5_000
|
|
38
33
|
) =>
|
|
39
34
|
it(
|
|
40
35
|
name,
|
|
41
|
-
() =>
|
|
36
|
+
(c) =>
|
|
42
37
|
pipe(
|
|
43
|
-
Effect.
|
|
38
|
+
Effect.suspend(() => self(c)),
|
|
44
39
|
Effect.provide(TestEnv),
|
|
45
40
|
Effect.runPromise
|
|
46
41
|
),
|
|
@@ -49,14 +44,14 @@ export const effect = (() => {
|
|
|
49
44
|
return Object.assign(f, {
|
|
50
45
|
skip: <E, A>(
|
|
51
46
|
name: string,
|
|
52
|
-
self:
|
|
47
|
+
self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, TestServices.TestServices>,
|
|
53
48
|
timeout = 5_000
|
|
54
49
|
) =>
|
|
55
50
|
it.skip(
|
|
56
51
|
name,
|
|
57
|
-
() =>
|
|
52
|
+
(c) =>
|
|
58
53
|
pipe(
|
|
59
|
-
Effect.
|
|
54
|
+
Effect.suspend(() => self(c)),
|
|
60
55
|
Effect.provide(TestEnv),
|
|
61
56
|
Effect.runPromise
|
|
62
57
|
),
|
|
@@ -64,14 +59,14 @@ export const effect = (() => {
|
|
|
64
59
|
),
|
|
65
60
|
only: <E, A>(
|
|
66
61
|
name: string,
|
|
67
|
-
self:
|
|
62
|
+
self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, TestServices.TestServices>,
|
|
68
63
|
timeout = 5_000
|
|
69
64
|
) =>
|
|
70
65
|
it.only(
|
|
71
66
|
name,
|
|
72
|
-
() =>
|
|
67
|
+
(c) =>
|
|
73
68
|
pipe(
|
|
74
|
-
Effect.
|
|
69
|
+
Effect.suspend(() => self(c)),
|
|
75
70
|
Effect.provide(TestEnv),
|
|
76
71
|
Effect.runPromise
|
|
77
72
|
),
|
|
@@ -85,14 +80,14 @@ export const effect = (() => {
|
|
|
85
80
|
*/
|
|
86
81
|
export const live = <E, A>(
|
|
87
82
|
name: string,
|
|
88
|
-
self:
|
|
83
|
+
self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E>,
|
|
89
84
|
timeout = 5_000
|
|
90
85
|
) =>
|
|
91
86
|
it(
|
|
92
87
|
name,
|
|
93
|
-
() =>
|
|
88
|
+
(c) =>
|
|
94
89
|
pipe(
|
|
95
|
-
Effect.
|
|
90
|
+
Effect.suspend(() => self(c)),
|
|
96
91
|
Effect.runPromise
|
|
97
92
|
),
|
|
98
93
|
timeout
|
|
@@ -122,16 +117,16 @@ export const flakyTest = <A, E, R>(
|
|
|
122
117
|
*/
|
|
123
118
|
export const scoped = <E, A>(
|
|
124
119
|
name: string,
|
|
125
|
-
self:
|
|
126
|
-
|
|
127
|
-
|
|
120
|
+
self: (
|
|
121
|
+
ctx: V.TaskContext<V.Test<{}>> & V.TestContext
|
|
122
|
+
) => Effect.Effect<A, E, Scope.Scope | TestServices.TestServices>,
|
|
128
123
|
timeout = 5_000
|
|
129
124
|
) =>
|
|
130
125
|
it(
|
|
131
126
|
name,
|
|
132
|
-
() =>
|
|
127
|
+
(c) =>
|
|
133
128
|
pipe(
|
|
134
|
-
Effect.
|
|
129
|
+
Effect.suspend(() => self(c)),
|
|
135
130
|
Effect.scoped,
|
|
136
131
|
Effect.provide(TestEnv),
|
|
137
132
|
Effect.runPromise
|
|
@@ -144,18 +139,31 @@ export const scoped = <E, A>(
|
|
|
144
139
|
*/
|
|
145
140
|
export const scopedLive = <E, A>(
|
|
146
141
|
name: string,
|
|
147
|
-
self:
|
|
148
|
-
| Effect.Effect<A, E, Scope.Scope>
|
|
149
|
-
| (() => Effect.Effect<A, E, Scope.Scope>),
|
|
142
|
+
self: (ctx: V.TaskContext<V.Test<{}>> & V.TestContext) => Effect.Effect<A, E, Scope.Scope>,
|
|
150
143
|
timeout = 5_000
|
|
151
144
|
) =>
|
|
152
145
|
it(
|
|
153
146
|
name,
|
|
154
|
-
() =>
|
|
147
|
+
(c) =>
|
|
155
148
|
pipe(
|
|
156
|
-
Effect.
|
|
149
|
+
Effect.suspend(() => self(c)),
|
|
157
150
|
Effect.scoped,
|
|
158
151
|
Effect.runPromise
|
|
159
152
|
),
|
|
160
153
|
timeout
|
|
161
154
|
)
|
|
155
|
+
|
|
156
|
+
const methods = { effect, live, flakyTest, scoped, scopedLive } as const
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* @since 1.0.0
|
|
160
|
+
*/
|
|
161
|
+
export const it: API & typeof methods = Object.assign(
|
|
162
|
+
V.it,
|
|
163
|
+
methods
|
|
164
|
+
)
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* @since 1.0.0
|
|
168
|
+
*/
|
|
169
|
+
export * from "vitest"
|