84 lines
1.9 KiB
TypeScript
84 lines
1.9 KiB
TypeScript
|
|
import _ from "lodash";
|
||
|
|
import { sourceDataArrayValidation } from "./validations";
|
||
|
|
|
||
|
|
describe("sourceDataArrayValidation", () => {
|
||
|
|
it("Should test with valid values", () => {
|
||
|
|
const mockSourceData = [
|
||
|
|
{
|
||
|
|
step: "#1",
|
||
|
|
task: "Drop a table",
|
||
|
|
status: "✅",
|
||
|
|
action: "",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
step: "#2",
|
||
|
|
task: "Create a query fetch_users with the Mock DB",
|
||
|
|
status: "--",
|
||
|
|
action: "",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
step: "#3",
|
||
|
|
task: "Bind the query using => fetch_users.data",
|
||
|
|
status: "--",
|
||
|
|
action: "",
|
||
|
|
},
|
||
|
|
];
|
||
|
|
|
||
|
|
const result = sourceDataArrayValidation(
|
||
|
|
mockSourceData,
|
||
|
|
undefined as any,
|
||
|
|
_,
|
||
|
|
);
|
||
|
|
const expected = {
|
||
|
|
isValid: true,
|
||
|
|
parsed: mockSourceData,
|
||
|
|
messages: [""],
|
||
|
|
};
|
||
|
|
expect(result).toStrictEqual(expected);
|
||
|
|
});
|
||
|
|
|
||
|
|
it("Should test when sourceData has a length more than 10", () => {
|
||
|
|
const mockSourceData = Array(11).fill((_: null, index: number) => {
|
||
|
|
return {
|
||
|
|
step: `#${index}`,
|
||
|
|
task: `Task ${index}`,
|
||
|
|
status: "--",
|
||
|
|
action: "",
|
||
|
|
};
|
||
|
|
});
|
||
|
|
|
||
|
|
const result = sourceDataArrayValidation(
|
||
|
|
mockSourceData,
|
||
|
|
undefined as any,
|
||
|
|
_,
|
||
|
|
);
|
||
|
|
const expected = {
|
||
|
|
isValid: false,
|
||
|
|
parsed: [],
|
||
|
|
messages: ["Source data cannot have more than 10 items"],
|
||
|
|
};
|
||
|
|
expect(result).toStrictEqual(expected);
|
||
|
|
});
|
||
|
|
|
||
|
|
it("Should test when sourceData is not an array", () => {
|
||
|
|
const mockSourceData = {
|
||
|
|
step: "#1",
|
||
|
|
task: "Drop a table",
|
||
|
|
status: "✅",
|
||
|
|
action: "",
|
||
|
|
};
|
||
|
|
|
||
|
|
const result = sourceDataArrayValidation(
|
||
|
|
mockSourceData,
|
||
|
|
undefined as any,
|
||
|
|
_,
|
||
|
|
);
|
||
|
|
const expected = {
|
||
|
|
isValid: false,
|
||
|
|
parsed: [],
|
||
|
|
messages: ["This value does not evaluate to type Array"],
|
||
|
|
};
|
||
|
|
expect(result).toStrictEqual(expected);
|
||
|
|
});
|
||
|
|
});
|