/* global it, expect */
import Tree from "../Tree";
import "../../tags/object/Image";
import "../../tags/object/RichText";
import "../../tags/control/RectangleLabels";
import "../../tags/control/Label";
import "../../tags/control/Choices";
import "../../tags/control/Choice";
import "../../tags/visual/Header";
import { ConfigValidator } from "../DataValidator/ConfigValidator";
it("Should fail if a tag referenced by toName doesn't exist", () => {
const result = ConfigValidator.validate(
Tree.treeToModel(
`
`,
{},
),
);
expect(result[0].error).toBe("ERR_TAG_NOT_FOUND");
});
it("Should fail if a tag referenced by toName is not image", () => {
const result = ConfigValidator.validate(
Tree.treeToModel(
`
`,
{},
),
);
expect(result[0].error).toBe("ERR_TAG_UNSUPPORTED");
});
it.skip("Should fail if tag lacks mandatory attribute toName", () => {
const result = Tree.treeToModel(`
`);
const errorItem = result.validation[0];
expect(errorItem.error).toBe("ERR_REQUIRED");
});
it("Should fail if opacity attribute is out of range", () => {
const result = ConfigValidator.validate(
Tree.treeToModel(
`
`,
{},
),
);
expect(result[0].error).toBe("ERR_BAD_TYPE");
});
it("Should fail if color is not a proper CSS color", () => {
const result = ConfigValidator.validate(
Tree.treeToModel(
`
`,
{},
),
);
expect(result[0].error).toBe("ERR_BAD_TYPE");
});
it.skip("Should fail if visual tags have name attribute", () => {
const result = ConfigValidator.validate(
Tree.treeToModel(
`
`,
{},
),
);
expect(result[0].error).toBe("ERR_GENERAL");
expect(result[0].value).toBe("Attribute name is not allowed for tag Header.");
});