Add unit tests for body seralization

This commit is contained in:
mrjvs
2023-09-10 21:50:26 +02:00
parent 081fc1ae6b
commit a19cd3887f
2 changed files with 39 additions and 16 deletions

View File

@@ -0,0 +1,39 @@
import { serializeBody } from "@/fetchers/body";
import FormData from "form-data";
import { describe, expect, it } from "vitest";
describe("serializeBody()", () => {
it('should work with standard text', () => {
expect(serializeBody("hello world")).toEqual({
headers: {},
body: "hello world"
})
})
it('should work with objects', () => {
expect(serializeBody({ hello: "world", a: 42 })).toEqual({
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({ hello: "world", a: 42 })
})
})
it('should work x-www-form-urlencoded', () => {
const obj = new URLSearchParams()
obj.set("a", "b");
expect(serializeBody(obj)).toEqual({
headers: {},
body: obj
})
})
it('should work multipart/form-data', () => {
const obj = new FormData()
obj.append("a", "b");
expect(serializeBody(obj)).toEqual({
headers: {},
body: obj
})
})
})