@fluentui/react
Version:
Reusable React components for building web experiences.
50 lines • 1.87 kB
JavaScript
import { render } from '@testing-library/react';
// v2 - avoiding usage of enzyme
// Helper function to find all elements with a specific class name that are not React components
export function getBySelector(container, selector) {
return container.querySelector(selector);
}
export function getByAllSelector(container, selector) {
return container.querySelectorAll(selector);
}
export function findNodesV2(container, selector) {
return Array.from(container.querySelectorAll(selector)).filter(function (node) { return node.nodeType === Node.ELEMENT_NODE; });
}
export function expectNodesV2(container, className, n) {
expect(findNodesV2(container, className).length).toEqual(n);
}
export function expectOneV2(container, selector) {
expectNodesV2(container, selector, 1);
}
/** @deprecated Use fake timers and `jest.runAllTimers()` instead */
export function delay(millisecond) {
return new Promise(function (resolve) { return setTimeout(resolve, millisecond); });
}
export function renderIntoDocument(element) {
var component = render(element);
var renderedDOM = component.container.firstChild;
return renderedDOM;
}
export function mockEvent(targetValue) {
if (targetValue === void 0) { targetValue = ''; }
var target = { value: targetValue };
return { target: target };
}
/**
* Hack for forcing Jest to run pending promises
* https://github.com/facebook/jest/issues/2157#issuecomment-897935688
*/
export function flushPromises() {
return new Promise(jest.requireActual('timers').setImmediate);
}
/**
* Verify that the given element and its parents do NOT have `aria-hidden` set.
*/
export function expectNoHiddenParents(element) {
var el = element;
while (el) {
expect(el.getAttribute('aria-hidden')).not.toBe('true');
el = el.parentElement;
}
}
//# sourceMappingURL=testUtilities.js.map