tracery-data-loader
Version:
Load static or dynamic data into a Tracery grammar and return modifiers for transforming/resolving values
31 lines (27 loc) • 1.14 kB
JavaScript
const applicable = require("../src/legacy-modules/applicable");
describe("if item does not have label", () => {
test("then it is not applicable", () => {
const evaluate = () => false;
expect(applicable(evaluate)({})).toBeFalsy();
expect(applicable(evaluate)({ label: null })).toBeFalsy();
expect(applicable(evaluate)({ label: false })).toBeFalsy();
expect(applicable(evaluate)({ label: 0 })).toBeFalsy();
expect(applicable(evaluate)({ label: "" })).toBeFalsy();
});
});
describe("if item only has label", () => {
test("then it is applicable if it's a string", () => {
const evaluate = () => false;
expect(applicable(evaluate)({ label: "a" })).toEqual(true);
expect(applicable(evaluate)({ label: "aaaa" })).toEqual(true);
expect(applicable(evaluate)({ label: 1 })).toBeFalsy();
});
});
describe("if item has qualifiers", () => {
test("then it is applicable if it's a string", () => {
const evaluate = () => false;
expect(applicable(evaluate)({ label: "a" })).toEqual(true);
expect(applicable(evaluate)({ label: "aaaa" })).toEqual(true);
expect(applicable(evaluate)({ label: 1 })).toBeFalsy();
});
});