Napoleon's Pixelated Mugshot

    @nrk/expect-openapi
    TypeScript icon, indicating that this package has built-in type declarations

    2.6.0 • Public • Published

    expect-openapi npm

    Expect objects to match OpenAPI documents

    Setup

    yarn add -D @nrk/expect-openapi
    # or
    npm add --dev @nrk/expect-openapi

    jest.setup.ts:

    import { toMatchApiResponse, toMatchRef$ } from "@nrk/expect-openapi";
    import expect from "expect";
    expect.extend({ toMatchApiResponse, toMatchRef$ });

    update the jest config:

    setupFiles: ["<rootDir>/jest.setup.ts"],

    Expect response to match OpenAPI path

    import superagent from "superagent";
    import openapi from "./openapi.json"; // OpenAPI 3 schema
    
    describe("my api", () => {
      it("should have valid /fantastic response, according to spec", async () => {
        const url = `http://paspi.nrk.no/some/fantastic/path`;
        const response = await superagent.get(url).accept("application/json");
        // Asserts that:
        // - mime-type matches
        // - response code exists (or default)
        // - the schema matches the response body (assumes it is JSON)
        await expect(response).toMatchApiResponse(openapi, "get", "/fantastic");
      });
    });

    Expect object to match a part of a OpenAPI document

    import openapi from "./openapi.json"; // OpenAPI 3 schema
    
    describe("my complex api", () => {
      it("should match SimpleLink", async () => {
        const myLink = { href: "/my/fantastic/link" };
        // Asserts that:
        // - the reference can be resolved
        // - the resolved schema matches expected value
        await expect(myLink).toMatchRef$(
          openapi,
          "#/components/schemas/SimpleLink"
        );
      });
    });

    Keywords

    none

    Install

    npm i @nrk/expect-openapi

    DownloadsWeekly Downloads

    50

    Version

    2.6.0

    License

    MIT

    Unpacked Size

    18.4 kB

    Total Files

    17

    Last publish

    Collaborators

    • mikkelnygard
    • feiring
    • dervodev
    • grimbur
    • gardkroyer
    • kariaan
    • edplayz
    • elias-chairi
    • miatollaksvik
    • ytterbo
    • glennwedin
    • machineboycom
    • trulsl
    • syndrol
    • henit
    • mslhm
    • cbjerkan
    • hermangudesen
    • andreeldareide
    • henningkoller
    • oleob
    • meisen
    • espenhalstensen
    • hakonknutzen2
    • danjohnrk
    • olapeter
    • teodor-elstad
    • michaelpande
    • lysebraate
    • lorecaster
    • wwalmnes
    • nrk-ps-teamcity
    • vincent.andersson
    • swla
    • nrk-midas-jenkins
    • andorpandor
    • jarlelin
    • nrkrichard
    • gesi
    • gundelsby-nrk
    • jonstalecarlsen
    • vagifabilov
    • nrk-sofie-ci
    • nytamin
    • jesperstarkar
    • loftum
    • emte123
    • skjalgepalg
    • eirikhalvard
    • astokke
    • n640071
    • n07073
    • henrik-mattsson
    • eirikbacker
    • haavardm
    • yr
    • nrk-kurator-jenkins
    • toshb
    • torgeilo
    • nrk-user-sync
    • dhdeploy
    • janerikbr
    • espenwa
    • rogerhmar
    • ovstetun
    • eivind
    • stianlj
    • haraldkj
    • mariusu
    • spesialsnorre
    • cristobal
    • knuthaug
    • thohalv
    • johnarne
    • eshaswini
    • morrow
    • oyvindeh
    • laat
    • toggu
    • nrk-jenkins
    • plomma
    • evjand
    • moltubakk
    • ingridguren
    • lu-lux
    • andersli
    • silje
    • stiandg
    • sjurlur
    • anderscan
    • andipodnrk
    • pkej
    • yosrimti
    • zenangst
    • morten.nyhaug
    • ingvildcath
    • erlend.jones
    • brneirik
    • mollerse
    • eriksalhus
    • frdrks
    • tbnrk
    • nordanke
    • balte
    • mikaelrss
    • simonmitternacht
    • christiankarlsson9
    • martintorgersen
    • rebchr
    • steipal
    • discobus
    • ingvesund
    • martingundersen
    • tinkajts
    • hallvardlid
    • tomivar
    • ajaco
    • tobinus
    • mortenok
    • nrk-ark-deploy
    • jeangilbertlouis
    • heidimork
    • ingriddraagen
    • fridajalborg
    • bruusi
    • rosvoll
    • christianeide
    • enordby
    • artzag
    • glen_imrie
    • mia.aasbakken
    • elathamna
    • evjjan17
    • olatoft
    • kongsrud
    • chrpeter
    • ingvildforseth
    • esseb
    • talepre
    • haraldk76
    • stigok
    • dagfinno
    • johannesodland
    • anders993
    • vildefj
    • vildepk
    • andreakn
    • rolerboler
    • meloygutt
    • anders.baggethun