import {mount} from 'enzyme';
import React from 'react';
import withApi from 'app/utils/withApi';
describe('withApi', function() {
let apiInstance;
const MyComponent = jest.fn(props => {
apiInstance = props.api;
return
;
});
it('renders MyComponent with an api prop', function() {
const MyComponentWithApi = withApi(MyComponent);
mount();
expect(MyComponent).toHaveBeenCalledWith(
expect.objectContaining({
api: expect.anything(),
}),
expect.anything()
);
});
it('cancels pending API requests when component is unmounted', function() {
const MyComponentWithApi = withApi(MyComponent);
const wrapper = mount();
jest.spyOn(apiInstance, 'clear');
expect(apiInstance.clear).not.toHaveBeenCalled();
wrapper.unmount();
expect(apiInstance.clear).toHaveBeenCalled();
apiInstance.clear.mockRestore();
});
});