Skip to content

Commit fb044e4

Browse files
authored
Test <Touch /> component (#93)
1 parent 81d8573 commit fb044e4

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"clean": "rimraf dist",
1919
"typecheck:flow": "flow check --max-warnings=0",
2020
"lint": "eslint src",
21-
"test:only": "npm run build:code && jest",
21+
"test:only": "jest",
2222
"test:umd": "jest --setupTestFrameworkScriptFile ./tests/jestUMDSetup.js",
2323
"test:cjs": "jest --setupTestFrameworkScriptFile ./tests/jestCJSSetup.js",
2424
"test": "npm run build && npm run lint && jest && npm run test:umd && npm run test:cjs",

tests/components/Touch.test.js

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,32 @@
11
import * as React from 'react'
22
import TestRenderer from 'react-test-renderer'
33
import { Touch } from '../../src'
4+
import { last } from './utils'
45

56
test('<Touch />', () => {
67
const renderFn = jest.fn().mockReturnValue(null)
78
TestRenderer.create(<Touch render={renderFn} />)
8-
// TODO
9+
const lastCalled = () => last(renderFn.mock.calls)[0]
10+
11+
expect(renderFn).toHaveBeenCalledTimes(1)
12+
expect(lastCalled().isTouched).toEqual(false)
13+
14+
lastCalled().bind.onTouchStart()
15+
expect(lastCalled().isTouched).toEqual(true)
16+
17+
lastCalled().bind.onTouchEnd()
18+
expect(lastCalled().isTouched).toEqual(false)
19+
})
20+
21+
test('<Touch onChange />', () => {
22+
const renderFn = jest.fn().mockReturnValue(null)
23+
const onChangeFn = jest.fn()
24+
const lastCalled = () => last(renderFn.mock.calls)[0]
25+
TestRenderer.create(<Touch onChange={onChangeFn} render={renderFn} />)
26+
27+
expect(onChangeFn).toHaveBeenCalledTimes(0)
28+
29+
lastCalled().bind.onTouchStart()
30+
expect(onChangeFn).toHaveBeenCalledTimes(1)
31+
expect(onChangeFn).lastCalledWith({ isTouched: true })
932
})

0 commit comments

Comments
 (0)