3box-react-hooks
Version:
React hooks wrapping the 3box API
31 lines (23 loc) • 579 B
JavaScript
import React from 'react';
import { mount } from 'enzyme';
export const testHook = (hook, ...args) => {
return testHookN(hook, null, ...args);
};
export const testHookN = (hook, n, ...args) => {
const Component = ({ resolve }) => {
let result = hook(...args);
if (n != null) {
result = result[n];
}
if (result != null) {
resolve(result);
}
return null;
}
return asyncHookPromise(Component);
};
export const asyncHookPromise = Component => {
return new Promise(resolve => {
mount(<Component resolve={resolve} />);
});
};