import { expect } from "chai"; import { headerBiddingRequestSchema } from "../../../src/controllers/validation/InternalRequestValidation"; import { RequestContract } from "../../../src/data-contract/request.contract"; import { FakeRequestContractBuilder } from "../../integration/utils/helper"; import { FakeCampaign } from "../../unit/fake/Campaign"; describe("request validation", () => { const candidateCampaigns = [new FakeCampaign("1000", undefined, undefined, [1])]; it("header bidding valid request", async function () { const request: RequestContract = new FakeRequestContractBuilder() .withCampaigns(...candidateCampaigns) .build(); const validationResult = headerBiddingRequestSchema.validate(request); expect(validationResult.error).to.be.undefined; }); it("header bidding non valid request, tmax should be a number", async function () { const request: any = new FakeRequestContractBuilder() .withCampaigns(...candidateCampaigns) .build(); request.tmax = ""; const validationResult = headerBiddingRequestSchema.validate(request); expect(validationResult.error).not.to.be.undefined; }); it("header bidding non valid request, header_bidding_type should be a string", async function () { const request: any = new FakeRequestContractBuilder() .withCampaigns(...candidateCampaigns) .build(); request.header_bidding_type = 2; const validationResult = headerBiddingRequestSchema.validate(request); expect(validationResult.error).not.to.be.undefined; }); });