Skip to content

Instantly share code, notes, and snippets.

export { default as Button } from "components/Button";
test("should make text uppercase", () => {
const { container } = render(<Button text="We Salute You!" />);
const component = getByText(container, "We Salute You!");
expect(component).toHaveStyleRule("text-transform", "uppercase");
});
describe("Button", () => {
test("should handle click events", () => {
const onClickMock = jest.fn();
const { container } = render(
<Button text="Click me, maybe?" onClick={onClickMock} />
);
const component = container.firstChild;
fireEvent.click(component);
export default function Button({ text, onClick }) {
return <Wrapper onClick={onClick}>{text}</Wrapper>;
}
module.exports = {
setupFilesAfterEnv: ["./src/setupTests.js"]
};
import { matchers } from "jest-emotion";
expect.extend(matchers);
import { render, getByText } from "@testing-library/react";
import React from "react";
import Button from "components/Button";
describe("Button", () => {
test("should display text", () => {
const { container } = render(<Button text="We Salute You!" />);
getByText(container, "We Salute You!");
});
import React from "react";
import styled from "@emotion/styled";
import { font, primaryColors, shape } from "config/styles";
const Wrapper = styled.button`
${font}; ${primaryColors}; ${shape};
`;
export default function Button({ text }) {
return <Wrapper>{text}</Wrapper>;
{
"presets": ["@babel/preset-env", "@babel/preset-react"],
"plugins": [["module-resolver", { "root": ["./src"] }]]
}