Skip to content

Latest commit

 

History

History
757 lines (451 loc) · 42.1 KB

CHANGELOG.md

File metadata and controls

757 lines (451 loc) · 42.1 KB

@effect/vitest

0.12.1

Patch Changes

  • Updated dependencies [61a99b2]:
    • effect@3.9.2

0.12.0

Minor Changes

  • #3744 9fef880 Thanks @tim-smart! - expose hook timeout option to vitest layer api

0.11.1

Patch Changes

  • Updated dependencies [3b2ad1d]:
    • effect@3.9.1

0.11.0

Patch Changes

0.10.6

Patch Changes

0.10.5

Patch Changes

  • #3689 4d91f41 Thanks @tim-smart! - add layer api to @effect/vitest

    This allows you to share a Layer between multiple tests, optionally wrapping the tests in a describe block.

    import { expect, layer } from "@effect/vitest"
    import { Context, Effect, Layer } from "effect"
    
    class Foo extends Context.Tag("Foo")<Foo, "foo">() {
      static Live = Layer.succeed(Foo, "foo")
    }
    
    class Bar extends Context.Tag("Bar")<Bar, "bar">() {
      static Live = Layer.effect(
        Bar,
        Effect.map(Foo, () => "bar" as const)
      )
    }
    
    layer(Foo.Live)("layer", (it) => {
      it.effect("adds context", () =>
        Effect.gen(function* () {
          const foo = yield* Foo
          expect(foo).toEqual("foo")
        })
      )
    
      it.layer(Bar.Live)("nested", (it) => {
        it.effect("adds context", () =>
          Effect.gen(function* () {
            const foo = yield* Foo
            const bar = yield* Bar
            expect(foo).toEqual("foo")
            expect(bar).toEqual("bar")
          })
        )
      })
    })

0.10.4

Patch Changes

  • Updated dependencies [4509656]:
    • effect@3.8.4

0.10.3

Patch Changes

  • Updated dependencies [bb5ec6b]:
    • effect@3.8.3

0.10.2

Patch Changes

  • Updated dependencies [f0d8ef1]:
    • effect@3.8.2

0.10.1

Patch Changes

0.10.0

Patch Changes

0.9.3

Patch Changes

  • Updated dependencies [35a0f81]:
    • effect@3.7.3

0.9.2

Patch Changes

0.9.1

Patch Changes

0.9.0

Patch Changes

0.8.9

Patch Changes

  • Updated dependencies [e809286]:
    • effect@3.6.8

0.8.8

Patch Changes

  • Updated dependencies [50ec889]:
    • effect@3.6.7

0.8.7

Patch Changes

0.8.6

Patch Changes

0.8.5

Patch Changes

0.8.4

Patch Changes

  • Updated dependencies [04adcac]:
    • effect@3.6.3

0.8.3

Patch Changes

  • Updated dependencies [fd4b2f6]:
    • effect@3.6.2

0.8.2

Patch Changes

  • #3416 8cc1517 Thanks @sukovanej! - Interrupt an effect when a test finishes. This ensures allocated resources will be correctly released even if the test times out.

    import { it } from "@effect/vitest"
    import { Console, Effect, Layer } from "effect"
    
    class Database extends Effect.Tag("Database")<Database, {}>() {
      static readonly test = Layer.scoped(
        Database,
        Effect.acquireRelease(
          Effect.as(Console.log("database setup"), Database.of({})),
          () => Console.log("database teardown")
        )
      )
    }
    
    it.live(
      "testing with closable resources",
      () =>
        Effect.gen(function* () {
          const database = yield* Database
          // performing some time consuming operations
          yield* Effect.sleep("500 millis")
        }).pipe(Effect.provide(Database.test)),
      { timeout: 100 }
    )

0.8.1

Patch Changes

0.8.0

Patch Changes

0.7.0

Minor Changes

Patch Changes

0.6.12

Patch Changes

0.6.11

Patch Changes

  • #3310 99bddcf Thanks @fubhy! - Added additional pure annotations to improve tree-shakeability

  • Updated dependencies [3afcc93, 99bddcf]:

    • effect@3.5.7

0.6.10

Patch Changes

0.6.9

Patch Changes

  • Updated dependencies [a9d7800]:
    • effect@3.5.5

0.6.8

Patch Changes

0.6.7

Patch Changes

0.6.6

Patch Changes

0.6.5

