@effect/vitest 0.4.5 → 0.5.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 CHANGED
@@ -13,9 +13,11 @@ var _exportNames = {
13
13
  it: true
14
14
  };
15
15
  exports.scopedLive = exports.scoped = exports.live = exports.it = exports.flakyTest = exports.effect = exports.addEqualityTesters = void 0;
16
+ var Cause = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Cause"));
16
17
  var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Duration"));
17
18
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
18
19
  var Equal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Equal"));
20
+ var Exit = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Exit"));
19
21
  var _Function = /*#__PURE__*/require("effect/Function");
20
22
  var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
21
23
  var Logger = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Logger"));
@@ -59,6 +61,20 @@ function _interopRequireWildcard(e, r) {
59
61
  }
60
62
  return n.default = e, t && t.set(e, n), n;
61
63
  }
64
+ const runTest = effect => Effect.gen(function* () {
65
+ const exit = yield* Effect.exit(effect);
66
+ if (Exit.isSuccess(exit)) {
67
+ return () => {};
68
+ } else {
69
+ const errors = Cause.prettyErrors(exit.cause);
70
+ for (let i = 1; i < errors.length; i++) {
71
+ yield* Effect.logError(errors[i]);
72
+ }
73
+ return () => {
74
+ throw errors[0];
75
+ };
76
+ }
77
+ }).pipe(Effect.runPromise).then(f => f());
62
78
  const TestEnv = /*#__PURE__*/TestEnvironment.TestContext.pipe( /*#__PURE__*/Layer.provide( /*#__PURE__*/Logger.remove(Logger.defaultLogger)));
63
79
  /** @internal */
64
80
  function customTester(a, b, customTesters) {
@@ -78,16 +94,16 @@ const addEqualityTesters = () => {
78
94
  */
79
95
  exports.addEqualityTesters = addEqualityTesters;
80
96
  const effect = exports.effect = /*#__PURE__*/(() => {
81
- const f = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout);
97
+ const f = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.provide(TestEnv), runTest), timeout);
82
98
  return Object.assign(f, {
83
- skip: (name, self, timeout = 5_000) => it.skip(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout),
84
- only: (name, self, timeout = 5_000) => it.only(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout)
99
+ skip: (name, self, timeout = 5_000) => it.skip(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.provide(TestEnv), runTest), timeout),
100
+ only: (name, self, timeout = 5_000) => it.only(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.provide(TestEnv), runTest), timeout)
85
101
  });
86
102
  })();
87
103
  /**
88
104
  * @since 1.0.0
89
105
  */
90
- const live = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.runPromise), timeout);
106
+ const live = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), runTest), timeout);
91
107
  /**
92
108
  * @since 1.0.0
93
109
  */
@@ -97,12 +113,12 @@ const flakyTest = (self, timeout = Duration.seconds(30)) => (0, _Function.pipe)(
97
113
  * @since 1.0.0
98
114
  */
99
115
  exports.flakyTest = flakyTest;
100
- 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);
116
+ const scoped = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.scoped, Effect.provide(TestEnv), runTest), timeout);
101
117
  /**
102
118
  * @since 1.0.0
103
119
  */
104
120
  exports.scoped = scoped;
105
- const scopedLive = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.scoped, Effect.runPromise), timeout);
121
+ const scopedLive = (name, self, timeout = 5_000) => it(name, c => (0, _Function.pipe)(Effect.suspend(() => self(c)), Effect.scoped, runTest), timeout);
106
122
  exports.scopedLive = scopedLive;
