Warning: currently chai-react-suite is not tested well on different enviorments. It works for my project, but may not play well for your's. Please open issue if you have problems.
Testing components
Contents
describeComponent
(render
function andhelpers
)- Ensure that component render given text
- Ensure that component's el/nested el has given class/text/attr
- Ensure that component renders another component with given props/children
- Ensure that component render collection of components (with props/children)
- Ensure that component bind events
- Ensure that component bind events
- Ensure that component calls given actions
- Testing component mixins
describeComponent
describeComponent
is a helper that simplify process of testing components.
Basically it does:
- Prepares playground on
beforeEach
(you will have empty block where you can render component in test). - Creates
render
function that accepts props and children and that returns rendered DOM el;render
passed as first argument to context function. - Passes helpers to context function as second argument.
var Component = ;;
render
It accepts:
props
-Object
with props that will be passed to component (optional, can benull
),children
-*
, children that will be passed to component (optional).
// Will render described component with `{ color: 'red' }` as props and// `'Children'` as children.;
render
have with
function that binds props and children to render
:
var bindedRender = render;// Will render described component with `{ color: 'red' }` as props and// `'Children'` as children.;
helpers
TODO
Ensure that component render given text
;
Ensure that component's el/nested el has given class/text/attr
Compound expectation
Root element:
;
Nested element:
;
Has class name
torenderel;
Match selector
torenderel;
Attr expectation
torenderel;
Attrs expectation
torenderel;
Prop expectation
torenderel;
Props expectation
torenderel;
Has value
torenderel;
Nested el
torenderel;
Ensure that component renders another component with given props/children
Component:
;
Component with props and children (expect props equality):
;
Fuzzy match of props:
;
Ensure that component render collection of components (with props/children)
Works the same way as component
but instead of props and children as second
and thrid arguments it accepts array of arrays.
;
Ensure that component bind events
TODO
Ensure that component calls given actions
TODO
Testing component mixins
TODO