react-conditional-components-renderer
Version:
React library with conditional components to rendering
39 lines (38 loc) • 2.56 kB
JavaScript
"use strict";
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 Switch_1 = __importDefault(require("../Switch"));
const Case_1 = __importDefault(require("../Case"));
describe("<Switch />", () => {
test(`should render A component when switch case be A`, () => {
const { getByText } = (0, react_2.render)(react_1.default.createElement(Switch_1.default, { case: "a", default: react_1.default.createElement("div", null, "Show default component") },
react_1.default.createElement(Case_1.default, { identifier: "a" },
react_1.default.createElement("div", null, "Show A component")),
react_1.default.createElement(Case_1.default, { identifier: "b" },
react_1.default.createElement("div", null, "Show B component"))));
const elementText = getByText(/Show A component/i);
expect(elementText).toBeTruthy();
});
test(`should render B component when switch case be B`, () => {
const { getByText } = (0, react_2.render)(react_1.default.createElement(Switch_1.default, { case: "b", default: react_1.default.createElement("div", null, "Show default component") },
react_1.default.createElement(Case_1.default, { identifier: "a" },
react_1.default.createElement("div", null, "Show A component")),
react_1.default.createElement(Case_1.default, { identifier: "b" },
react_1.default.createElement("div", null, "Show B component"))));
const elementText = getByText(/Show B component/i);
expect(elementText).toBeTruthy();
});
test(`should render Default component when none of switch case be match`, () => {
const { getByText } = (0, react_2.render)(react_1.default.createElement(Switch_1.default, { case: "c", default: react_1.default.createElement("div", null, "Show default component") },
react_1.default.createElement(Case_1.default, { identifier: "a" },
react_1.default.createElement("div", null, "Show A component")),
react_1.default.createElement(Case_1.default, { identifier: "b" },
react_1.default.createElement("div", null, "Show B component"))));
const elementText = getByText(/Show default component/i);
expect(elementText).toBeTruthy();
});
});