axios-hooks/test/index.test.ssr.jsx
Mark Hebden b222e633f5
feat: update to support axios 1.x (#1418)
* feat: update to support axios 1.x

Updated the following packages too:
 - LRUCache
 - jest
 - ts-jest
 - prettier
 - typescript

* feat: migrate from legacy cancel token to abort controller

* chore: update axios peer dependency

---------

Co-authored-by: Mark Hebden <mark.hebden@airelogic.com>
2023-09-13 21:47:50 +02:00

40 lines
873 B
JavaScript

import axios from 'axios'
import React from 'react'
import ReactDOM from 'react-dom/server'
import { makeUseAxios } from '../src'
jest.mock('axios')
let useAxios
beforeEach(() => {
useAxios = makeUseAxios()
})
function DummyComponent(props) {
useAxios('', props)
return null
}
it('should not populate promises on server when manual=true', () => {
ReactDOM.renderToString(<DummyComponent manual={true} />)
expect(useAxios.__ssrPromises.length).toBe(0)
})
it('should not populate promises on server when ssr=false', () => {
ReactDOM.renderToString(<DummyComponent ssr={false} />)
expect(useAxios.__ssrPromises.length).toBe(0)
})
it('should populate promises on server with default options', () => {
axios.mockResolvedValueOnce({ data: 'whatever' })
ReactDOM.renderToString(<DummyComponent />)
expect(useAxios.__ssrPromises.length).toBe(1)
})