react-conditional-components-renderer
Version:
React library with conditional components to rendering
60 lines (59 loc) • 3.63 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const react_2 = require("@testing-library/react");
const If_1 = __importDefault(require("../If"));
describe("<If />", () => {
test(`should render child component if test be true`, () => {
const { getByText } = (0, react_2.render)(react_1.default.createElement("div", null,
react_1.default.createElement(If_1.default, { test: true },
react_1.default.createElement("div", null, "Show component"))));
const elementText = getByText(/Show component/i);
expect(elementText).toBeTruthy();
});
test(`should render child component if test a object not undefined`, () => {
const someObject = { a: 1 };
const { getByText } = (0, react_2.render)(react_1.default.createElement("div", null,
react_1.default.createElement(If_1.default, { test: someObject },
react_1.default.createElement("div", null, "Show component"))));
const elementText = getByText(/Show component/i);
expect(elementText).toBeTruthy();
});
test(`should render child component if test a object param not undefined`, () => {
const someObject = { a: 1 };
const { getByText } = (0, react_2.render)(react_1.default.createElement("div", null,
react_1.default.createElement(If_1.default, { test: someObject.a },
react_1.default.createElement("div", null, "Show component"))));
const elementText = getByText(/Show component/i);
expect(elementText).toBeTruthy();
});
test(`should render Else component if test be false`, () => {
const { getByText } = (0, react_2.render)(react_1.default.createElement("div", null,
react_1.default.createElement(If_1.default, { test: false, orElse: react_1.default.createElement("div", null, "Show other component") },
react_1.default.createElement("div", null, "Show component"))));
const elementText = getByText(/Show other component/i);
expect(elementText).toBeTruthy();
});
test(`should render Else component if test be undefined`, () => {
const { getByText } = (0, react_2.render)(react_1.default.createElement("div", null,
react_1.default.createElement(If_1.default, { test: undefined, orElse: react_1.default.createElement("div", null, "Show other component") },
react_1.default.createElement("div", null, "Show component"))));
const elementText = getByText(/Show other component/i);
expect(elementText).toBeTruthy();
});
test(`should render Else component if test be null`, () => {
const { getByText } = (0, react_2.render)(react_1.default.createElement("div", null,
react_1.default.createElement(If_1.default, { test: null, orElse: react_1.default.createElement("div", null, "Show other component") },
react_1.default.createElement("div", null, "Show component"))));
const elementText = getByText(/Show other component/i);
expect(elementText).toBeTruthy();
});
test(`shouldn't render any component if test be false and without Else component`, () => {
const { container } = (0, react_2.render)(react_1.default.createElement(If_1.default, { test: false },
react_1.default.createElement("div", null, "Show component")));
expect(container.firstChild).toBeNull();
});
});