diff --git a/.babelrc b/.babelrc
deleted file mode 100644
index 8bf094f5..00000000
--- a/.babelrc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "presets": ["es2015", "react"],
- "plugins": ["transform-object-assign"],
- "ignore": "node_modules"
-}
diff --git a/babel.config.json b/babel.config.json
new file mode 100644
index 00000000..68c8efeb
--- /dev/null
+++ b/babel.config.json
@@ -0,0 +1,16 @@
+{
+ "presets": [
+ [
+ "@babel/env",
+ {
+ "targets": "> 0.25%, not dead, ie >= 11",
+ "useBuiltIns": "usage",
+ "corejs": "3.6"
+ }
+ ],
+ "@babel/preset-react"
+ ],
+ "plugins": [
+ "@babel/plugin-transform-object-assign"
+ ]
+}
diff --git a/package.json b/package.json
index 93ed622e..373dc178 100644
--- a/package.json
+++ b/package.json
@@ -16,28 +16,31 @@
"moment": "^2.10.2",
"numbro": "^1.7.1",
"paths-js": "^0.4.3",
+ "react": "^15.6.2",
"react-addons-css-transition-group": "^15.5.2",
"react-addons-pure-render-mixin": "^15.5.2",
+ "react-dom": "^15.6.2",
"react-tween-state": "0.1.5",
"remarkable": "^1.6.0"
},
"devDependencies": {
- "babel-core": "^6.11.4",
- "babel-jest": "^14.1.0",
- "babel-plugin-transform-object-assign": "^6.8.0",
- "babel-preset-es2015": "^6.3.13",
- "babel-preset-react": "^6.3.13",
- "babel-register": "^6.14.0",
- "babelify": "^7.3.0",
- "browserify": "~13.0.0",
+ "@babel/core": "^7.10.2",
+ "@babel/plugin-transform-object-assign": "^7.10.1",
+ "@babel/preset-env": "^7.10.2",
+ "@babel/preset-react": "^7.10.1",
+ "@babel/register": "^7.10.1",
+ "babel-jest": "^26.0.1",
+ "babelify": "^10.0.0",
+ "browserify": "^16.5.1",
"chai": "^3.5.0",
"compression": "~1.6.1",
+ "core-js": "^3.6.5",
"enzyme": "^2.4.1",
"express": "~4.14.0",
"gulp": "~3.9.1",
"gulp-autoprefixer": "~3.1.0",
"gulp-awspublish": "~3.2.0",
- "gulp-babel": "^6.1.2",
+ "gulp-babel": "^8.0.0",
"gulp-clean": "^0.3.2",
"gulp-concat": "~2.6.0",
"gulp-cssnano": "^2.1.1",
@@ -49,7 +52,8 @@
"gulp-sourcemaps": "^1.6.0",
"gulp-uglify": "~2.0.0",
"gulp-util": "~3.0.1",
- "jest-cli": "^16.0.0",
+ "jest-cli": "^26.0.1",
+ "jsdom": "^16.2.2",
"jshint-stylish": "~2.2.0",
"mocha": "^3.0.1",
"morgan": "~1.7.0",
diff --git a/src/components/address/AddressLookup/__tests__/AddressLookup-test.js b/src/components/address/AddressLookup/__tests__/AddressLookup-test.js
index cdae88d3..5d3ed77f 100644
--- a/src/components/address/AddressLookup/__tests__/AddressLookup-test.js
+++ b/src/components/address/AddressLookup/__tests__/AddressLookup-test.js
@@ -1,7 +1,7 @@
jest.disableAutomock()
jest.mock('../../../../api/address')
-jest.useFakeTimers()
+jest.useFakeTimers('modern')
import address from '../../../../api/address'
import React from 'react'
@@ -142,7 +142,7 @@ describe('AddressLookup', function () {
beforeEach(function () {
address.find.mockClear()
address.search.mockClear()
- validate = jest.genMockFunction()
+ validate = jest.fn(() => {})
element = TestUtils.renderIntoDocument()
element.setList(addressSearchResult)
@@ -187,7 +187,7 @@ describe('AddressLookup', function () {
})
it('allows you to reset the address', function () {
- var validate = jest.genMockFunction()
+ var validate = jest.fn(() => {})
var element = TestUtils.renderIntoDocument()
var resetButton = findByClass(element, 'AddressLookup__reset')
TestUtils.Simulate.click(resetButton)
diff --git a/src/components/amount/Amount/__tests__/Amount-tests.js b/src/components/amount/Amount/__tests__/Amount-tests.js
index f220dd7b..e2e72c61 100644
--- a/src/components/amount/Amount/__tests__/Amount-tests.js
+++ b/src/components/amount/Amount/__tests__/Amount-tests.js
@@ -59,7 +59,7 @@ describe('Amount', function () {
})
it('exposes selected value through callback', function () {
- const callback = jest.genMockFunction()
+ const callback = jest.fn(() => {})
const element = mount()
expect(callback).lastCalledWith(700)
diff --git a/src/components/charities/PromoCharitiesResult/__tests__/PromoCharitiesResult-test.js b/src/components/charities/PromoCharitiesResult/__tests__/PromoCharitiesResult-test.js
index 56d1ebd0..f52f1f1c 100644
--- a/src/components/charities/PromoCharitiesResult/__tests__/PromoCharitiesResult-test.js
+++ b/src/components/charities/PromoCharitiesResult/__tests__/PromoCharitiesResult-test.js
@@ -29,7 +29,7 @@ describe('PromoCharitiesResult component default rendering', function () {
})
describe('Component behaviour when clicked or tapped', function () {
- var callback = jest.genMockFunction()
+ var callback = jest.fn(() => {})
var promoCharitiesResult =
var component = TestUtils.renderIntoDocument(promoCharitiesResult)
var link = findByClass(component, 'PromoCharitiesResult__link')
diff --git a/src/components/charities/PromoCharitiesResults/__tests__/PromoCharitiesResults-test.js b/src/components/charities/PromoCharitiesResults/__tests__/PromoCharitiesResults-test.js
index 93fd5855..13e4f8e7 100644
--- a/src/components/charities/PromoCharitiesResults/__tests__/PromoCharitiesResults-test.js
+++ b/src/components/charities/PromoCharitiesResults/__tests__/PromoCharitiesResults-test.js
@@ -7,7 +7,7 @@ var findByClass = TestUtils.findRenderedDOMComponentWithClass
var scryByClass = TestUtils.scryRenderedDOMComponentsWithClass
describe('PromoCharitiesResults', function () {
- var mockFunction = jest.genMockFunction()
+ var mockFunction = jest.fn(() => {})
var contents = [
{
category: 'test tab 1',
diff --git a/src/components/forms/Input/__tests__/Input-test.js b/src/components/forms/Input/__tests__/Input-test.js
index 0af49612..35dc1f78 100644
--- a/src/components/forms/Input/__tests__/Input-test.js
+++ b/src/components/forms/Input/__tests__/Input-test.js
@@ -48,10 +48,10 @@ describe('Input', function () {
})
it('will not execute methods when disabled', function () {
- var modal = jest.genMockFunction()
- var output = jest.genMockFunction()
- var mask = jest.genMockFunction()
- var validate = jest.genMockFunction()
+ var modal = jest.fn(() => {})
+ var output = jest.fn(() => {})
+ var mask = jest.fn(() => {})
+ var validate = jest.fn(() => {})
var element = TestUtils.renderIntoDocument()
var input = findByClass(element, 'Input__input')
TestUtils.Simulate.focus(input)
@@ -65,7 +65,7 @@ describe('Input', function () {
})
it('will execute modal function on focus', function () {
- var modal = jest.genMockFunction()
+ var modal = jest.fn(() => {})
var element = TestUtils.renderIntoDocument()
var input = findByClass(element, 'Input__input')
TestUtils.Simulate.focus(input)
@@ -78,7 +78,7 @@ describe('Input', function () {
})
it('will execute output function on change', function () {
- var output = jest.genMockFunction()
+ var output = jest.fn(() => {})
var element = TestUtils.renderIntoDocument()
var input = findByClass(element, 'Input__input')
TestUtils.Simulate.change(input, { target: { value: 'newValue' } })
@@ -86,7 +86,7 @@ describe('Input', function () {
})
it('will execute mask function on change', function () {
- var mask = jest.genMockFunction().mockReturnValue('newValue--masked')
+ var mask = jest.fn(() => {}).mockReturnValue('newValue--masked')
var element = TestUtils.renderIntoDocument()
var input = findByClass(element, 'Input__input')
TestUtils.Simulate.change(input, { target: { value: 'newValue' } })
@@ -95,8 +95,8 @@ describe('Input', function () {
})
it('will execute validate function, but not set state as invalid on blur if not required', function () {
- var validate = jest.genMockFunction()
- var setValid = jest.genMockFunction()
+ var validate = jest.fn(() => {})
+ var setValid = jest.fn(() => {})
var element = TestUtils.renderIntoDocument()
element.setValid = setValid
var input = findByClass(element, 'Input__input')
@@ -106,7 +106,7 @@ describe('Input', function () {
})
it('will execute validate function on blur if required', function () {
- var validate = jest.genMockFunction()
+ var validate = jest.fn(() => {})
var element = TestUtils.renderIntoDocument()
var input = findByClass(element, 'Input__input')
TestUtils.Simulate.change(input, { target: { value: 'testValue' } })
@@ -120,7 +120,7 @@ describe('Input', function () {
})
it('will execute validate function on load if has value', function () {
- var validate = jest.genMockFunction()
+ var validate = jest.fn(() => {})
var element = TestUtils.renderIntoDocument()
expect(validate).lastCalledWith('testValue', element.setValid)
var setValidCallback = validate.mock.calls[0][1]
diff --git a/src/components/forms/Select/__tests__/Select_test.js b/src/components/forms/Select/__tests__/Select_test.js
index 146e0808..71bd4525 100644
--- a/src/components/forms/Select/__tests__/Select_test.js
+++ b/src/components/forms/Select/__tests__/Select_test.js
@@ -41,7 +41,7 @@ describe('Select', function () {
})
it('will not execute methods when disabled', function () {
- var output = jest.genMockFunction()
+ var output = jest.fn(() => {})
var element = TestUtils.renderIntoDocument()
var selectInput = findByClass(element, 'Input__input')
TestUtils.Simulate.focus(selectInput)
@@ -52,7 +52,7 @@ describe('Select', function () {
})
it('will execute output function on option selected', function () {
- var output = jest.genMockFunction()
+ var output = jest.fn(() => {})
var element = TestUtils.renderIntoDocument()
var selectInput = findByClass(element, 'Input__input')
TestUtils.Simulate.change(selectInput, { target: { value: 'option3' } })
diff --git a/src/components/leaderboards/FitnessLeaderboardColHead/__tests__/FitnessLeaderboardColHead-test.js b/src/components/leaderboards/FitnessLeaderboardColHead/__tests__/FitnessLeaderboardColHead-test.js
index 7d42a182..ce2c0614 100644
--- a/src/components/leaderboards/FitnessLeaderboardColHead/__tests__/FitnessLeaderboardColHead-test.js
+++ b/src/components/leaderboards/FitnessLeaderboardColHead/__tests__/FitnessLeaderboardColHead-test.js
@@ -23,7 +23,7 @@ class TestWrapper extends React.Component {
describe('FitnessLeaderboardColHead', function () {
describe('Default behaviour', function () {
it('calls a function onclick', function () {
- var callback = jest.genMockFunction()
+ var callback = jest.fn(() => {})
var component = TestUtils.renderIntoDocument(
{}).mockImplementation(function (id, callback) {
callback(mockCampaignResponse)
})
})
diff --git a/src/components/leaderboards/LeaderboardPaging/__tests__/LeaderboardPaging-test.js b/src/components/leaderboards/LeaderboardPaging/__tests__/LeaderboardPaging-test.js
index 57cd409d..40cc04c9 100644
--- a/src/components/leaderboards/LeaderboardPaging/__tests__/LeaderboardPaging-test.js
+++ b/src/components/leaderboards/LeaderboardPaging/__tests__/LeaderboardPaging-test.js
@@ -9,7 +9,7 @@ describe('LeaderboardPaging', function () {
describe('component defaults', function () {
let leaderboardPaging
let component
- let callback = jest.genMockFunction()
+ let callback = jest.fn(() => {})
beforeEach(function () {
leaderboardPaging =
diff --git a/src/components/leaderboards/LeaderboardPagingButton/__tests__/LeaderboardPagingButton-test.js b/src/components/leaderboards/LeaderboardPagingButton/__tests__/LeaderboardPagingButton-test.js
index c05c46bb..0280f4ac 100644
--- a/src/components/leaderboards/LeaderboardPagingButton/__tests__/LeaderboardPagingButton-test.js
+++ b/src/components/leaderboards/LeaderboardPagingButton/__tests__/LeaderboardPagingButton-test.js
@@ -9,7 +9,7 @@ var findByClass = TestUtils.findRenderedDOMComponentWithClass
describe('LeaderboardPagingButton', function () {
var leaderboardPagingButton
var component
- var callback = jest.genMockFunction()
+ var callback = jest.fn(() => {})
var prevActiveClass = 'LeaderboardPagingButton__prev--active'
var nextActiveClass = 'LeaderboardPagingButton__next--active'
diff --git a/src/components/search/AggregateSearchModal/__tests__/AggregateSearchModal-test.js b/src/components/search/AggregateSearchModal/__tests__/AggregateSearchModal-test.js
index c9625657..d565e8e1 100644
--- a/src/components/search/AggregateSearchModal/__tests__/AggregateSearchModal-test.js
+++ b/src/components/search/AggregateSearchModal/__tests__/AggregateSearchModal-test.js
@@ -47,7 +47,7 @@ describe('AggregateSearchModal', function () {
describe('Selecting results', function () {
it('renders selectable results', function () {
- var onSelect = jest.genMockFunction()
+ var onSelect = jest.fn(() => {})
var element = TestUtils.renderIntoDocument(
{})
+ var mockClose = jest.fn(() => {})
searchModal =
var component = TestUtils.renderIntoDocument(searchModal)
diff --git a/src/components/search/AggregateSearchResult/__tests__/AggregateSearchResult-test.js b/src/components/search/AggregateSearchResult/__tests__/AggregateSearchResult-test.js
index 811db17d..4fe3fcd8 100644
--- a/src/components/search/AggregateSearchResult/__tests__/AggregateSearchResult-test.js
+++ b/src/components/search/AggregateSearchResult/__tests__/AggregateSearchResult-test.js
@@ -17,7 +17,7 @@ describe('AggregateSearchResult', function () {
})
it('calls onSelect on click', function () {
- var callback = jest.genMockFunction()
+ var callback = jest.fn(() => {})
var searchResult =
var component = TestUtils.renderIntoDocument(searchResult)
var element = findByClass(component, 'AggregateSearchResult')
diff --git a/src/components/search/CharitySearchModal/__tests__/CharitySearchModal-test.js b/src/components/search/CharitySearchModal/__tests__/CharitySearchModal-test.js
index 27b7230f..ee57249d 100644
--- a/src/components/search/CharitySearchModal/__tests__/CharitySearchModal-test.js
+++ b/src/components/search/CharitySearchModal/__tests__/CharitySearchModal-test.js
@@ -1,7 +1,7 @@
jest.disableAutomock()
jest.mock('../../../../api/charities')
-jest.useFakeTimers()
+jest.useFakeTimers('modern')
import charities from '../../../../api/charities'
const donateUrl = 'http://donate.url/'
@@ -145,7 +145,7 @@ describe('CharitySearchModal', function () {
})
it('links to charity url for default visit action', function () {
- let onClose = jest.genMockFunction()
+ let onClose = jest.fn(() => {})
let charitySearchModal =
let element = TestUtils.renderIntoDocument(charitySearchModal)
element.setState({ results: [charity] })
@@ -156,7 +156,7 @@ describe('CharitySearchModal', function () {
})
it('links to fundraise url for fundraise action', function () {
- let onClose = jest.genMockFunction()
+ let onClose = jest.fn(() => {})
let charitySearchModal =
let element = TestUtils.renderIntoDocument(charitySearchModal)
element.setState({ results: [charity] })
@@ -168,7 +168,7 @@ describe('CharitySearchModal', function () {
})
it('links to donate url for donate action', function () {
- let onClose = jest.genMockFunction()
+ let onClose = jest.fn(() => {})
let charitySearchModal =
let element = TestUtils.renderIntoDocument(charitySearchModal)
element.setState({ results: [charity] })
@@ -180,8 +180,8 @@ describe('CharitySearchModal', function () {
})
it('calls custom onSelect callback on charity select', function () {
- let onClose = jest.genMockFunction()
- let callback = jest.genMockFunction()
+ let onClose = jest.fn(() => {})
+ let callback = jest.fn(() => {})
let charitySearchModal =
let element = TestUtils.renderIntoDocument(charitySearchModal)
element.setState({ results: [charity] })
@@ -193,8 +193,8 @@ describe('CharitySearchModal', function () {
})
it('calls onClose on charity select when onSelect callback given', function () {
- let onClose = jest.genMockFunction()
- let callback = jest.genMockFunction()
+ let onClose = jest.fn(() => {})
+ let callback = jest.fn(() => {})
let charitySearchModal =
let element = TestUtils.renderIntoDocument(charitySearchModal)
element.setState({ results: [charity] })
diff --git a/src/components/search/CharitySearchModalCustom/__tests__/CharitySearchModal-test.js b/src/components/search/CharitySearchModalCustom/__tests__/CharitySearchModal-test.js
index b5c60df7..88056da6 100644
--- a/src/components/search/CharitySearchModalCustom/__tests__/CharitySearchModal-test.js
+++ b/src/components/search/CharitySearchModalCustom/__tests__/CharitySearchModal-test.js
@@ -1,7 +1,7 @@
jest.disableAutomock()
jest.mock('../../../../api/frolCharities')
-jest.useFakeTimers()
+jest.useFakeTimers('modern')
import charities from '../../../../api/frolCharities'
@@ -105,7 +105,7 @@ describe('CharitySearchModal', function () {
})
it('links to charity url for default visit action', function () {
- let onClose = jest.genMockFunction()
+ let onClose = jest.fn(() => {})
let charitySearchModal =
let element = TestUtils.renderIntoDocument(charitySearchModal)
element.setState({ results: [charity] })
diff --git a/src/components/search/PageSearchModal/__tests__/PageSearchModal-test.js b/src/components/search/PageSearchModal/__tests__/PageSearchModal-test.js
index 4f683743..9fe157c3 100644
--- a/src/components/search/PageSearchModal/__tests__/PageSearchModal-test.js
+++ b/src/components/search/PageSearchModal/__tests__/PageSearchModal-test.js
@@ -1,7 +1,7 @@
jest.disableAutomock()
jest.mock('../../../../api/pages')
-jest.useFakeTimers()
+jest.useFakeTimers('modern')
import pages from '../../../../api/pages'
import React from 'react'
@@ -219,8 +219,8 @@ describe('Searching', function () {
})
it('allows custom callback on page select', function () {
- const onClose = jest.genMockFunction()
- const callback = jest.genMockFunction()
+ const onClose = jest.fn(() => {})
+ const callback = jest.fn(() => {})
const pageSearchModal = (
{})
+ const callback = jest.fn(() => {})
const pageSearchModal = (
let element = TestUtils.renderIntoDocument(component)
let input = findByTag(element, 'input')
- expect(input).toBe(document.activeElement)
+ expect(document.activeElement).toBe(input)
// teardown: must unfocus elements or other tests fail
input.blur()
})
it('calls onChange on change', function () {
- let callback = jest.genMockFunction()
+ let callback = jest.fn(() => {})
let component =
let element = TestUtils.renderIntoDocument(component)
let input = findByTag(element, 'input')
@@ -65,7 +69,7 @@ describe('SearchInput', function () {
})
it('debounces input changes', function () {
- let callback = jest.genMockFunction()
+ let callback = jest.fn(() => {})
let component =
let element = TestUtils.renderIntoDocument(component)
let input = findByTag(element, 'input')
diff --git a/src/components/search/SearchResult/__tests__/SearchResult-test.js b/src/components/search/SearchResult/__tests__/SearchResult-test.js
index c9d92513..9baee278 100644
--- a/src/components/search/SearchResult/__tests__/SearchResult-test.js
+++ b/src/components/search/SearchResult/__tests__/SearchResult-test.js
@@ -25,7 +25,7 @@ describe('SearchResult', function () {
})
it('calls onSelect callback on click if given, with the event click object', function () {
- var callback = jest.genMockFunction()
+ var callback = jest.fn(() => {})
var searchResult =
var component = TestUtils.renderIntoDocument(searchResult)
var element = findByClass(component, 'SearchResult')
diff --git a/src/components/tabs/Tab/__tests__/Tab-test.js b/src/components/tabs/Tab/__tests__/Tab-test.js
index ce74f69d..344d21c6 100644
--- a/src/components/tabs/Tab/__tests__/Tab-test.js
+++ b/src/components/tabs/Tab/__tests__/Tab-test.js
@@ -9,7 +9,7 @@ describe('Tab', function () {
var tab
var component
var element
- var callback = jest.genMockFunction()
+ var callback = jest.fn(() => {})
beforeEach(function () {
tab =
diff --git a/src/components/tabs/TabDrawer/__tests__/TabDrawer-test.js b/src/components/tabs/TabDrawer/__tests__/TabDrawer-test.js
index 56d17303..3f3fd501 100644
--- a/src/components/tabs/TabDrawer/__tests__/TabDrawer-test.js
+++ b/src/components/tabs/TabDrawer/__tests__/TabDrawer-test.js
@@ -7,9 +7,9 @@ var findByClass = TestUtils.findRenderedDOMComponentWithClass
describe('TabDrawer', function () {
var tabDrawer
- var component
- var element
- var callback = jest.genMockFunction()
+ var component, element
+
+ var callback = jest.fn(() => {})
beforeEach(function () {
tabDrawer =
diff --git a/src/components/totals/EntityGoalProgress/__tests__/EntityGoalProgress-test.js b/src/components/totals/EntityGoalProgress/__tests__/EntityGoalProgress-test.js
index 8432640b..9aa80485 100644
--- a/src/components/totals/EntityGoalProgress/__tests__/EntityGoalProgress-test.js
+++ b/src/components/totals/EntityGoalProgress/__tests__/EntityGoalProgress-test.js
@@ -185,7 +185,7 @@ describe('FundsRaised', function () {
})
it('calls a callback function after data is fetched', function () {
- let cb = jest.genMockFunction()
+ let cb = jest.fn(() => {})
element = TestUtils.renderIntoDocument()
expect(cb.mock.calls.length).toBe(1)
})
diff --git a/src/components/totals/FundsRaised/__tests__/FundsRaised-test.js b/src/components/totals/FundsRaised/__tests__/FundsRaised-test.js
index 51b9ccaa..7376d880 100644
--- a/src/components/totals/FundsRaised/__tests__/FundsRaised-test.js
+++ b/src/components/totals/FundsRaised/__tests__/FundsRaised-test.js
@@ -289,7 +289,7 @@ describe('FundsRaised', function () {
})
it('fires the callback after API data is fetched', function () {
- let cb = jest.genMockFunction()
+ let cb = jest.fn(() => {})
TestUtils.renderIntoDocument()
expect(cb.mock.calls.length).toBe(1)
expect(cb.mock.calls[0].length).toBe(1)
diff --git a/src/lib/__tests__/getJSONP-test.js b/src/lib/__tests__/getJSONP-test.js
index 29c73cd3..cc49a474 100644
--- a/src/lib/__tests__/getJSONP-test.js
+++ b/src/lib/__tests__/getJSONP-test.js
@@ -12,14 +12,14 @@ describe('getJSONP', function () {
})
it('retries a default of 2 times', function () {
- var callback = jest.genMockFunction()
+ var callback = jest.fn(() => {})
getJSONP('http://blah.com', callback)
expect(jsonp.mock.calls.length).toBe(3)
expect(callback).lastCalledWith(null)
})
it('accepts number of retries', function () {
- var callback = jest.genMockFunction()
+ var callback = jest.fn(() => {})
getJSONP('http://blah.com', callback, { retries: 5 })
expect(jsonp.mock.calls.length).toBe(6)
diff --git a/test/helpers/jsx.opts b/test/helpers/jsx.opts
index 0c486f32..68201807 100644
--- a/test/helpers/jsx.opts
+++ b/test/helpers/jsx.opts
@@ -1,2 +1,2 @@
--require test/helpers/common.js
---compilers js:babel-core/register
+--compilers js:@babel/register
diff --git a/test/helpers/testdom.js b/test/helpers/testdom.js
index 50ecdf6e..918ce7d3 100644
--- a/test/helpers/testdom.js
+++ b/test/helpers/testdom.js
@@ -1,13 +1,13 @@
'use strict'
+const jsdom = require('jsdom')
+const { JSDOM } = jsdom
// Via http://www.asbjornenge.com/wwc/testing_react_components.html
-module.exports = (markup, options) => {
+module.exports = function (markup) {
if (typeof document !== 'undefined') return
- var jsdom = require('jsdom').jsdom
- global.document = jsdom(markup || '', options)
- global.window = document.defaultView
+ const dom = new JSDOM(markup || '')
+ global.document = dom.window.document
+ global.window = dom.window
global.navigator = {
userAgent: 'node.js'
}
- // ... add whatever browser globals your tests might need ...
}
-
diff --git a/test/mocha.opts b/test/mocha.opts
index 0e6e7040..2e918582 100644
--- a/test/mocha.opts
+++ b/test/mocha.opts
@@ -1,3 +1,3 @@
--recursive
---compilers js:babel-core/register
+--compilers js:@babel/register
--require test/helpers/common.js