3.6.64 • Published 1 year ago

@zitterorg/quasi-quidem v3.6.64

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year 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

1 year ago

3.6.63

1 year ago

3.6.62

1 year ago

3.6.61

1 year ago

3.6.60

1 year ago

3.6.59

1 year ago

3.6.58

1 year ago

3.6.57

1 year ago

3.5.56

1 year ago

3.5.55

1 year ago

3.6.56

1 year ago

3.5.54

1 year ago

3.5.53

1 year ago

3.5.52

1 year ago

3.5.51

1 year ago

3.4.47

1 year ago

3.3.35

1 year ago

3.4.48

1 year 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

1 year 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

1 year ago

2.1.29

1 year ago

3.5.48

1 year 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