diff --git a/Programming_Languages/Frameworks/React/Testing/Basic_prop_passing.md b/Programming_Languages/Frameworks/React/Testing/Basic_prop_passing.md new file mode 100644 index 0000000..dfb9626 --- /dev/null +++ b/Programming_Languages/Frameworks/React/Testing/Basic_prop_passing.md @@ -0,0 +1,39 @@ +--- +categories: + - Programming Languages +tags: + - javascript + - react + - testing +--- + +# Test: Basic prop passing + +```js +import { render, screen } from "@testing-library/react"; + +describe("", () => { + it("should render the values passed as props", () => { + // Arrange: + const stub = { + titleOfActivityOrProgramme: "Filming", + nameOfDepartment: "The film department", + }; + + // Act: + render(); + + // Assert: + expect(screen.getByText("Filming")).toBeInTheDocument(); + expect(screen.getByText("The film department")).toBeInTheDocument(); + }); +}); +``` + +Or, loop: + +```js +for (const entry of Object.values(stub)) { + expect(screen.getByText(entry)).toBeInTheDocument(); +} +``` diff --git a/Programming_Languages/Frameworks/React/Testing/Routing_on_link_click.md b/Programming_Languages/Frameworks/React/Testing/Routing_on_link_click.md new file mode 100644 index 0000000..bf730d7 --- /dev/null +++ b/Programming_Languages/Frameworks/React/Testing/Routing_on_link_click.md @@ -0,0 +1,50 @@ +--- +categories: + - Programming Languages +tags: + - javascript + - react + - testing +--- + +# Test: Routing on link click + +## Component + +```jsx +const CertificateHtmlLink = () => { + return ( +
+ + View HTML version + +
+ ); +}; +``` + +## Test + +```js +import { render, fireEvent } from "@testing-library/react"; +import { Router } from "react-router-dom"; + +describe(" { + it("should link to dynamic HTML certificate page URL on click event", () => { + // Arrange: + const history = createMemoryHistory({ initialEntries: ["/"] }); + + // Act: + const { getByText } = render( + + + + ); + + // Assert: + expect(history.location.pathname).toBe("/"); + fireEvent.click(getByText("View HTML version")); + expect(history.location.pathname).toBe("/certificate/123"); + }); +}); +```