3.6.64 • Published 12 months ago

@zitterorg/quasi-quidem v3.6.64

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

jest-mock-inference-helper

Coverage Status GitHub npm Vulnerabilities npm bundle size (scoped) GitHub last commit

This targets typescrit projects and aims to simplify declaration of mocked classes and functions

install

npm i -D @zitterorg/quasi-quidem

usage

asMock

AsMockDemo

Assuming SUT file

import { bar, baz } from "./bar";

export function foo() {
  return bar() + " - " + baz();
}

in your spec file

import { asMock } from "@zitterorg/quasi-quidem";
import { foo } from "./foo";
import { bar, baz } from "./bar";

// Automock bar
jest.mock("bar");

const barMock = asMock(bar).mockReturnValue("bar");
const bazMock = asMock(baz).mockReturnValue("baz");

// same as
const barMock = (bar as jest.MockedFunction<typeof bar>).mockReturnValue("bar");
const bazMock = (baz as jest.MockedFunction<typeof baz>).mockReturnValue("baz");

describe("foo", () => {
  it("Should success", () => {
    const res = foo();

    await expect(barMock).toHaveBeenCalled();
  });
});

asMocks

works similar to asMock but provides inference sugar for multiple functions in a single call

AsMocksDemo

Assuming SUT file

import { bar, baz } from "./bar";

export function foo() {
  return bar() + " - " + baz();
}

in your spec file

import { asMock } from "@zitterorg/quasi-quidem";
import { foo } from "./foo";
import { bar, baz } from "./bar";

// Automock bar
jest.mock("bar");

const { barMock, bazMock } = asMocks({ bar, baz });

// same as
const barMock = bar as jest.MockedFunction<typeof bar>;
const bazMock = baz as jest.MockedFunction<typeof baz>;

describe("foo", () => {
  beforeEach(() => {
    barMock.mockReturnValue("bar");
    barzock.mockReturnValue("baz");
  });

  it("Should success", () => {
    const res = foo();

    await expect(barMock).toHaveBeenCalled();
  });
});

asClassMock

Provides functionality to infer class mock type and also shortcuts to implement inner object fields and/or properties

see test file for extended usage

AsMocksDemo

Assuming SUT file

import { BarClass } from "./bar";

export function foo() {
  const bar = new BarClass();

  return bar.func1() + " - " + bar.func2();
}

in your spec file

import { asClassMock } from "@zitterorg/quasi-quidem";
import { foo } from "./foo";
import { BarClass } from "./bar";

// Automock bar
jest.mock("bar");

const BarClassMock = asClassMock(BarClass);

// similar to
const BarClassMock = bar as jest.MockedClass<BarClassMock>;

describe("foo", () => {
  beforeEach(() => {
    BarClassMock.func1.mockReturnValue("bar");
  });

  it("Should success", () => {
    const res = foo();

    await expect(BarClassMock.func1).toHaveBeenCalled();
  });
});

Changelog

Changelog.

License

MIT Lizenz

