includes a test + coverage command

This commit is contained in:
Ben Mitchinson committed 2020-03-27 02:07:43 -05:00
1 parent e8b83dbcb9
commit 976482ee7f
6 files changed
+78 -3

No files matched your search

+53
View File
@@ -1436,6 +1436,16 @@
"@types/testing-library__react": "^9.1.2"
}
},
"@testing-library/react-hooks": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-3.2.1.tgz",
"integrity": "sha512-1OB6Ksvlk6BCJA1xpj8/WWz0XVd1qRcgqdaFAq+xeC6l61Ucj0P6QpA5u+Db/x9gU4DCX8ziR5b66Mlfg0M2RA==",
"dev": true,
"requires": {
"@babel/runtime": "^7.5.4",
"@types/testing-library__react-hooks": "^3.0.0"
}
},
"@testing-library/user-event": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-7.2.1.tgz",
@@ -1580,6 +1590,15 @@
"@types/react": "*"
}
},
"@types/react-test-renderer": {
"version": "16.9.2",
"resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-16.9.2.tgz",
"integrity": "sha512-4eJr1JFLIAlWhzDkBCkhrOIWOvOxcCAfQh+jiKg7l/nNZcCIL2MHl2dZhogIFKyHzedVWHaVP1Yydq/Ruu4agw==",
"dev": true,
"requires": {
"@types/react": "*"
}
},
"@types/stack-utils": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
@@ -1602,6 +1621,16 @@
"@types/testing-library__dom": "*"
}
},
"@types/testing-library__react-hooks": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/@types/testing-library__react-hooks/-/testing-library__react-hooks-3.2.0.tgz",
"integrity": "sha512-dE8iMTuR5lzB+MqnxlzORlXzXyCL0EKfzH0w/lau20OpkHD37EaWjZDz0iNG8b71iEtxT4XKGmSKAGVEqk46mw==",
"dev": true,
"requires": {
"@types/react": "*",
"@types/react-test-renderer": "*"
}
},
"@types/yargs": {
"version": "13.0.8",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz",
@@ -11283,6 +11312,30 @@
"workbox-webpack-plugin": "4.3.1"
}
},
"react-test-renderer": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.13.1.tgz",
"integrity": "sha512-Sn2VRyOK2YJJldOqoh8Tn/lWQ+ZiKhyZTPtaO0Q6yNj+QDbmRkVFap6pZPy3YQk8DScRDfyqm/KxKYP9gCMRiQ==",
"dev": true,
"requires": {
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
"react-is": "^16.8.6",
"scheduler": "^0.19.1"
},
"dependencies": {
"scheduler": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
"integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
"dev": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
}
}
},
"react-tween-state": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/react-tween-state/-/react-tween-state-0.1.5.tgz",
+5
View File
@@ -21,6 +21,7 @@
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"coverage": "react-scripts test --coverage --watchAll=false",
"eject": "react-scripts eject"
},
"eslintConfig": {
@@ -37,5 +38,9 @@
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"@testing-library/react-hooks": "^3.2.1",
"react-test-renderer": "^16.13.1"
}
}
+16
View File
@@ -0,0 +1,16 @@
import { renderHook } from '@testing-library/react-hooks'
import useApi from './useApi'
test('should return loading and then a response', async () => {
const { result, waitForNextUpdate } = renderHook(() => useApi(""))
expect(result.current.response).toBeNull()
expect(result.current.error).toBeNull()
expect(result.current.isLoading).toBeTruthy()
await waitForNextUpdate()
expect(result.current.response).toBeTruthy()
expect(result.current.error).toBeNull()
expect(result.current.isLoading).toBeFalsy()
})
+2 -3
View File
@@ -1,7 +1,6 @@
import React from 'react'
const useFetch = (route: string) => {
const useApi = (route: string) => {
const [response, setResponse] = React.useState(null);
const [error, setError] = React.useState(null);
const [isLoading, setIsLoading] = React.useState(false);
@@ -23,4 +22,4 @@ const useFetch = (route: string) => {
return { response, error, isLoading };
};
export default useFetch
export default useApi
+1
View File
@@ -1,3 +1,4 @@
/* istanbul ignore file */
import React from 'react';
import ReactDOM from 'react-dom';
import './scss/index.scss';
+1
View File
@@ -1,3 +1,4 @@
/* istanbul ignore file */
// This optional code is used to register a service worker.
// register() is not called by default.