* feat(lib): add more tests to lib package Add more tests to the lib package to make it more robust overall. Additionally, tidy any methods that can be modified without changing behaviour and tighten types where possible. * fix(lib): update missed imports * fix: revert stylistic changes * Update getSchedule.test.ts --------- Co-authored-by: Omar López <zomars@me.com>
71 lines
1.7 KiB
TypeScript
71 lines
1.7 KiB
TypeScript
import { truncate } from "./text";
|
|
|
|
describe("Text util tests", () => {
|
|
describe("fn: truncate", () => {
|
|
it("should return the original text when it is shorter than the max length", () => {
|
|
const cases = [
|
|
{
|
|
input: "Hello world",
|
|
maxLength: 100,
|
|
expected: "Hello world",
|
|
},
|
|
{
|
|
input: "Hello world",
|
|
maxLength: 11,
|
|
expected: "Hello world",
|
|
},
|
|
];
|
|
|
|
for (const { input, maxLength, expected } of cases) {
|
|
const result = truncate(input, maxLength);
|
|
|
|
expect(result).toEqual(expected);
|
|
}
|
|
});
|
|
|
|
it("should return the truncated text when it is longer than the max length", () => {
|
|
const cases = [
|
|
{
|
|
input: "Hello world",
|
|
maxLength: 10,
|
|
expected: "Hello w...",
|
|
},
|
|
{
|
|
input: "Hello world",
|
|
maxLength: 5,
|
|
expected: "He...",
|
|
},
|
|
];
|
|
|
|
for (const { input, maxLength, expected } of cases) {
|
|
const result = truncate(input, maxLength);
|
|
|
|
expect(result).toEqual(expected);
|
|
}
|
|
});
|
|
|
|
it("should return the truncated text without ellipsis when it is longer than the max length and ellipsis is false", () => {
|
|
const cases = [
|
|
{
|
|
input: "Hello world",
|
|
maxLength: 10,
|
|
ellipsis: false,
|
|
expected: "Hello w",
|
|
},
|
|
{
|
|
input: "Hello world",
|
|
maxLength: 5,
|
|
ellipsis: false,
|
|
expected: "He",
|
|
},
|
|
];
|
|
|
|
for (const { input, maxLength, ellipsis, expected } of cases) {
|
|
const result = truncate(input, maxLength, ellipsis);
|
|
|
|
expect(result).toEqual(expected);
|
|
}
|
|
});
|
|
});
|
|
});
|