diff --git a/package.json b/package.json index 4436388..a595faa 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "eslint-plugin-simple-import-sort": "^5.0.3", "eslint-plugin-standard": "^4.0.1", "husky": "^4.2.5", - "jest": "^26.0.1", + "jest": "^27.0.6", "jest-watch-typeahead": "^0.6.0", "lint-staged": "^10.2.11", "preact": "^10.0.0-rc.1", @@ -114,6 +114,7 @@ ] }, "jest": { + "testEnvironment": "jsdom", "watchPlugins": [ "typeahead/filename", "typeahead/testname" diff --git a/src/__tests__/events.js b/src/__tests__/events.js index ff0d4e2..921c0b6 100644 --- a/src/__tests__/events.js +++ b/src/__tests__/events.js @@ -125,15 +125,18 @@ const eventTypes = [ type: 'Transition', events: ['transitionEnd'], elementType: 'div' + }, + { + type: 'Pointer', + events: ['pointerEnter', 'pointerLeave'], + elementType: 'div' } ] -eventTypes.forEach(({ - type, events, elementType, init -}) => { +eventTypes.forEach(({ type, events, elementType, init }) => { describe(`${type} Events`, () => { events.forEach((eventName) => { - const eventProp = `on${eventName.toLowerCase()}` + const eventProp = `on${eventName[0].toUpperCase() + eventName.slice(1)}` it(`triggers ${eventProp}`, () => { const ref = createRef() @@ -146,7 +149,7 @@ eventTypes.forEach(({ }) ) - fireEvent[eventName](ref.current, init) + expect(fireEvent[eventName](ref.current, init)).toBe(true) expect(spy).toHaveBeenCalledTimes(1) }) @@ -157,28 +160,36 @@ eventTypes.forEach(({ test('onInput works', () => { const handler = jest.fn() - const { container: { firstChild: input } } = render( - () - ) + const { + container: { firstChild: input } + } = render() - fireEvent.input(input, { target: { value: 'a' } }) + expect(fireEvent.input(input, { target: { value: 'a' } })).toBe(true) expect(handler).toHaveBeenCalledTimes(1) }) test('calling `fireEvent` directly works too', () => { - const handleEvent = jest.fn() + const handler = jest.fn() - const { container: { firstChild: button } } = render( - (