ch04-HeaderBar
Last updated
// src/components/HeaderBar.tsx
export default function HeaderBar() {
return <div>hello</div>;
}// src/components/HeaderBar.cy.tsx
import HeaderBar from "./HeaderBar";
describe("HeaderBar", () => {
it("should", () => {
cy.mount(<HeaderBar />);
cy.getByCy("header-bar-brand");
});
});// src/components/HeaderBar.tsx
import HeaderBarBrand from "./HeaderBarBrand";
export default function HeaderBar() {
return (
<div>
<HeaderBarBrand />
</div>
);
}// src/components/HeaderBar.cy.tsx
import HeaderBar from "./HeaderBar";
import { BrowserRouter } from "react-router-dom";
import "../styles.scss";
describe("HeaderBar", () => {
it("should", () => {
cy.mount(
<BrowserRouter>
<HeaderBar />
</BrowserRouter>
);
cy.getByCy("header-bar-brand");
});
});// src/components/HeaderBar.tsx
import HeaderBarBrand from "./HeaderBarBrand";
export default function HeaderBar() {
return (
<header data-cy="header-bar">
<nav
className="navbar has-background-dark is-dark"
role="navigation"
aria-label="main navigation"
>
<HeaderBarBrand />
</nav>
</header>
);
}// src/components/HeaderBar.cy.tsx
import HeaderBar from "./HeaderBar";
import { BrowserRouter } from "react-router-dom";
import "../styles.scss";
describe("HeaderBar", () => {
it("should", () => {
cy.mount(
<BrowserRouter>
<HeaderBar />
</BrowserRouter>
);
cy.getByCy("header-bar-brand");
cy.findByRole("navigation");
});
});// src/components/HeaderBar.test.tsx
import HeaderBar from "./HeaderBar";
import { render, screen } from "@testing-library/react";
import { BrowserRouter } from "react-router-dom";
import "@testing-library/jest-dom";
describe("HeaderBar", () => {
it("should render error", async () => {
render(
<BrowserRouter>
<HeaderBar />
</BrowserRouter>
);
expect(await screen.findByTestId("header-bar-brand")).toBeVisible();
});
});