1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-06 16:48:01 +00:00

Add Check That A Component Renders As Null as a react-testing-library til

This commit is contained in:
jbranchaud
2020-09-30 16:15:08 -05:00
parent d5cce0e527
commit 1e0ce58e15
2 changed files with 39 additions and 1 deletions

View File

@@ -0,0 +1,37 @@
# Check That A Component Renders As Null
Consider a component that sometimes renders as `null`.
```javascript
const HiddenMessage = ({ message, hidden }) => {
if (hidden) return null;
return <span>{message}</span>;
};
```
How can we test the version of this component that renders as `null` when
`hidden` is `true`?
When
[react-testing-library](https://testing-library.com/docs/react-testing-library/intro)
renders a component, it wraps the whole thing in a surrounding `<div>`. Knowing
this, we can check if a component renders to `null` by checking the contents of
the wrapping `<div>` container.
```javascript
import React from "react";
import { render } from "@testing-library/react";
import "@testing-library/jest-dom/extend-expect";
test("renders as null", () => {
const { container } = render(
<HiddenMessage hidden message="You can't see me!" />
);
expect(container.firstChild).toBeNull();
});
```
The component renders as `null`, so the `firstChild` of the RTL `container`
will be `null`.