@sitecore/sc-contenthub-blok
Version:
A UI library for [Sitecore Content Hub](https://doc.sitecore.com/ch/).
36 lines • 2.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("@testing-library/react");
const BlokImage_1 = require("./BlokImage");
describe("BlokImage Component", () => {
test("should render without crashing", () => {
(0, react_1.render)((0, jsx_runtime_1.jsx)(BlokImage_1.BlokImage, { src: "test.jpg", alt: "Test Image" }));
const imageElement = react_1.screen.getByAltText("Test Image");
expect(imageElement).toBeInTheDocument();
});
test("should display the correct image source", () => {
(0, react_1.render)((0, jsx_runtime_1.jsx)(BlokImage_1.BlokImage, { src: "test.jpg", alt: "Test Image" }));
const imageElement = react_1.screen.getByAltText("Test Image");
expect(imageElement).toHaveAttribute("src", "test.jpg");
});
test("should display the correct alt text", () => {
(0, react_1.render)((0, jsx_runtime_1.jsx)(BlokImage_1.BlokImage, { src: "test.jpg", alt: "Test Image" }));
const imageElement = react_1.screen.getByAltText("Test Image");
expect(imageElement).toHaveAttribute("alt", "Test Image");
});
test("should apply additional class names if provided", () => {
(0, react_1.render)((0, jsx_runtime_1.jsx)(BlokImage_1.BlokImage, { src: "test.jpg", alt: "Test Image", className: "extra-class" }));
const imageElement = react_1.screen.getByAltText("Test Image");
expect(imageElement).toHaveClass("extra-class");
});
test("should display error icon when image fails to load", () => {
(0, react_1.render)((0, jsx_runtime_1.jsx)(BlokImage_1.BlokImage, { src: "invalid.jpg", alt: "Test Image" }));
const imageElement = react_1.screen.getByAltText("Test Image");
// Simulate image load error
react_1.fireEvent.error(imageElement);
const errorIcon = react_1.screen.getByTestId("m-icon-image-off-outline");
expect(errorIcon).toBeInTheDocument();
});
});
//# sourceMappingURL=BlokImage.spec.js.map