mc-publish/tests/unit/utils/enum/descriptors/string-descriptor.spec.ts
2023-05-17 15:04:39 +03:00

47 lines
1.6 KiB
TypeScript

import { StringDescriptor } from "@/utils/enum/descriptors/string-descriptor";
describe("StringDescriptor", () => {
const descriptor = new StringDescriptor();
describe("name", () => {
test("returns 'string' as name", () => {
expect(descriptor.name).toBe("string");
});
});
describe("defaultValue", () => {
test("returns '' as default value", () => {
expect(descriptor.defaultValue).toBe("");
});
});
describe("hasFlag", () => {
test("returns true if flag is set", () => {
expect(descriptor.hasFlag("value1, value2, value3", "value2")).toBe(true);
});
test("returns false if flag is not set", () => {
expect(descriptor.hasFlag("value1, value2, value3", "value4")).toBe(false);
});
});
describe("addFlag", () => {
test("adds flag to value", () => {
expect(descriptor.addFlag("value1, value2", "value3")).toBe("value1, value2, value3");
});
test("does not add flag if it is already set", () => {
expect(descriptor.addFlag("value1, value2, value3", "value3")).toBe("value1, value2, value3");
});
});
describe("removeFlag", () => {
test("removes flag from value", () => {
expect(descriptor.removeFlag("value1, value2, value3", "value2")).toBe("value1, value3");
});
test("does not remove flag if it does not exist", () => {
expect(descriptor.removeFlag("value1, value2", "value3")).toBe("value1, value2");
});
});
});