appia
v1.0.0
Published
Appia library
Downloads
1
Readme
@appia librariry
I choosed the name of the library in memory of my grandfather, who was a great man ! Now that i have been a bit emotional lets dive into it !
Testing
Testing our react component is something that can be (sometimes) stressfull and painfull, let's face it. With this i tend to offer a set of usefful utils to facilitate the case of the unit tests with snapshot in react.
I used react-testing-library to help me in the effort to offer something of quality and that is, under the hood, maintained by a large community.
The packages in this repo will cover redux
and react
tests with / without react-router
, graphql
etc...
Getting started
Every packages are indepedant wich means you have to install them independently.
with yarn
yarn add -D @appia/component-test-utils
etc...
with npm
npm install --dev @appia/component-test-utils
etc...
Examples
component-test-utils
import { itTestsAllMutations } from '@appia/component-test-utils';
import MyComponent from '../';
const testSets = {
component: MyComponent,
mutations: [{
name: 'with props',
props: {
name: 'Markdown',
date: Date.now(),
},
state: {
resume: 'Some stuffs going on here....'
}
}, {
name: 'without state',
props: {
name: 'Markdown',
date: Date.now(),
},
}, {
name: 'with routing',
path: '/markdown_path',
}, {
name: 'without props'
}]
};
const { component, mutations } = testSets;
itTestsAllMutations(component, mutations);
redux-test-utils
import { itTestsCreateReducers } from '@appia/redux-test-utils';
import reducers, { initPage, initialState } from '..'; // supposed everything is there
// return a function to pass down props
const itShouldRetunsCorrectResults = itTestsCreateReducers(reducers, initialState);
// actual tests
itShouldRetunsCorrectResults({
action: initPage,
mutations: [{
name: 'initPage tests',
props: {
user: 'Markdown user'
},
}],
});
Available packages
- [x] Test reducers / actions / initial state
- [x] Test react component with state / props
- [x] Test react component with aboves and react-router
- [ ] Test react component with aboves and Redux
- [ ] Test react component with aboves and graphql
Contribute
Everyone is free to contribute or to ask for new features. If you have some issues do not hesitate to report it !