Skip to content

Instantly share code, notes, and snippets.

View oieduardorabelo's full-sized avatar

Eduardo Rabelo oieduardorabelo

View GitHub Profile
@oieduardorabelo
oieduardorabelo / Sidebar-test.jsx
Last active June 16, 2017 10:12 — forked from stipsan/Sidebar-test.jsx
Testando com Jest: Dica #1
import renderer from 'react-test-renderer'
import Sidebar from '../Sidebar'
jest.mock('react-router-dom/Link', () => 'Link')
it('should render correctly', () => {
const component = renderer.create(<Sidebar />)
expect(component.toJSON()).toMatchSnapshot()
})
@oieduardorabelo
oieduardorabelo / Sidebar-test.jsx
Last active June 16, 2017 10:12 — forked from stipsan/Sidebar-test.jsx
Testando com Jest: Dica #2
import renderer from 'react-test-renderer'
import Sidebar from '../Sidebar'
jest.mock('react-router-dom', () => ({ Link: 'Link' }))
it('should render correctly', () => {
const component = renderer.create(<Sidebar />)
expect(component.toJSON()).toMatchSnapshot()
})
@oieduardorabelo
oieduardorabelo / Select-test.jsx
Last active June 16, 2017 09:39 — forked from stipsan/Select-test.jsx
Testando com Jest: Dica #3
import renderer from 'react-test-renderer'
import Select from '../Select'
jest.mock('react-select', () => {
const { createElement } = require('react')
// Perceba que como estamos mockando 'react-select'
// nós precisamos usar require.requireActual, dentro do nosso mock
// A melhor analogia aqui é o filme Inception, naquela parte do
// sonho dentro do sonho, espero que você tenha assistido! :P
const ReactSelect = require.requireActual('react-select')
@oieduardorabelo
oieduardorabelo / Header-test.jsx
Last active June 16, 2017 09:42 — forked from stipsan/Header-test.jsx
Testando com Jest: Dica #4
import renderer from 'react-test-renderer'
import Header from '../Header'
import store from '../store'
jest.mock('react-redux-loading-bar', () => {
const ReactReduxLoadingBar = require.requireActual('react-redux-loading-bar')
return {
// Operação "spread" do módulo original
...ReactReduxLoadingBar,
@oieduardorabelo
oieduardorabelo / Sidebar-test.jsx
Last active June 16, 2017 09:43 — forked from stipsan/Sidebar-test.jsx
Testando com Jest: Dica #5
import renderer from 'react-test-renderer'
import Sidebar from '../Sidebar'
jest.mock('react-router-dom', () => ({
Link: 'Link',
Route: ({ children, path }) => children({ match: path === '/somewhere' })
}))
it('should render correctly', () => {
const component = renderer.create(<Sidebar />)
@oieduardorabelo
oieduardorabelo / App-test.jsx
Last active June 16, 2017 09:44 — forked from stipsan/App-test.jsx
Testando com Jest: Dica #6
import renderer from 'react-test-renderer'
import App from '../App'
jest.mock('react-router-dom', () => ({
Link: 'Link',
Route: ({ children, ...props }) =>
typeof children === 'function'
? children({ match: path === '/somewhere' })
: createElement('Route', props)
}))
@oieduardorabelo
oieduardorabelo / App-test.jsx
Last active June 16, 2017 09:46 — forked from stipsan/App-test.jsx
Testando com Jest: Dica #7
import renderer from 'react-test-renderer'
import App from '../App'
// O snapshot gerado é extamente igual ao exemplo anterior
// É possível sobrescrever o nosso mock padrão
// usando o mesmo método jest.mock, caso esse teste
// precise de um comportamento diferente
it('should render correctly', () => {
const component = renderer.create(<App />)
@oieduardorabelo
oieduardorabelo / package.json
Created June 16, 2017 09:47 — forked from stipsan/package.json
Testando com Jest: Dica #8
{
"jest": {
"setupFiles": [
"<rootDir>/test-setup.js"
]
}
}
@oieduardorabelo
oieduardorabelo / package.json
Last active June 16, 2017 09:49 — forked from stipsan/package.json
Testando com Jest: Dica #9
{
"jest": {
"setupFiles": [
"<rootDir>/test-setup.js"
]
}
}
@oieduardorabelo
oieduardorabelo / Input-test.jsx
Last active June 16, 2017 09:50 — forked from stipsan/Input-test.jsx
Testando com Jest: Dica #10
import renderer from 'react-test-renderer'
import Input from '../Input'
it('should render correctly', () => {
const component = renderer.create(<Input />)
expect(component.toJSON()).toMatchSnapshot()
// getInstance está retornando o objeto `this` que você tem no seu componente
// significando que todos os métodos que você tem no seu componente, podem ser
// acesso aqui, incluindo props!