47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
import { RequestParser } from "./requestparser";
|
|
|
|
describe("RequestParser", () => {
|
|
it("can process valid credit request", () => {
|
|
const body = { address: "abc", ticker: "CASH" };
|
|
expect(RequestParser.parseCreditBody(body)).toEqual({ address: "abc", ticker: "CASH" });
|
|
});
|
|
|
|
it("throws for invalid credit requests", () => {
|
|
// address unset
|
|
{
|
|
const body = { ticker: "CASH" };
|
|
expect(() => RequestParser.parseCreditBody(body)).toThrowError(/Property 'address' must be a string/i);
|
|
}
|
|
|
|
// address wrong type
|
|
{
|
|
const body = { address: true, ticker: "CASH" };
|
|
expect(() => RequestParser.parseCreditBody(body)).toThrowError(/Property 'address' must be a string/i);
|
|
}
|
|
|
|
// address empty
|
|
{
|
|
const body = { address: "", ticker: "CASH" };
|
|
expect(() => RequestParser.parseCreditBody(body)).toThrowError(/Property 'address' must not be empty/i);
|
|
}
|
|
|
|
// ticker unset
|
|
{
|
|
const body = { address: "abc" };
|
|
expect(() => RequestParser.parseCreditBody(body)).toThrowError(/Property 'ticker' must be a string/i);
|
|
}
|
|
|
|
// ticker wrong type
|
|
{
|
|
const body = { address: "abc", ticker: true };
|
|
expect(() => RequestParser.parseCreditBody(body)).toThrowError(/Property 'ticker' must be a string/i);
|
|
}
|
|
|
|
// ticker empty
|
|
{
|
|
const body = { address: "abc", ticker: "" };
|
|
expect(() => RequestParser.parseCreditBody(body)).toThrowError(/Property 'ticker' must not be empty/i);
|
|
}
|
|
});
|
|
});
|