BuckleScript bindings for jest-dom.
$ yarn add --dev bs-jest-dom
# or..
$ npm install --save-dev bs-jest-dom
If you don't have @glennsl/bs-jest
already installed run
$ yarn add --dev @glennsl/bs-jest
# or..
$ npm install --save-dev @glennsl/bs-jest
{
"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
);
/* 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;
});
See src/__tests__
for some examples.
$ git clone https://github.com/wyze/bs-jest-dom.git
$ cd bs-jest-dom
$ yarn add @glennsl/bs-jest # or `npm install @glennsl/bs-jest`
$ yarn # or `npm install`
$ yarn build
$ yarn test
v2.0.0 (2019-03-11)
- Rewrite to better interface with bs-jest (@wyze in 010b440)
- Meta file updates (@wyze in 3484f0d)
- Upgrade dependencies (@wyze in 0323b1a)
- Update yarn lock with integrity hashes (@caulagi in #1)
MIT © Neil Kistner