source mapcontainsutilityagentawsuninstallvalidbyteiamcopyFloat64ArrayfastcloneforEachtslibttyES2016extraarktypecharacterdeepcopytermkinesisdropyupStreamgenericsendpointcloudwatchwriteargumentECMAScript 2019performantawesomesaucees2017serializerpreprocessoroffsetinternal slotsomeUint16Arraycomputed-typesupl10nJSON-Schemaanimationpushcurlfiledom-testing-librarybyteLengthflattenIteratorclonecsshasOwnPropertyfullfpregular-expressionfigletmetadatamkdirpWeakMapformatmanipulationslotgesturesjsxequalityexecutelocaldayjsTypeBoxtapehardlinkscloudtrailoutputsyntaxperformancerequestextendlastemojiproxyECMAScript 5forksearchefficienttypesafeserializeartmapreducedatalook-up6to5chromeassertsArrayBufferhookformjasminebddvalidationhttpassertiontssubprocesstypedarrayscore-jsECMAScript 2023toStringTagloadingparentsposewalkrmdirnopeObject.assigneslint-plugineventspolyfilltesterstringBigInt64ArraynumberbinduuidassignCSSvarmomentshamfolderreact animationwhichglacierArray.prototype.filterspawnprivateformsfast-deep-cloneECMAScript 2020envmulti-packageoptioncensorwarningdeleteObject.valuesFunction.prototype.namegraphqlistanbulregexgetintrinsicnegative zerojQueryArray.prototype.flatlockfile-0configurableRegExp#flagsdiffarraysrangeerrortranspilervalidatorsesmkdirsES2022callbackes5trimeast-asian-widthzerogetOwnPropertyDescriptorreactmkdirprotobufvest__proto__call-bindargvkoreancommanderwgettransportcss-in-jsfile systemArray.prototype.flattenmockingmrua11ytrimEndtrimRightschemareadableCSSStyleDeclarationcreatehashgitignorejapanesetesthelpereslintinstallES2019webback-endfnmatchs3utilswfES2015letpostcss-pluginsymlinksjsdomacornstyleguidecjkgroupsortedObject.keysweaksetzxsnsenvironmentes-abstractwaitnpmignorebundlerjsonschemavarsrobustcolumnnativefromcallboundbyteOffsettraversehasOwnbannerprotologgingpropertiesBigUint64ArraysymbolreduxestreeesrgbchannelgetfindmodulesUint8ClampedArrayansirdshigher-orderspinnerownArray.prototype.flatMapgroupBydescriptionsameValueZeroString.prototype.matchAllasterisksviewdescriptorsArray.prototype.containsroutemoveutilscoverageescapedebugbinariesappobjectslicechaiflagESconcatReflect.getPrototypeOfclassesES2018tostringtagpropcolorsfindLastpopmotionwalkingscheme-validationReactiveExtensionsignoreebsmapnegativeSetcolumnsdeep-copyPushasciiredactworkspace:*rapidincludesES2023streamsObject.getPrototypeOffantasy-landeslintconfigFloat32Arrayfast-clonezodlistenershandlerentriesinspectworkertelephonetapcolourhasxtermdependency managerexpressframeworkispicomatchenumerableidtoSortedrecursiveSymbolfunctionalrandomgetPrototypeOfes-shim APIspectypedarraycloudfrontframerexecfilelanguagewritabledataviewespreerulesflatMapoptimizerfull-widthastnodejsdefinePropertypromiseramdafast-deep-copycallsinatraAsyncIteratorglobdirectoryrssECMAScript 2015chromiumvisualcloudsearches6private dataMicrosoftxhrpinocryptoObject.entriespositivebufferstakeArray.prototype.includesshebangES2017TypedArraymodulecachegetoptaccessibilityargsprotocol-buffersrm -rfbinaryArray.prototype.findLastIndexinputform-validationindicatorprettybeanstalkfullwidthconsumejshintiteratorpostcssflagspnpm9fastcopyfindLastIndextransformdomtranspilereact poseservercallbindhtmlfunction.lengthmockdefineatompackagesJSONspringsortsuperstructpluginECMAScript 2021invariantprototypeeverycliArrayBuffer#slicereal-timesharedarraybufferlookquerystringreversedimmercommandchildjesteslintplugintypeofPromisedotenvbrowserlistshimoptimistWeakSetstreampackage.jsonapollominimalerrorequalmanagergdprECMAScript 3safefixed-widthclientarrayregularbingettersidestringifyunicodevalueInt8Arrayredux-toolkitWebSocketsinferencedependenciesmatchesspinnersstylesfront-endObservablees2018json-schema-validationinternaldynamodbECMAScript 2018ECMAScript 2022ESnextES2020boundmochareact-hook-formwaapipureHyBiimportECMAScript 2017rfc4122trimLeftfindupqueryvaluesjoiwhatwgtddUnderscoreformURLthreecollection.es6propertyES7flatfasthooksregular expressionsfilterstyled-componentsidlesetImmediatespeedenvironmentsaccessorsuperagentguidxmlStyleSheetquoteregexpreducertoArraycompilertoReversedbrowserUint8ArraydeterministicprogresspathconcatMaprmemrec2electronstringifiernamesprocessSymbol.toStringTagmatchAllcoreassertjson-schematype256package manager0keyslengthvalidateonceutilitiesES3ReactiveXweakmapsharedroutingrestfulES5RxJScheckprefixmaketypedvpcmake dir$.extendArray.prototype.findLasttc39elbes2015es2016timecall-boundsettingsajvreverseecmascriptbabel-corees7fastifyInt16Arrayuser-streamsstructuredCloneparseavahelpersurllintstylecolorreworkreadablestreamfpsharmonyi18npyyamlutil.inspectsetclass-validatornpmserviceiedeepfunctionsjsonconsoleMapObject.definePropertybufferObjectfsbusyECMAScript 2016queueomitES8monorepoclassnamecoerciblestoragegatewayfast-copylocationcode pointsjson-schema-validatorfetchpoint-freeautoscalingconstStreamsUint32Arrayreduceclassnamestyped arrayArrayBuffer.prototype.slicevariablescommand-linetestingexpressiondirajaxsqs
3.6.64

12 months ago

3.6.63

12 months ago

3.6.62

12 months ago

3.6.61

12 months ago

3.6.60

12 months ago

3.6.59

12 months ago

3.6.58

12 months ago

3.6.57

12 months ago

3.5.56

12 months ago

3.5.55

12 months ago

3.6.56

12 months ago

3.5.54

12 months ago

3.5.53

12 months ago

3.5.52

12 months ago

3.5.51

12 months ago

3.4.47

12 months ago

3.3.35

1 year ago

3.4.48

12 months ago

3.4.40

1 year ago

3.4.41

1 year ago

3.4.42

1 year ago

3.4.43

1 year ago

3.4.44

1 year ago

3.3.32

1 year ago

3.4.45

1 year ago

3.3.33

1 year ago

3.4.46

1 year ago

3.3.34

1 year ago

3.5.50

12 months ago

3.2.31

1 year ago

3.2.32

1 year ago

2.1.27

1 year ago

2.1.28

1 year ago

2.1.25

1 year ago

2.1.26

1 year ago

2.2.31

1 year ago

2.2.30

1 year ago

3.4.36

1 year ago

3.4.37

1 year ago

3.4.38

1 year ago

3.4.39

1 year ago

2.0.19

1 year ago

3.5.49

12 months ago

2.1.29

1 year ago

3.5.48

12 months ago

3.4.35

1 year ago

2.0.18

1 year ago

2.0.24

1 year ago

2.0.25

1 year ago

2.0.22

1 year ago

2.0.23

1 year ago

2.0.20

1 year ago

2.0.21

1 year ago

2.1.30

1 year ago

2.0.17

1 year ago

2.0.15

1 year ago

2.0.16

1 year ago

2.0.13

1 year ago

2.0.14

1 year ago

2.0.11

1 year ago

2.0.12

1 year ago

2.0.10

1 year ago

2.0.9

1 year ago

2.0.8

1 year ago

2.0.7

1 year ago

2.0.6

1 year ago

2.0.5

1 year ago

2.0.4

1 year ago

2.0.3

1 year ago

2.0.2

1 year ago

2.0.1

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago