Just a whole lot of crap
This commit is contained in:
113
tests/tui/components/common/ErrorDisplay.test.js
Normal file
113
tests/tui/components/common/ErrorDisplay.test.js
Normal file
@@ -0,0 +1,113 @@
|
||||
const React = require("react");
|
||||
const ErrorDisplay = require("../../../../src/tui/components/common/ErrorDisplay.jsx");
|
||||
|
||||
describe("ErrorDisplay Component", () => {
|
||||
it("should create ErrorDisplay component without crashing", () => {
|
||||
const component = React.createElement(ErrorDisplay, {
|
||||
error: "Test error message",
|
||||
});
|
||||
|
||||
expect(component).toBeDefined();
|
||||
expect(component.type).toBe(ErrorDisplay);
|
||||
expect(component.props.error).toBe("Test error message");
|
||||
});
|
||||
|
||||
it("should accept custom title prop", () => {
|
||||
const component = React.createElement(ErrorDisplay, {
|
||||
error: "Test error",
|
||||
title: "Custom Error Title",
|
||||
});
|
||||
|
||||
expect(component.props.title).toBe("Custom Error Title");
|
||||
});
|
||||
|
||||
it("should handle error objects with message property", () => {
|
||||
const error = new Error("Object error message");
|
||||
const component = React.createElement(ErrorDisplay, {
|
||||
error: error,
|
||||
});
|
||||
|
||||
expect(component.props.error).toBe(error);
|
||||
expect(component.props.error.message).toBe("Object error message");
|
||||
});
|
||||
|
||||
it("should handle error objects with name and code", () => {
|
||||
const error = {
|
||||
name: "ValidationError",
|
||||
code: "INVALID_INPUT",
|
||||
message: "Invalid input provided",
|
||||
};
|
||||
const component = React.createElement(ErrorDisplay, {
|
||||
error: error,
|
||||
});
|
||||
|
||||
expect(component.props.error.name).toBe("ValidationError");
|
||||
expect(component.props.error.message).toBe("Invalid input provided");
|
||||
});
|
||||
|
||||
it("should accept compact mode prop", () => {
|
||||
const component = React.createElement(ErrorDisplay, {
|
||||
error: "Test error",
|
||||
compact: true,
|
||||
});
|
||||
|
||||
expect(component.props.compact).toBe(true);
|
||||
});
|
||||
|
||||
it("should accept onRetry callback", () => {
|
||||
const mockRetry = jest.fn();
|
||||
const component = React.createElement(ErrorDisplay, {
|
||||
error: "Test error",
|
||||
onRetry: mockRetry,
|
||||
});
|
||||
|
||||
expect(component.props.onRetry).toBe(mockRetry);
|
||||
});
|
||||
|
||||
it("should accept onDismiss callback", () => {
|
||||
const mockDismiss = jest.fn();
|
||||
const component = React.createElement(ErrorDisplay, {
|
||||
error: "Test error",
|
||||
onDismiss: mockDismiss,
|
||||
});
|
||||
|
||||
expect(component.props.onDismiss).toBe(mockDismiss);
|
||||
});
|
||||
|
||||
it("should accept showRetry prop", () => {
|
||||
const component = React.createElement(ErrorDisplay, {
|
||||
error: "Test error",
|
||||
showRetry: false,
|
||||
});
|
||||
|
||||
expect(component.props.showRetry).toBe(false);
|
||||
});
|
||||
|
||||
it("should accept showDismiss prop", () => {
|
||||
const component = React.createElement(ErrorDisplay, {
|
||||
error: "Test error",
|
||||
showDismiss: false,
|
||||
});
|
||||
|
||||
expect(component.props.showDismiss).toBe(false);
|
||||
});
|
||||
|
||||
it("should accept custom retry and dismiss text", () => {
|
||||
const component = React.createElement(ErrorDisplay, {
|
||||
error: "Test error",
|
||||
retryText: "Custom retry text",
|
||||
dismissText: "Custom dismiss text",
|
||||
});
|
||||
|
||||
expect(component.props.retryText).toBe("Custom retry text");
|
||||
expect(component.props.dismissText).toBe("Custom dismiss text");
|
||||
});
|
||||
|
||||
it("should handle null error gracefully", () => {
|
||||
const component = React.createElement(ErrorDisplay, {
|
||||
error: null,
|
||||
});
|
||||
|
||||
expect(component.props.error).toBe(null);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user