fonteva-design-guide
Version:
## Dev, Build and Test
84 lines (81 loc) • 5.14 kB
JavaScript
import {createElement} from "lwc";
import {formatLabel} from "c/utils";
describe("UTILS FUNCTION TESTS", () => {
describe("FORMAT LABEL FUNCTION", () => {
describe("Positive test cases:", () => {
describe("Values are properly replaced: ", () => {
it("String '{0} {1} {2}' and values ['bulbasaur', 'charmander', 'squirtle'] returns 'bulbasaur charmander squirtle'", () => {
const str = "{0} {1} {2}",
args = ["bulbasaur", "charmander", "squirtle"];
expect(formatLabel(str, args)).toEqual("bulbasaur charmander squirtle");
});
it("String '{2} {1} {0}' and values ['bulbasaur', 'charmander', 'squirtle'] returns 'squirtle charmander bulbasaur'", () => {
const str = "{2} {1} {0}",
args = ["bulbasaur", "charmander", "squirtle"];
expect(formatLabel(str, args)).toEqual("squirtle charmander bulbasaur");
});
it("String '1: {0} 2: {1} 3: {2}' and values ['bulbasaur', 'charmander', 'squirtle'] returns '1: bulbasaur 2: charmander 3: squirtle'", () => {
const str = "1: {0} 2: {1} 3: {2}",
args = ["bulbasaur", "charmander", "squirtle"];
expect(formatLabel(str, args)).toEqual("1: bulbasaur 2: charmander 3: squirtle");
});
});
});
describe("Negative test cases:", () => {
describe("Incorrect arguments:", () => {
it("String '{0} {1} {2}' and values ['bulbasaur', 'charmander'] returns 'bulbasaur charmander'", () => {
const str = "{0} {1} {2}",
args = ["bulbasaur", "charmander"];
expect(formatLabel(str, args)).toEqual("bulbasaur charmander");
});
it("String '{0} {1}' and values ['bulbasaur', 'charmander', 'squirtle'] returns 'bulbasaur charmander'",() => {
const str = "{0} {1}",
args = ["bulbasaur", "charmander", "squirtle"];
expect(formatLabel(str, args)).toEqual("bulbasaur charmander");
});
});
describe("Incorrect variables:", () => {
it("String '{0} {2}' and values ['bulbasaur', 'charmander', 'squirtle'] returns 'bulbasaur squirtle'", () => {
const str = "{0} {2}",
args = ["bulbasaur", "charmander", "squirtle"];
expect(formatLabel(str, args)).toEqual("bulbasaur squirtle");
});
it("String '{0} {caterpie}' and values ['bulbasaur', 'charmander', 'squirtle'] returns 'bulbasaur'",() => {
const str = "{0} {caterpie}",
args = ["bulbasaur", "charmander", "squirtle"];
expect(formatLabel(str, args)).toEqual("bulbasaur");
});
it("String '{0} {12} {2}' and values ['bulbasaur', 'charmander', 'squirtle'] returns 'bulbasaur squirtle'",() => {
const str = "{0} {12} {2}",
args = ["bulbasaur", "charmander", "squirtle"];
expect(formatLabel(str, args)).toEqual("bulbasaur squirtle");
});
it("String '{0} {caterpie} {2}' and values ['bulbasaur', 'charmander'] returns 'bulbasaur'",() => {
const str = "{0} {caterpie} {2}",
args = ["bulbasaur", "charmander"];
expect(formatLabel(str, args)).toEqual("bulbasaur");
});
it("String '{0 {1} {2}' and values ['bulbasaur', 'charmander', 'squirtle'] returns '{0 charmander squirtle'",() => {
const str = "{0 {1} {2}",
args = ["bulbasaur", "charmander", "squirtle"];
expect(formatLabel(str, args)).toEqual("{0 charmander squirtle");
});
it("String '{0} {1}' and values [] returns '' ",() => {
const str = "{0} {1}",
args = [];
expect(formatLabel(str, args)).toEqual("");
});
it("String '{0} {1} {2}' and values [null, 'charmander', 'squirtle'] returns 'bulbasaur squirtle'",() => {
const str = "{0} {1} {2}",
args = [null, "charmander", "squirtle"];
expect(formatLabel(str, args)).toEqual("charmander squirtle");
});
it("String '{0} {1} {2} {3}' and values ['bulbasaur', 'charmander', 'squirtle'] returns 'bulbasaur charmander squirtle'",() => {
const str = "{0} {1} {2} {3}",
args = ["bulbasaur", "charmander", "squirtle"];
expect(formatLabel(str, args)).toEqual("bulbasaur charmander squirtle");
});
});
});
});
});