Patch Changes

  • Updated dependencies [55fdd76]:
    • effect@3.5.1

0.6.4

Patch Changes

0.6.3

Patch Changes

0.6.2

Patch Changes

0.6.1

Patch Changes

  • Updated dependencies [a5737d6]:
    • effect@3.4.7

0.6.0

Minor Changes

  • #3122 489d20a Thanks @sukovanej! - Refactor @effect/vitest package.

    • Clear separation of the public API and internals.
    • Fix type of scoped, live, scopedLive and effect objects. Make sure skip and only are available.
    • Add each method to scoped, live, scopedLive and effect objects.

    Example usage

    import { expect, it } from "@effect/vitest"
    import { Effect } from "effect"
    
    it.scoped.skip("test skipped", () =>
      Effect.acquireRelease(Effect.die("skipped anyway"), () => Effect.void)
    )
    
    it.effect.each([1, 2, 3])("effect each %s", (n) =>
      Effect.sync(() => expect(n).toEqual(n))
    )

Patch Changes

0.5.21

Patch Changes

  • Updated dependencies [a047af9]:
    • effect@3.4.5

0.5.20

Patch Changes

0.5.19

Patch Changes

0.5.18

Patch Changes

  • Updated dependencies [3da1497]:
    • effect@3.4.2

0.5.17

Patch Changes

  • Updated dependencies [66a1910]:
    • effect@3.4.1

0.5.16

Patch Changes

0.5.15

Patch Changes

  • Updated dependencies [6c89408]:
    • effect@3.3.5

0.5.14

Patch Changes

  • Updated dependencies [a67b8fe]:
    • effect@3.3.4

0.5.13

Patch Changes

0.5.12

Patch Changes

0.5.11

Patch Changes

0.5.10

Patch Changes

0.5.9

Patch Changes

0.5.8

Patch Changes

  • Updated dependencies [fb91f17]:
    • effect@3.2.8

0.5.7

Patch Changes

  • Updated dependencies [6801fca]:
    • effect@3.2.7

0.5.6

Patch Changes

  • #2869 7348505 Thanks @gcanti! - Update timeout parameter type in flakyTest function to accept DurationInput

  • Updated dependencies [cc8ac50]:

    • effect@3.2.6

0.5.5

Patch Changes

0.5.4

Patch Changes

0.5.3

Patch Changes

  • Updated dependencies [45578e8]:
    • effect@3.2.3

0.5.2

Patch Changes

0.5.1

Patch Changes

  • Updated dependencies [c1e991d]:
    • effect@3.2.1

0.5.0

Minor Changes

Patch Changes

0.4.5

Patch Changes

0.4.4

Patch Changes

  • Updated dependencies [6ac4847]:
    • effect@3.1.5

0.4.3

Patch Changes

0.4.2

Patch Changes

  • Updated dependencies [1f6dc96]:
    • effect@3.1.3

0.4.1

Patch Changes

  • Updated dependencies [2e1cdf6]:
    • effect@3.1.2

0.4.0

Minor Changes

Patch Changes

  • Updated dependencies [e5e56d1]:
    • effect@3.1.1

0.3.9

Patch Changes

0.3.8

Patch Changes

0.3.7

Patch Changes

  • Updated dependencies [18de56b]:
    • effect@3.0.7

0.3.6

Patch Changes

0.3.5

Patch Changes

0.3.4

Patch Changes

  • Updated dependencies [9a24667]:
    • effect@3.0.4

0.3.3

Patch Changes

  • Updated dependencies [a7b4b84]:
    • effect@3.0.3

0.3.2

Patch Changes

0.3.1

Patch Changes

0.3.0

Minor Changes

Patch Changes

0.2.7

Patch Changes

0.2.6

Patch Changes

  • Updated dependencies [dadc690]:
    • effect@2.4.18

0.2.5

Patch Changes

0.2.4

Patch Changes

  • Updated dependencies [5170ce7]:
    • effect@2.4.16

0.2.3

Patch Changes

0.2.2

Patch Changes

  • Updated dependencies [6180c0c]:
    • effect@2.4.14

0.2.1

Patch Changes

0.2.0

Minor Changes

  • #2394 b6ee13b Thanks @mikearnaldi! - Fix helper signatures removing support for passing effects as discriminating between effects and functions is not safe

    Re-export vitest with patched "it"

Patch Changes

0.1.1

Patch Changes

0.1.0

Minor Changes

Patch Changes