Поскольку вы используете глобальный фильтр, вы можете использовать отдельную функцию и легко импортировать ее в тест.
Сначала разделите фильтр:
export const truncate = (text, length, clamp) => {
text = text || "";
clamp = clamp || "...";
length = length || 30;
if (text.length <= length) return text;
let tcText = text.slice(0, length - clamp.length);
let last = tcText.length - 1;
while (last > 0 && tcText[last] !== " " && tcText[last] !== clamp[0])
last -= 1;
// Fix for case when text dont have any `space` last = last || length - clamp.length;
tcText = tcText.slice(0, last);
return tcText + clamp;
};
Vue.filter("truncate", truncate);
Затем импортируйтеи используйте эту функцию в своем тесте, например:
import { truncate } from '../filters.js';
describe("filter") {
it("truncates the text") {
expect(truncate("your text", 5, "your clamp")).toEqual("expected")
}
}