import { describe, it } from "mocha" import * as assert from "assert" import * as abstracts from "../src/abstracts" describe("test ajaxConfigToRequestSchema", () => { it("test 1", () => { const given: abstracts.AjaxConfig> = { url: "/some-where", queryParams: { k1: "v1", k2: "v2" } } const result = abstracts.ajaxConfigToReqSchema(given) const nominal: abstracts.RequestSchema> = { method: "get", url: "/some-where", params: { k1: "v1", k2: "v2" }, data: undefined, } assert.deepStrictEqual(result, nominal) }) it("test 2", () => { const given: abstracts.AjaxConfig> = { url: "/some-where", method: "get", queryParams: { k1: "v1", k2: "v2" }, extraConfig: { headers: { "Content-type": "aboba" }, timeout: 5000, auth: { username: "John", password: "Week" }, } } const result = abstracts.ajaxConfigToReqSchema(given) const nominal: abstracts.RequestSchema> = { method: "get", url: "/some-where", params: { k1: "v1", k2: "v2" }, data: undefined, headers: { "Content-type": "aboba" }, timeout: 5000, auth: { username: "John", password: "Week" }, } assert.deepStrictEqual(result, nominal) }) it("test 3", () => { const given: abstracts.AjaxConfig> = { url: "/some-where", method: "put", queryParams: { k1: "v1", k2: "v2" }, body: { data: { k1: "v1", k2: "v2" }, contentType: "multipart/form-data" }, extraConfig: { timeout: 5000, auth: { username: "John", password: "Week" }, } } const result = abstracts.ajaxConfigToReqSchema(given) const nominal: abstracts.RequestSchema> = { method: "put", url: "/some-where", params: undefined, data: { k1: "v1", k2: "v2" }, headers: { "Content-Type": "multipart/form-data" }, timeout: 5000, auth: { username: "John", password: "Week" }, } assert.deepStrictEqual(result, nominal) }) })