bs-jest-dom

BuckleScript bindings for jest-dom.


Keywords
bucklescript, testing, jest, dom
License
MIT
Install
npm install bs-jest-dom@4.1.1

Documentation

bs-jest-dom · Build Status npm Coveralls

BuckleScript bindings for jest-dom.

Installation

$ yarn add --dev bs-jest-dom

# or..

$ npm install --save-dev bs-jest-dom

Usage

Add to bsconfig.json

{
  "bs-dev-dependencies": ["bs-jest-dom"]
}

With bs-jest and bs-react-testing-library

/* Heading_test.re */

open Jest;
open Expect;
open JestDom;
open ReactTestingLibrary;

module Heading = {
  let component = ReasonReact.statelessComponent("Heading");

  let make = (~text, _children) => {
    ...component,
    render: _self =>
      <h1> {ReasonReact.string(text)} </h1>,
  };
};

test("renders in the document", () =>
  <Heading text="Hello, World!" />
  |> render
  |> getByText(~matcher=`Str("Hello, World!"))
  |> expect
  |> toBeInTheDocument
);

With bs-jest and bs-webapi

/* Heading_test.re */

open Jest;
open Expect;
open JestDom;
open Webapi.Dom;
open Webapi.Dom.Element;

test("heading is visible", () => {
  let div = Document.createElement("div", document);

  div->setInnerHTML("<h1>Hello, World!</h1>");

  div
  |> querySelector("h1")
  |> expect
  |> toBeVisible;
});

Examples

See src/__tests__ for some examples.

Development

$ git clone https://github.com/wyze/bs-jest-dom.git
$ cd bs-jest-dom
$ yarn # or `npm install`

Build

$ yarn build

Test

$ yarn test

Change Log

Full Change Log

v2.0.2 (2020-04-12)

  • Upgrade devDependencies to latest versions (@wyze in b9302fa)
  • Move bs-jest to devDependencies (@jihchi in #11)

License

MIT © Neil Kistner