mirror of
https://github.com/elastic/kibana.git
synced 2025-04-25 02:09:32 -04:00
## Summary This removes some indavertent testing of third-party APIs/implementations caused by directly passing the result of a `render()` call to `toMatchSnapshot()`. In all cases, this was solved by passing `render().container` (the root element rendered by the testing library) instead. These changes remove implementation details of both styled-components (#192368 being the reason for this commit) and testing-library from the snapshots. ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios |
||
---|---|---|
.. | ||
src | ||
index.ts | ||
jest.config.js | ||
kibana.jsonc | ||
package.json | ||
README.md | ||
setup_test.ts | ||
tsconfig.json |
@kbn/securitysolution-exception-list-components
Common exceptions' components
Aim
- To have most of the Exceptions' components in one place, to be shared accross multiple pages and used for different logic.
- This
package
holds the presetational part of the components only as the API or the logic part should reside under the consumer page
Pattern used
component
index.tsx
index.styles.ts <-- to hold styles if the component has many custom styles
use_component.ts <-- for logic if the Presentational Component has logic
component.test.tsx
use_component.test.tsx
Testing
In order to unify our testing tools, we configured only two libraries, the React-Testing-Library
to test the component UI part and the Reat-Testing-Hooks
to test the component's UI interactions
Styling
In order to follow the KBN-Packages's
recommendations, to define a custom CSS we can only use the @emotion/react
or @emotion/css
libraries
Next
- Now the
ExceptionItems, ExceptionItemCard and ExceptionItemCardMetaInfo
receivesecurityLinkAnchorComponent, exceptionsUtilityComponent , and exceptionsUtilityComponent
as props to avoid moving all thecommon
components under thex-pack
at once, later we should move all building blocks to thiskbn-package