@effect/vitest 4.0.0-beta.1 → 4.0.0-beta.100
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 +1 -1
- package/dist/index.d.ts +43 -32
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -23
- package/dist/index.js.map +1 -1
- package/dist/internal/internal.d.ts +1 -1
- package/dist/internal/internal.js +65 -14
- package/dist/internal/internal.js.map +1 -1
- package/dist/utils.d.ts +40 -11
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +35 -12
- package/dist/utils.js.map +1 -1
- package/package.json +9 -9
- package/src/index.ts +41 -33
- package/src/internal/internal.ts +95 -23
- package/src/utils.ts +46 -15
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ In this guide, we'll walk you through setting up the necessary dependencies and
|
|
|
6
6
|
|
|
7
7
|
# Requirements
|
|
8
8
|
|
|
9
|
-
First, ensure you have [`vitest`](https://vitest.dev/guide/) installed (
|
|
9
|
+
First, ensure you have a supported [`vitest`](https://vitest.dev/guide/) version installed (`^3.0.0` or `^4.0.0`).
|
|
10
10
|
|
|
11
11
|
```sh
|
|
12
12
|
pnpm add -D vitest
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @since
|
|
2
|
+
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type * as Duration from "effect/Duration";
|
|
5
5
|
import type * as Effect from "effect/Effect";
|
|
@@ -9,37 +9,37 @@ import type * as Scope from "effect/Scope";
|
|
|
9
9
|
import type * as FC from "effect/testing/FastCheck";
|
|
10
10
|
import * as V from "vitest";
|
|
11
11
|
/**
|
|
12
|
-
* @since
|
|
12
|
+
* @since 4.0.0
|
|
13
13
|
*/
|
|
14
14
|
export * from "vitest";
|
|
15
15
|
/**
|
|
16
|
-
* @since
|
|
16
|
+
* @since 4.0.0
|
|
17
17
|
*/
|
|
18
18
|
export type API = V.TestAPI<{}>;
|
|
19
19
|
/**
|
|
20
|
-
* @since
|
|
20
|
+
* @since 4.0.0
|
|
21
21
|
*/
|
|
22
22
|
export declare namespace Vitest {
|
|
23
23
|
/**
|
|
24
|
-
* @since
|
|
24
|
+
* @since 4.0.0
|
|
25
25
|
*/
|
|
26
26
|
interface TestFunction<A, E, R, TestArgs extends Array<any>> {
|
|
27
27
|
(...args: TestArgs): Effect.Effect<A, E, R>;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
|
-
* @since
|
|
30
|
+
* @since 4.0.0
|
|
31
31
|
*/
|
|
32
32
|
interface Test<R> {
|
|
33
33
|
<A, E>(name: string, self: TestFunction<A, E, R, [V.TestContext]>, timeout?: number | V.TestOptions): void;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
|
-
* @since
|
|
36
|
+
* @since 4.0.0
|
|
37
37
|
*/
|
|
38
38
|
type Arbitraries = Array<Schema.Schema<any> | FC.Arbitrary<any>> | {
|
|
39
39
|
[K in string]: Schema.Schema<any> | FC.Arbitrary<any>;
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
|
-
* @since
|
|
42
|
+
* @since 4.0.0
|
|
43
43
|
*/
|
|
44
44
|
interface Tester<R> extends Vitest.Test<R> {
|
|
45
45
|
skip: Vitest.Test<R>;
|
|
@@ -49,76 +49,84 @@ export declare namespace Vitest {
|
|
|
49
49
|
each: <T>(cases: ReadonlyArray<T>) => <A, E>(name: string, self: TestFunction<A, E, R, Array<T>>, timeout?: number | V.TestOptions) => void;
|
|
50
50
|
fails: Vitest.Test<R>;
|
|
51
51
|
/**
|
|
52
|
-
* @since
|
|
52
|
+
* @since 4.0.0
|
|
53
53
|
*/
|
|
54
54
|
prop: <const Arbs extends Arbitraries, A, E>(name: string, arbitraries: Arbs, self: TestFunction<A, E, R, [
|
|
55
55
|
{
|
|
56
56
|
[K in keyof Arbs]: Arbs[K] extends FC.Arbitrary<infer T> ? T : Arbs[K] extends Schema.Schema<infer T> ? T : never;
|
|
57
57
|
},
|
|
58
58
|
V.TestContext
|
|
59
|
-
]>, timeout?: number | V.TestOptions & {
|
|
59
|
+
]>, timeout?: number | (V.TestOptions & {
|
|
60
60
|
fastCheck?: FC.Parameters<{
|
|
61
61
|
[K in keyof Arbs]: Arbs[K] extends FC.Arbitrary<infer T> ? T : Arbs[K] extends Schema.Schema<infer T> ? T : never;
|
|
62
62
|
}>;
|
|
63
|
-
}) => void;
|
|
63
|
+
})) => void;
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
|
-
* @since
|
|
66
|
+
* @since 4.0.0
|
|
67
67
|
*/
|
|
68
68
|
interface MethodsNonLive<R = never> extends API {
|
|
69
69
|
readonly effect: Vitest.Tester<R | Scope.Scope>;
|
|
70
|
-
readonly flakyTest: <A, E, R2>(self: Effect.Effect<A, E, R2 | Scope.Scope>, timeout?: Duration.
|
|
70
|
+
readonly flakyTest: <A, E, R2>(self: Effect.Effect<A, E, R2 | Scope.Scope>, timeout?: Duration.Input) => Effect.Effect<A, never, R2>;
|
|
71
71
|
readonly layer: <R2, E>(layer: Layer.Layer<R2, E, R>, options?: {
|
|
72
|
-
readonly timeout?: Duration.
|
|
72
|
+
readonly timeout?: Duration.Input;
|
|
73
73
|
}) => {
|
|
74
74
|
(f: (it: Vitest.MethodsNonLive<R | R2>) => void): void;
|
|
75
75
|
(name: string, f: (it: Vitest.MethodsNonLive<R | R2>) => void): void;
|
|
76
76
|
};
|
|
77
77
|
/**
|
|
78
|
-
* @since
|
|
78
|
+
* @since 4.0.0
|
|
79
79
|
*/
|
|
80
80
|
readonly prop: <const Arbs extends Arbitraries>(name: string, arbitraries: Arbs, self: (properties: {
|
|
81
81
|
[K in keyof Arbs]: Arbs[K] extends FC.Arbitrary<infer T> ? T : Arbs[K] extends Schema.Schema<infer T> ? T : never;
|
|
82
|
-
}, ctx: V.TestContext) => void, timeout?: number | V.TestOptions & {
|
|
82
|
+
}, ctx: V.TestContext) => void, timeout?: number | (V.TestOptions & {
|
|
83
83
|
fastCheck?: FC.Parameters<{
|
|
84
84
|
[K in keyof Arbs]: Arbs[K] extends FC.Arbitrary<infer T> ? T : Arbs[K] extends Schema.Schema<infer T> ? T : never;
|
|
85
85
|
}>;
|
|
86
|
-
}) => void;
|
|
86
|
+
})) => void;
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
|
-
* @since
|
|
89
|
+
* @since 4.0.0
|
|
90
90
|
*/
|
|
91
91
|
interface Methods<R = never> extends MethodsNonLive<R> {
|
|
92
92
|
readonly live: Vitest.Tester<Scope.Scope | R>;
|
|
93
|
+
readonly layer: <R2, E>(layer: Layer.Layer<R2, E, R>, options?: {
|
|
94
|
+
readonly memoMap?: Layer.MemoMap;
|
|
95
|
+
readonly timeout?: Duration.Input;
|
|
96
|
+
readonly excludeTestServices?: boolean;
|
|
97
|
+
}) => {
|
|
98
|
+
(f: (it: Vitest.MethodsNonLive<R | R2>) => void): void;
|
|
99
|
+
(name: string, f: (it: Vitest.MethodsNonLive<R | R2>) => void): void;
|
|
100
|
+
};
|
|
93
101
|
}
|
|
94
102
|
}
|
|
95
103
|
/**
|
|
96
|
-
* @since
|
|
104
|
+
* @since 4.0.0
|
|
97
105
|
*/
|
|
98
106
|
export declare const addEqualityTesters: () => void;
|
|
99
107
|
/**
|
|
100
|
-
* @since
|
|
108
|
+
* @since 4.0.0
|
|
101
109
|
*/
|
|
102
110
|
export declare const effect: Vitest.Tester<Scope.Scope>;
|
|
103
111
|
/**
|
|
104
|
-
* @since
|
|
112
|
+
* @since 4.0.0
|
|
105
113
|
*/
|
|
106
114
|
export declare const live: Vitest.Tester<Scope.Scope>;
|
|
107
115
|
/**
|
|
108
116
|
* Share a `Layer` between multiple tests, optionally wrapping
|
|
109
117
|
* the tests in a `describe` block if a name is provided.
|
|
110
118
|
*
|
|
111
|
-
* @since
|
|
119
|
+
* @since 4.0.0
|
|
112
120
|
*
|
|
113
121
|
* ```ts
|
|
114
122
|
* import { expect, layer } from "@effect/vitest"
|
|
115
|
-
* import { Effect, Layer,
|
|
123
|
+
* import { Effect, Layer, Context } from "effect"
|
|
116
124
|
*
|
|
117
|
-
* class Foo extends
|
|
125
|
+
* class Foo extends Context.Service("Foo")<Foo, "foo">() {
|
|
118
126
|
* static Live = Layer.succeed(Foo, "foo")
|
|
119
127
|
* }
|
|
120
128
|
*
|
|
121
|
-
* class Bar extends
|
|
129
|
+
* class Bar extends Context.Service("Bar")<Bar, "bar">() {
|
|
122
130
|
* static Live = Layer.effect(
|
|
123
131
|
* Bar,
|
|
124
132
|
* Effect.map(Foo, () => "bar" as const)
|
|
@@ -146,30 +154,33 @@ export declare const live: Vitest.Tester<Scope.Scope>;
|
|
|
146
154
|
*/
|
|
147
155
|
export declare const layer: <R, E>(layer_: Layer.Layer<R, E>, options?: {
|
|
148
156
|
readonly memoMap?: Layer.MemoMap;
|
|
149
|
-
readonly timeout?: Duration.
|
|
157
|
+
readonly timeout?: Duration.Input;
|
|
150
158
|
readonly excludeTestServices?: boolean;
|
|
151
159
|
}) => {
|
|
152
160
|
(f: (it: Vitest.MethodsNonLive<R>) => void): void;
|
|
153
161
|
(name: string, f: (it: Vitest.MethodsNonLive<R>) => void): void;
|
|
154
162
|
};
|
|
155
163
|
/**
|
|
156
|
-
* @since
|
|
164
|
+
* @since 4.0.0
|
|
157
165
|
*/
|
|
158
|
-
export declare const flakyTest: <A, E, R>(self: Effect.Effect<A, E, R | Scope.Scope>, timeout?: Duration.
|
|
166
|
+
export declare const flakyTest: <A, E, R>(self: Effect.Effect<A, E, R | Scope.Scope>, timeout?: Duration.Input) => Effect.Effect<A, never, R>;
|
|
159
167
|
/**
|
|
160
|
-
* @since
|
|
168
|
+
* @since 4.0.0
|
|
161
169
|
*/
|
|
162
170
|
export declare const prop: Vitest.Methods["prop"];
|
|
163
171
|
/**
|
|
164
|
-
* @since
|
|
172
|
+
* @since 4.0.0
|
|
173
|
+
*/
|
|
174
|
+
/**
|
|
175
|
+
* @since 4.0.0
|
|
165
176
|
*/
|
|
166
177
|
export declare const it: Vitest.Methods;
|
|
167
178
|
/**
|
|
168
|
-
* @since
|
|
179
|
+
* @since 4.0.0
|
|
169
180
|
*/
|
|
170
181
|
export declare const makeMethods: (it: V.TestAPI) => Vitest.Methods;
|
|
171
182
|
/**
|
|
172
|
-
* @since
|
|
183
|
+
* @since 4.0.0
|
|
173
184
|
*/
|
|
174
185
|
export declare const describeWrapped: (name: string, f: (it: Vitest.Methods) => void) => V.SuiteCollector;
|
|
175
186
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
import * as V from "vitest";
|
|
2
2
|
import * as internal from "./internal/internal.js";
|
|
3
3
|
/**
|
|
4
|
-
* @since
|
|
4
|
+
* @since 4.0.0
|
|
5
5
|
*/
|
|
6
6
|
export * from "vitest";
|
|
7
7
|
/**
|
|
8
|
-
* @since
|
|
8
|
+
* @since 4.0.0
|
|
9
9
|
*/
|
|
10
10
|
export const addEqualityTesters = internal.addEqualityTesters;
|
|
11
11
|
/**
|
|
12
|
-
* @since
|
|
12
|
+
* @since 4.0.0
|
|
13
13
|
*/
|
|
14
14
|
export const effect = internal.effect;
|
|
15
15
|
/**
|
|
16
|
-
* @since
|
|
16
|
+
* @since 4.0.0
|
|
17
17
|
*/
|
|
18
18
|
export const live = internal.live;
|
|
19
19
|
/**
|
|
20
20
|
* Share a `Layer` between multiple tests, optionally wrapping
|
|
21
21
|
* the tests in a `describe` block if a name is provided.
|
|
22
22
|
*
|
|
23
|
-
* @since
|
|
23
|
+
* @since 4.0.0
|
|
24
24
|
*
|
|
25
25
|
* ```ts
|
|
26
26
|
* import { expect, layer } from "@effect/vitest"
|
|
27
|
-
* import { Effect, Layer,
|
|
27
|
+
* import { Effect, Layer, Context } from "effect"
|
|
28
28
|
*
|
|
29
|
-
* class Foo extends
|
|
29
|
+
* class Foo extends Context.Service("Foo")<Foo, "foo">() {
|
|
30
30
|
* static Live = Layer.succeed(Foo, "foo")
|
|
31
31
|
* }
|
|
32
32
|
*
|
|
33
|
-
* class Bar extends
|
|
33
|
+
* class Bar extends Context.Service("Bar")<Bar, "bar">() {
|
|
34
34
|
* static Live = Layer.effect(
|
|
35
35
|
* Bar,
|
|
36
36
|
* Effect.map(Foo, () => "bar" as const)
|
|
@@ -58,34 +58,26 @@ export const live = internal.live;
|
|
|
58
58
|
*/
|
|
59
59
|
export const layer = internal.layer;
|
|
60
60
|
/**
|
|
61
|
-
* @since
|
|
61
|
+
* @since 4.0.0
|
|
62
62
|
*/
|
|
63
63
|
export const flakyTest = internal.flakyTest;
|
|
64
64
|
/**
|
|
65
|
-
* @since
|
|
65
|
+
* @since 4.0.0
|
|
66
66
|
*/
|
|
67
67
|
export const prop = internal.prop;
|
|
68
68
|
/**
|
|
69
|
-
* @since
|
|
69
|
+
* @since 4.0.0
|
|
70
70
|
*/
|
|
71
|
-
/** @ignored */
|
|
72
|
-
const methods = {
|
|
73
|
-
effect,
|
|
74
|
-
live,
|
|
75
|
-
flakyTest,
|
|
76
|
-
layer,
|
|
77
|
-
prop
|
|
78
|
-
};
|
|
79
71
|
/**
|
|
80
|
-
* @since
|
|
72
|
+
* @since 4.0.0
|
|
81
73
|
*/
|
|
82
|
-
export const it = /*#__PURE__*/
|
|
74
|
+
export const it = /*#__PURE__*/internal.makeMethods(V.it);
|
|
83
75
|
/**
|
|
84
|
-
* @since
|
|
76
|
+
* @since 4.0.0
|
|
85
77
|
*/
|
|
86
78
|
export const makeMethods = internal.makeMethods;
|
|
87
79
|
/**
|
|
88
|
-
* @since
|
|
80
|
+
* @since 4.0.0
|
|
89
81
|
*/
|
|
90
82
|
export const describeWrapped = internal.describeWrapped;
|
|
91
83
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["V","internal","addEqualityTesters","effect","live","layer","flakyTest","prop","
|
|
1
|
+
{"version":3,"file":"index.js","names":["V","internal","addEqualityTesters","effect","live","layer","flakyTest","prop","it","makeMethods","describeWrapped"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,CAAC,MAAM,QAAQ;AAC3B,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAElD;;;AAGA,cAAc,QAAQ;AAiJtB;;;AAGA,OAAO,MAAMC,kBAAkB,GAAeD,QAAQ,CAACC,kBAAkB;AAEzE;;;AAGA,OAAO,MAAMC,MAAM,GAA+BF,QAAQ,CAACE,MAAM;AAEjE;;;AAGA,OAAO,MAAMC,IAAI,GAA+BH,QAAQ,CAACG,IAAI;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,OAAO,MAAMC,KAAK,GAUdJ,QAAQ,CAACI,KAAK;AAElB;;;AAGA,OAAO,MAAMC,SAAS,GAGYL,QAAQ,CAACK,SAAS;AAEpD;;;AAGA,OAAO,MAAMC,IAAI,GAA2BN,QAAQ,CAACM,IAAI;AAEzD;;;AAIA;;;AAGA,OAAO,MAAMC,EAAE,gBAAmBP,QAAQ,CAACQ,WAAW,CAACT,CAAC,CAACQ,EAAE,CAAC;AAE5D;;;AAGA,OAAO,MAAMC,WAAW,GAAsCR,QAAQ,CAACQ,WAAW;AAElF;;;AAGA,OAAO,MAAMC,eAAe,GAC1BT,QAAQ,CAACS,eAAe","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @since
|
|
2
|
+
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
+
import { getCurrentSuite } from "@vitest/runner";
|
|
4
5
|
import * as Cause from "effect/Cause";
|
|
5
6
|
import * as Duration from "effect/Duration";
|
|
6
7
|
import * as Effect from "effect/Effect";
|
|
@@ -38,6 +39,30 @@ export const addEqualityTesters = () => {
|
|
|
38
39
|
const testOptions = timeout => typeof timeout === "number" ? {
|
|
39
40
|
timeout
|
|
40
41
|
} : timeout ?? {};
|
|
42
|
+
const hookTimeout = timeout => timeout === undefined ? undefined : Duration.toMillis(Duration.fromInputUnsafe(timeout));
|
|
43
|
+
const makeItProxy = (it, overrides) => new Proxy(it, {
|
|
44
|
+
apply(target, thisArg, argArray) {
|
|
45
|
+
return Reflect.apply(target, thisArg, argArray);
|
|
46
|
+
},
|
|
47
|
+
get(target, property, receiver) {
|
|
48
|
+
if (property in overrides) {
|
|
49
|
+
return Reflect.get(overrides, property);
|
|
50
|
+
}
|
|
51
|
+
// do not bind: binding would strip vitest's static helpers (e.g. `describe.each`)
|
|
52
|
+
return Reflect.get(target, property, receiver);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const collectTasks = (tasks, acc = []) => {
|
|
56
|
+
for (let i = 0; i < tasks.length; i++) {
|
|
57
|
+
const task = tasks[i];
|
|
58
|
+
if (task.type === "test" && task.mode !== "skip" && task.mode !== "todo") {
|
|
59
|
+
acc.push(task);
|
|
60
|
+
} else if (task.tasks !== undefined) {
|
|
61
|
+
collectTasks(task.tasks, acc);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return acc;
|
|
65
|
+
};
|
|
41
66
|
/** @internal */
|
|
42
67
|
const makeTester = (mapEffect, it = V.it) => {
|
|
43
68
|
const run = (ctx, args, self) => pipe(Effect.suspend(() => self(...args)), mapEffect, runTest(ctx));
|
|
@@ -66,10 +91,7 @@ const makeTester = (mapEffect, it = V.it) => {
|
|
|
66
91
|
}
|
|
67
92
|
const arbs = fc.record(Object.keys(arbitraries).reduce(function (result, key) {
|
|
68
93
|
const arb = arbitraries[key];
|
|
69
|
-
|
|
70
|
-
result[key] = Schema.toArbitrary(arb);
|
|
71
|
-
}
|
|
72
|
-
result[key] = arb;
|
|
94
|
+
result[key] = Schema.isSchema(arb) ? Schema.toArbitrary(arb) : arb;
|
|
73
95
|
return result;
|
|
74
96
|
}, {}));
|
|
75
97
|
return it(name, testOptions(timeout), ctx =>
|
|
@@ -122,33 +144,62 @@ export const layer = (layer_, options) => (...args) => {
|
|
|
122
144
|
const memoMap = options?.memoMap ?? Effect.runSync(Layer.makeMemoMap);
|
|
123
145
|
const scope = Effect.runSync(Scope.make());
|
|
124
146
|
const contextEffect = Layer.buildWithMemoMap(withTestEnv, memoMap, scope).pipe(Effect.orDie, Effect.cached, Effect.runSync);
|
|
125
|
-
|
|
147
|
+
let closed = false;
|
|
148
|
+
const closeScope = ctx => {
|
|
149
|
+
if (closed) {
|
|
150
|
+
return Promise.resolve();
|
|
151
|
+
}
|
|
152
|
+
closed = true;
|
|
153
|
+
return runPromise(Scope.close(scope, Exit.void), ctx);
|
|
154
|
+
};
|
|
155
|
+
const makeIt = it => makeItProxy(it, {
|
|
126
156
|
effect: makeTester(effect => Effect.flatMap(contextEffect, context => effect.pipe(Effect.scoped, Effect.provide(context))), it),
|
|
127
157
|
prop,
|
|
128
158
|
flakyTest,
|
|
129
159
|
layer(nestedLayer, options) {
|
|
130
160
|
return layer(Layer.provideMerge(nestedLayer, withTestEnv), {
|
|
131
161
|
...options,
|
|
132
|
-
memoMap,
|
|
162
|
+
memoMap: Layer.forkMemoMapUnsafe(memoMap),
|
|
133
163
|
excludeTestServices
|
|
134
164
|
});
|
|
135
165
|
}
|
|
136
166
|
});
|
|
137
167
|
if (args.length === 1) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
168
|
+
const currentSuite = getCurrentSuite();
|
|
169
|
+
const previousTasks = new Set(currentSuite.tasks);
|
|
170
|
+
args[0](makeIt(V.it));
|
|
171
|
+
const blockTasks = collectTasks(currentSuite.tasks.filter(task => !previousTasks.has(task)));
|
|
172
|
+
if (blockTasks.length === 0) {
|
|
173
|
+
V.afterAll(() => closeScope(), hookTimeout(options?.timeout));
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
const blockTaskSet = new Set(blockTasks);
|
|
177
|
+
let remaining = blockTasks.length;
|
|
178
|
+
V.beforeEach(ctx => {
|
|
179
|
+
if (!blockTaskSet.has(ctx.task)) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
ctx.onTestFinished(() => {
|
|
183
|
+
remaining--;
|
|
184
|
+
if (remaining === 0) {
|
|
185
|
+
return closeScope(ctx);
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
return runPromise(Effect.asVoid(contextEffect), ctx);
|
|
189
|
+
}, hookTimeout(options?.timeout));
|
|
190
|
+
V.afterAll(() => closeScope(), hookTimeout(options?.timeout));
|
|
191
|
+
return;
|
|
141
192
|
}
|
|
142
193
|
return V.describe(args[0], () => {
|
|
143
|
-
V.beforeAll(() => runPromise(Effect.asVoid(contextEffect)), options?.timeout
|
|
144
|
-
V.afterAll(() =>
|
|
194
|
+
V.beforeAll(() => runPromise(Effect.asVoid(contextEffect)), hookTimeout(options?.timeout));
|
|
195
|
+
V.afterAll(() => closeScope(), hookTimeout(options?.timeout));
|
|
145
196
|
return args[1](makeIt(V.it));
|
|
146
197
|
});
|
|
147
198
|
};
|
|
148
199
|
/** @internal */
|
|
149
|
-
export const flakyTest = (self, timeout = Duration.seconds(30)) => pipe(self, Effect.scoped, Effect.sandbox, Effect.retry(pipe(Schedule.recurs(10), Schedule.while(_ => Effect.succeed(Duration.isLessThanOrEqualTo(Duration.
|
|
200
|
+
export const flakyTest = (self, timeout = Duration.seconds(30)) => pipe(self, Effect.scoped, Effect.sandbox, Effect.retry(pipe(Schedule.recurs(10), Schedule.while(_ => Effect.succeed(Duration.isLessThanOrEqualTo(Duration.fromInputUnsafe(_.elapsed), Duration.fromInputUnsafe(timeout)))))), Effect.orDie);
|
|
150
201
|
/** @internal */
|
|
151
|
-
export const makeMethods = it =>
|
|
202
|
+
export const makeMethods = it => makeItProxy(it, {
|
|
152
203
|
effect: makeTester(flow(Effect.scoped, Effect.provide(TestEnv)), it),
|
|
153
204
|
live: makeTester(Effect.scoped, it),
|
|
154
205
|
flakyTest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","names":["Cause","Duration","Effect","Exit","flow","pipe","Layer","isObject","Schedule","Schema","Scope","fc","TestClock","TestConsole","V","runPromise","fnUntraced","effect","_ctx","exit","isFailure","errors","prettyErrors","cause","i","length","logError","_","ctx","signal","runTest","TestEnv","mergeAll","layer","addEqualityTesters","expect","testOptions","timeout","makeTester","mapEffect","it","run","args","self","suspend","f","name","skip","skipIf","condition","runIf","only","each","cases","for","fails","prop","arbitraries","Array","isArray","arbs","map","arbitrary","isSchema","toArbitrary","assert","asyncProperty","as","fastCheck","record","Object","keys","reduce","result","key","arb","assign","Error","property","layer_","options","excludeTestServices","withTestEnv","provideMerge","memoMap","runSync","makeMemoMap","scope","make","contextEffect","buildWithMemoMap","orDie","cached","makeIt","flatMap","context","scoped","provide","flakyTest","nestedLayer","beforeAll","asVoid","toMillis","fromDurationInputUnsafe","undefined","afterAll","close","void","describe","seconds","sandbox","retry","recurs","while","succeed","isLessThanOrEqualTo","elapsed","makeMethods","live","describeWrapped"],"sources":["../../src/internal/internal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"internal.js","names":["getCurrentSuite","Cause","Duration","Effect","Exit","flow","pipe","Layer","isObject","Schedule","Schema","Scope","fc","TestClock","TestConsole","V","runPromise","fnUntraced","effect","_ctx","exit","isFailure","errors","prettyErrors","cause","i","length","logError","_","ctx","signal","runTest","TestEnv","mergeAll","layer","addEqualityTesters","expect","testOptions","timeout","hookTimeout","undefined","toMillis","fromInputUnsafe","makeItProxy","it","overrides","Proxy","apply","target","thisArg","argArray","Reflect","get","property","receiver","collectTasks","tasks","acc","task","type","mode","push","makeTester","mapEffect","run","args","self","suspend","f","name","skip","skipIf","condition","runIf","only","each","cases","for","fails","prop","arbitraries","Array","isArray","arbs","map","arbitrary","isSchema","toArbitrary","assert","asyncProperty","as","fastCheck","record","Object","keys","reduce","result","key","arb","assign","Error","layer_","options","excludeTestServices","withTestEnv","provideMerge","memoMap","runSync","makeMemoMap","scope","make","contextEffect","buildWithMemoMap","orDie","cached","closed","closeScope","Promise","resolve","close","void","makeIt","flatMap","context","scoped","provide","flakyTest","nestedLayer","forkMemoMapUnsafe","currentSuite","previousTasks","Set","blockTasks","filter","has","afterAll","blockTaskSet","remaining","beforeEach","onTestFinished","asVoid","describe","beforeAll","seconds","sandbox","retry","recurs","while","succeed","isLessThanOrEqualTo","elapsed","makeMethods","live","describeWrapped"],"sources":["../../src/internal/internal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|