115 lines
3.1 KiB
TypeScript
115 lines
3.1 KiB
TypeScript
import { validateMarmitonSearchInput } from "../validate";
|
|
|
|
console.log = () => undefined;
|
|
describe("validateMarmitonSearchInput", () => {
|
|
it("should return true if argument contains query", () => {
|
|
expect(
|
|
validateMarmitonSearchInput({
|
|
query: "query",
|
|
})
|
|
).toBeTruthy();
|
|
});
|
|
it("should return true if argument contains dt", () => {
|
|
expect(
|
|
validateMarmitonSearchInput({
|
|
query: "query",
|
|
dt: "entree",
|
|
})
|
|
).toBeTruthy();
|
|
expect(
|
|
validateMarmitonSearchInput({
|
|
query: "query",
|
|
dt: ["entree", "dessert"],
|
|
})
|
|
).toBeTruthy();
|
|
});
|
|
it("should return true if argument contains page", () => {
|
|
expect(
|
|
validateMarmitonSearchInput({
|
|
query: "query",
|
|
page: 1,
|
|
})
|
|
).toBeTruthy();
|
|
expect(
|
|
validateMarmitonSearchInput({
|
|
query: "query",
|
|
page: 32,
|
|
})
|
|
).toBeTruthy();
|
|
});
|
|
it("should return true if argument contains type", () => {
|
|
expect(
|
|
validateMarmitonSearchInput({
|
|
query: "query",
|
|
type: "season",
|
|
})
|
|
).toBeTruthy();
|
|
expect(
|
|
validateMarmitonSearchInput({
|
|
query: "query",
|
|
type: ["season", "recipe"],
|
|
})
|
|
).toBeTruthy();
|
|
});
|
|
it("should return true if argument contains all options", () => {
|
|
expect(
|
|
validateMarmitonSearchInput({
|
|
query: "query",
|
|
type: "recipe",
|
|
dt: "entree",
|
|
page: 1,
|
|
})
|
|
).toBeTruthy();
|
|
expect(
|
|
validateMarmitonSearchInput({
|
|
query: "query",
|
|
type: ["season", "recipe"],
|
|
dt: ["entree", "dessert"],
|
|
page: 54,
|
|
})
|
|
).toBeTruthy();
|
|
});
|
|
it("should return false if argument does not contains query", () => {
|
|
expect(validateMarmitonSearchInput({})).toBeFalsy();
|
|
});
|
|
it("should return false if argument contains wrong dt", () => {
|
|
expect(validateMarmitonSearchInput({ query: "query", dt: 1 })).toBeFalsy();
|
|
expect(
|
|
validateMarmitonSearchInput({ query: "query", dt: "1" })
|
|
).toBeFalsy();
|
|
expect(
|
|
validateMarmitonSearchInput({ query: "query", dt: false })
|
|
).toBeFalsy();
|
|
expect(
|
|
validateMarmitonSearchInput({ query: "query", dt: null })
|
|
).toBeFalsy();
|
|
});
|
|
it("should return false if argument contains wrong type", () => {
|
|
expect(
|
|
validateMarmitonSearchInput({ query: "query", type: 1 })
|
|
).toBeFalsy();
|
|
expect(
|
|
validateMarmitonSearchInput({ query: "query", type: "1" })
|
|
).toBeFalsy();
|
|
expect(
|
|
validateMarmitonSearchInput({ query: "query", type: false })
|
|
).toBeFalsy();
|
|
});
|
|
it("should return false if argument contains wrong page", () => {
|
|
expect(
|
|
validateMarmitonSearchInput({ query: "query", page: -1 })
|
|
).toBeFalsy();
|
|
expect(
|
|
validateMarmitonSearchInput({ query: "query", page: "-1" })
|
|
).toBeFalsy();
|
|
expect(
|
|
validateMarmitonSearchInput({ query: "query", page: false })
|
|
).toBeFalsy();
|
|
});
|
|
it("should return false if argument contains unknown property", () => {
|
|
expect(
|
|
validateMarmitonSearchInput({ query: "query", test: -1 })
|
|
).toBeFalsy();
|
|
});
|
|
});
|