Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I felt that avatar-generator needed some testing.
This PR setup the testing environment using
bs-jest
/bs-react-testing-library
and add some tests here and there.It's not much, but it's always better to have some tests.
Testing a ReasonReact component
bs-react-testing-library + bs-jest
I created a wrapper component called
TestId
which pass the data-testid (used byreact-testing-library
) props to its children.As Reason doesn’t support using props with dashes.
I don't really like this method as it requires adding extra code to the source files, but it works.
1 - Wrap your component using the
TestId
Wrapper inside your source file2 - Render your component inside your test file
3 - You can query your elements using your
data-testid
or using other queries (queryByLabelText
,queryByTitle
,queryByText
...) and fire some events.Testing a Reason function
bs-jest
NOTE: I had to add a
babel.config.js
file and atransformIgnorePatterns
options in thejest
configuration because of the es6 modules (related issue).I also had to add the preset
babel-preset-gatsby
because gatsby returned an error during the compilation if I did not specify it.