107
123
  const methods = {
108
124
  effect,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Duration","_interopRequireWildcard","require","Effect","Equal","_Function","Layer","Logger","Schedule","TestEnvironment","Utils","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","customTester","b","customTesters","isEqual","undefined","structuralRegion","equals","x","y","filter","addEqualityTesters","expect","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":[]}
1
+ {"version":3,"file":"index.js","names":["Cause","_interopRequireWildcard","require","Duration","Effect","Equal","Exit","_Function","Layer","Logger","Schedule","TestEnvironment","Utils","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","runTest","effect","gen","exit","isSuccess","errors","prettyErrors","cause","length","logError","pipe","runPromise","then","f","TestEnv","TestContext","provide","remove","defaultLogger","customTester","b","customTesters","isEqual","undefined","structuralRegion","equals","x","y","filter","addEqualityTesters","expect","name","self","timeout","it","c","suspend","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":[]}
@@ -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/esm/index.js CHANGED
@@ -1,6 +1,8 @@
1
+ import * as Cause from "effect/Cause";
1
2
  import * as Duration from "effect/Duration";
2
3
  import * as Effect from "effect/Effect";
3
4
  import * as Equal from "effect/Equal";
5
+ import * as Exit from "effect/Exit";
4
6
  import { pipe } from "effect/Function";
5
7
  import * as Layer from "effect/Layer";
6
8
  import * as Logger from "effect/Logger";
@@ -8,6 +10,20 @@ import * as Schedule from "effect/Schedule";
8
10
  import * as TestEnvironment from "effect/TestContext";
9
11
  import * as Utils from "effect/Utils";
10
12
  import * as V from "vitest";
13
+ const runTest = effect => Effect.gen(function* () {
14
+ const exit = yield* Effect.exit(effect);
15
+ if (Exit.isSuccess(exit)) {
16
+ return () => {};
17
+ } else {
18
+ const errors = Cause.prettyErrors(exit.cause);
19
+ for (let i = 1; i < errors.length; i++) {
20
+ yield* Effect.logError(errors[i]);
21
+ }
22
+ return () => {
23
+ throw errors[0];
24
+ };
25
+ }
26
+ }).pipe(Effect.runPromise).then(f => f());
11
27
  const TestEnv = /*#__PURE__*/TestEnvironment.TestContext.pipe( /*#__PURE__*/Layer.provide( /*#__PURE__*/Logger.remove(Logger.defaultLogger)));
12
28
  /** @internal */
13
29
  function customTester(a, b, customTesters) {
@@ -26,16 +42,16 @@ export const addEqualityTesters = () => {
26
42
  * @since 1.0.0
27
43
  */
28
44
  export const effect = /*#__PURE__*/(() => {
29
- const f = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout);
45
+ const f = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.provide(TestEnv), runTest), timeout);
30
46
  return Object.assign(f, {
31
- skip: (name, self, timeout = 5_000) => it.skip(name, c => pipe(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout),
32
- only: (name, self, timeout = 5_000) => it.only(name, c => pipe(Effect.suspend(() => self(c)), Effect.provide(TestEnv), Effect.runPromise), timeout)
47
+ skip: (name, self, timeout = 5_000) => it.skip(name, c => pipe(Effect.suspend(() => self(c)), Effect.provide(TestEnv), runTest), timeout),
48
+ only: (name, self, timeout = 5_000) => it.only(name, c => pipe(Effect.suspend(() => self(c)), Effect.provide(TestEnv), runTest), timeout)
33
49
  });
34
50
  })();
35
51
  /**
36
52
  * @since 1.0.0
37
53
  */
38
- export const live = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.runPromise), timeout);
54
+ export const live = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), runTest), timeout);
39
55
  /**
40
56
  * @since 1.0.0
41
57
  */
@@ -43,11 +59,11 @@ export const flakyTest = (self, timeout = Duration.seconds(30)) => pipe(Effect.c
43
59
  /**
44
60
  * @since 1.0.0
45
61
  */
46
- export const scoped = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.scoped, Effect.provide(TestEnv), Effect.runPromise), timeout);
62
+ export const scoped = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.scoped, Effect.provide(TestEnv), runTest), timeout);
47
63
  /**
48
64
  * @since 1.0.0
49
65
  */
