Describe And Test Advanced Trainings
input.js
function filterName(name) {
if (name === undefined) {
name = "Unknown";
}
if (name.startsWith(" ") || name.endsWith(" ")) {
name = name.trim();
}
if (name.length > 10) {
name = name.substring(0, 10);
}
if (name.startsWith("_")) {
name = name.substring(1);
}
return name;
}
module.exports = filterName;input.test.js
const theFilter = require("../input");
describe("Validate The Input Field", () => {
test("Check If Name Is Empty", () => {
expect(theFilter()).toBe("Unknown");
});
test("Check For Spaces (Start + End)", () => {
expect(theFilter(" Osama ")).toBe("Osama");
});
test("Check If Name Length > 10 Characters", () => {
expect(theFilter("Osama_Mohamed_Elsayed")).toBe("Osama_Moha");
});
test("Check If Name Not Starts With Underscore", () => {
expect(theFilter("_Osama")).toBe("Osama");
});
});