cosmjs-util/packages/faucet/src/api/requestparser.spec.ts
2020-02-10 14:19:34 +01:00

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);
}
});
});