50
- export const scopedLive = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.scoped, Effect.runPromise), timeout);
66
+ export const scopedLive = (name, self, timeout = 5_000) => it(name, c => pipe(Effect.suspend(() => self(c)), Effect.scoped, runTest), timeout);
51
67
  const methods = {
52
68
  effect,
53
69
  live,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Duration","Effect","Equal","pipe","Layer","Logger","Schedule","TestEnvironment","Utils","V","TestEnv","TestContext","provide","remove","defaultLogger","customTester","a","b","customTesters","isEqual","undefined","structuralRegion","equals","x","y","filter","t","addEqualityTesters","expect","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":[]}
1
+ {"version":3,"file":"index.js","names":["Cause","Duration","Effect","Equal","Exit","pipe","Layer","Logger","Schedule","TestEnvironment","Utils","V","runTest","effect","gen","exit","isSuccess","errors","prettyErrors","cause","i","length","logError","runPromise","then","f","TestEnv","TestContext","provide","remove","defaultLogger","customTester","a","b","customTesters","isEqual","undefined","structuralRegion","equals","x","y","filter","t","addEqualityTesters","expect","name","self","timeout","it","c","suspend","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.4.5",
3
+ "version": "0.5.0",
4
4
  "description": "A set of helpers for testing Effects 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": "^3.1.6"
14
+ "effect": "^3.2.0"
15
15
  },
16
16
  "publishConfig": {
17
17
  "provenance": true
package/src/index.ts CHANGED
@@ -2,9 +2,11 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import type { Tester, TesterContext } from "@vitest/expect"
5
+ import * as Cause from "effect/Cause"
5
6
  import * as Duration from "effect/Duration"
6
7
  import * as Effect from "effect/Effect"
7
8
  import * as Equal from "effect/Equal"
9
+ import * as Exit from "effect/Exit"
8
10
  import { pipe } from "effect/Function"
9
11
  import * as Layer from "effect/Layer"
10
12
  import * as Logger from "effect/Logger"
@@ -16,6 +18,22 @@ import * as Utils from "effect/Utils"
16
18
  import type { TestAPI } from "vitest"
17
19
  import * as V from "vitest"
18
20
 
21
+ const runTest = <E, A>(effect: Effect.Effect<A, E>) =>
22
+ Effect.gen(function*() {
23
+ const exit: Exit.Exit<A, E> = yield* Effect.exit(effect)
24
+ if (Exit.isSuccess(exit)) {
25
+ return () => {}
26
+ } else {
27
+ const errors = Cause.prettyErrors(exit.cause)
28
+ for (let i = 1; i < errors.length; i++) {
29
+ yield* Effect.logError(errors[i])
30
+ }
31
+ return () => {
32
+ throw errors[0]
33
+ }
34
+ }
35
+ }).pipe(Effect.runPromise).then((f) => f())
36
+
19
37
  /**
20
38
  * @since 1.0.0
21
39
  */
@@ -58,7 +76,7 @@ export const effect = (() => {
58
76
  pipe(
59
77
  Effect.suspend(() => self(c)),
60
78
  Effect.provide(TestEnv),
61
- Effect.runPromise
79
+ runTest
62
80
  ),
63
81
  timeout
64
82
  )
@@ -74,7 +92,7 @@ export const effect = (() => {
74
92
  pipe(
75
93
  Effect.suspend(() => self(c)),
76
94
  Effect.provide(TestEnv),
77
- Effect.runPromise
95
+ runTest
78
96
  ),
79
97
  timeout
80
98
  ),
@@ -89,7 +107,7 @@ export const effect = (() => {
89
107
  pipe(
90
108
  Effect.suspend(() => self(c)),
91
109
  Effect.provide(TestEnv),
92
- Effect.runPromise
110
+ runTest
93
111
  ),
94
112
  timeout
95
113
  )
@@ -109,7 +127,7 @@ export const live = <E, A>(
109
127
  (c) =>
110
128
  pipe(
111
129
  Effect.suspend(() => self(c)),
112
- Effect.runPromise
130
+ runTest
113
131
  ),
114
132
  timeout
115
133
  )
@@ -150,7 +168,7 @@ export const scoped = <E, A>(
150
168
  Effect.suspend(() => self(c)),
151
169
  Effect.scoped,
152
170
  Effect.provide(TestEnv),
153
- Effect.runPromise
171
+ runTest
154
172
  ),
155
173
  timeout
156
174
  )
@@ -169,7 +187,7 @@ export const scopedLive = <E, A>(
169
187
  pipe(
170
188
  Effect.suspend(() => self(c)),
171
189
  Effect.scoped,
172
- Effect.runPromise
190
+ runTest
173
191
  ),
174
192
  timeout
175
193
  )