Repository URL to install this package:
|
Version:
3.1.2 ▾
|
require('./shim');
require('jest-enzyme');
const Enzyme = require('enzyme');
const Adapter = require('enzyme-adapter-react-16');
const R = require('ramda');
const { toUniverseView } = require('@skava/modules/___dist/deps');
const consoleHACK = require('src/bootstrapper/setup/console');
const { toSpecies, cast, is, isBuiltIn, isNative, isNotEmpty, isSafe, } = require('exotic');
const { isAction,
// isStrictModeEnabled,
// isModifierDescriptor,
// isArrayLike,
isComputed, isBoxedObservable, isObservable, isObservableArray, isObservableObject, isObservableMap, } = require('mobx');
// const { toMatchImageSnapshot } = require('jest-image-snapshot')
const { isReactProps, isValidElement, isStateless } = require('view-container');
// const { isPromiseBasedObservable } = require('mobx-utils')
require('@skava/modules/___dist/polyfil/console');
// expect.extend({ toMatchImageSnapshot })
Enzyme.configure({ adapter: new Adapter() });
const { isFrozen, isSealed, toKindOf, isTypeEq, isType, isArguments, isPairs, isArrayOf, isArrayLike, isAsyncish, isArray, isArrayTyped, isArrayBuffer, isAsync, isBoolean, isBooleanPrimitive, isBooleanLike, isBrowser, isCircular, isCollection, isClass, isDate, isDataView, isDot, isError, isEnumerable, isElement, isEmpty, isExtensible, isFunction, isFalse, isFalsy, isFlattenable, isFinite, isGenerator,
// not named is
hasIn, ownPropertyIs,
// back to it
isNegativeInfinity, isIterator, isIn, isInfinity, isIteratable, isIndexable, isInstanceOf, isInteger, isJSON, isMatcher, isMap, isMapish, isMatch, isMatchWith, isNil, isNull, isNumber, isNumberPrimitive, isNumberish, isNumberishWithDecimals, isNaN, isNodeJS, isObj, isObjTag, isObjTypeof, isObjPure, isObjWithKeys, isObjNotNull, isObjPlain, isPrimitive, isPromise, isPrototypeOf, isRegExp, isReal, isSize, isStringOrNumber, isInfinite, isString, isSet, isSymbol, isTrue, isUndefined, isUndefinedLike, isUnsignedInteger, isURL, isValidArrayIndex, isValidIndex, isValidPropertyKey, isWeakMap, isWeakMapUsable, isWeakSet, isWebWorker, isZeroish, hasDecimals, } = is;
// @TODO test setup
// const stringify = x => JSON.stringify(x, null, 2)
const stringify = x => R.toString(x);
/**
* @param {Function} predicate
* @param {String} key
* @param {String | Function | undefined} passMsg
* @param {String | Function | undefined} failMsg
*/
const extend = (predicate, key, passMsg, failMsg) => {
expect.extend({
[key](received, expected) {
const pass = predicate(received, expected);
if (pass) {
return {
message: () => isFunction(passMsg)
? passMsg(received, predicate)
: passMsg ||
`${key} pass; received: ${stringify(received)}, expected: ${expected}`,
pass: true,
};
}
else {
return {
message: () => isFunction(failMsg)
? failMsg(received, predicate)
: failMsg ||
`${key} fail; received: ${stringify(received)}, expected: ${expected}`,
pass: false,
};
}
},
});
};
const isSpecies = (received, expected) => {
// when we use `is`
if (typeof expected === 'function' && expected !== Function) {
return expected(received);
}
// console.log(Typed(expected))
return Typed(expected).is(received);
// console.log(Typed(expected))
if (isBuiltIn(expected)) {
// console.log(Typed(expected))
return Typed(expected).is(received);
}
else {
return false;
}
};
// console.log('@TODO .at(index | prop).toBe')
const allAre = (received, expected) => {
return received.every(value => isSpecies(value, expected));
};
// extend(fn, 'check')
// function fn() {
// console.log(arguments)
// return true
// }
const has = (received, expected) => {
if (isCollection(received)) {
return received.has(expected);
}
return hasIn(received, expected);
};
extend(has, 'has');
extend(hasIn, 'toHaveIn');
// extend(beKind, 'toBeKind')
// extend(beKind, 'toBeType')
extend(isSpecies, 'toBeSpecies');
extend(isSpecies, 'is');
extend(allAre, 'allAre');
extend(isArguments, 'toBeArguments');
extend(isPairs, 'toBePairs');
extend(isArray, 'toBeArray');
extend(isAsync, 'toBeAsync');
extend(isBooleanLike, 'toBeBoolean');
extend(isDate, 'toBeDate');
extend(isError, 'toBeError');
extend(isEmpty, 'toBeEmpty');
extend(isFunction, 'toBeFunction');
extend(isGenerator, 'toBeGenerator');
extend(isInfinite, 'toBeInfinite');
extend(isExtensible, 'toBeExtensible');
extend(isPrimitive, 'toBePrimitive');
extend(isEnumerable, 'toBeEnumerable');
extend(isInstanceOf, 'toBeInstanceOf');
extend(isNaN, 'toBeNaN');
extend(isNil, 'toBeNull');
extend(isNil, 'toBeNil');
extend(isNumber, 'toBeNumber');
extend(isReal, 'toBeReal');
extend(isSymbol, 'toBeSymbol');
extend(isZeroish, 'toBeZero');
extend(isFalse, 'false');
extend(isTrue, 'true');
extend(isRegExp, 'toBeRegExp');
extend(isString, 'toBeString');
extend(isObj, 'toBeObj');
extend(isObj, 'toBeFlattenable');
extend(hasDecimals, 'toBeFloat');
extend(isArrayTyped, 'toBeTypedArray');
extend(isWeakSet, 'toBeWeakSet');
extend(isWeakMap, 'toBeWeakMap');
extend(isSet, 'toBeSet');
extend(isMap, 'toBeMap');
extend(isCollection, 'toBeCollection');
extend(isSize, 'toBeSize');
extend(isFrozen, 'toBeFrozen');
extend(isSealed, 'toBeSealed');
// alias as is
extend(isSpecies, 'isSpecies');
extend(isArguments, 'isArguments');
extend(isPairs, 'isPairs');
extend(isArray, 'isArray');
extend(isAsync, 'isAsync');
extend(isBooleanLike, 'isBoolean');
extend(isDate, 'isDate');
extend(isError, 'isError');
extend(isEmpty, 'isEmpty');
extend(isFunction, 'isFunction');
extend(isGenerator, 'isGenerator');
extend(isInfinite, 'isInfinite');
extend(isExtensible, 'isExtensible');
extend(isPrimitive, 'isPrimitive');
extend(isEnumerable, 'isEnumerable');
extend(isInstanceOf, 'isInstanceOf');
extend(isNaN, 'isNaN');
extend(isNil, 'isNull');
extend(isNil, 'isNil');
extend(isNumber, 'isNumber');
extend(isReal, 'isReal');
extend(isSymbol, 'isSymbol');
extend(isZeroish, 'isZero');
extend(isFalse, 'isFalse');
extend(isTrue, 'isTrue');
extend(isRegExp, 'isRegExp');
extend(isString, 'isString');
extend(isObj, 'isObj');
extend(isObj, 'isFlattenable');
extend(hasDecimals, 'isFloat');
extend(isArrayTyped, 'isTypedArray');
extend(isWeakSet, 'isWeakSet');
extend(isWeakMap, 'isWeakMap');
extend(isSet, 'isSet');
extend(isMap, 'isMap');
extend(isCollection, 'isCollection');
extend(isSize, 'isSize');
extend(isFrozen, 'isFrozen');
extend(isSealed, 'isSealed');
//
extend(isSafe, 'isSafe');
extend(isNotEmpty, 'isNotEmpty');
//
extend(isAction, 'isAction');
// extend(isStrictModeEnabled, 'isStrictModeEnabled')
// extend(isModifierDescriptor, 'isModifierDescriptor')
extend(isComputed, 'isComputed');
extend(isBoxedObservable, 'isBoxedObservable');
extend(isObservable, 'isObservable');
extend(isObservableArray, 'isObservableArray');
extend(isObservableObject, 'isObservableObject');
extend(isObservableMap, 'isObservableMap');
// extend(isPromiseBasedObservable, 'isPromiseBasedObservable')
//
extend(isReactProps, 'isReactProps');
extend(isValidElement, 'isValidElement');
extend(isStateless, 'isStateless');
extend(isStringOrNumber, 'isStringOrNumber');
extend(isUndefined, 'isUndefined');
extend(isUndefinedLike, 'isUndefinedLike');
extend(isURL, 'isURL');
extend(isValidArrayIndex, 'isValidArrayIndex');
//# sourceMappingURL=testSetup.js.map