UNPKG

webdriverio-automation

Version:

WebdriverIO-Automation android ios project

36 lines (30 loc) 1.49 kB
import chai from "chai"; import { expect } from "chai"; import * as path from "path"; import axios, { AxiosResponse } from "axios"; import chaiResponseValidator from "chai-openapi-response-validator"; import * as formData from "../../../fixtures/FormData.json"; const url: string = "https://dxp-test.kaxsdc.com/formAnalytics/"; const okStatusCode: number = 200; const badRequestStatusCode: number = 400; describe("Post Device Analytical data", () => { beforeEach("Defines yaml file to use", () => { chai.use(chaiResponseValidator(path.resolve("./openapi.yaml"))); }); it("should verify successful POST request and satisfy openAPI spec for 400 response", async () => { const response: AxiosResponse = await axios.post(url, { }); expect(response).to.satisfyApiSpec; expect(response.status).to.equal(okStatusCode); expect(response.statusText).to.equal("OK"); expect(response.data.statusCode).to.equal(badRequestStatusCode); expect(response.data.body).to.contain("failure"); }); it("should verify successful POST request and satisfy openAPI spec for 200 response", async () => { const response: AxiosResponse = await axios.post(url, formData); expect(response).to.satisfyApiSpec; expect(response.status).to.equal(okStatusCode); expect(response.statusText).to.equal("OK"); expect(response.data.statusCode).to.equal(okStatusCode); expect(response.data.body).to.contain("success"); }); });