Solution: Cypress Spies
Learn the solution to Cypress component testing with the spies challenge.
We'll cover the following...
We'll cover the following...
To complete the challenge, we need to use a spy to assert that the onClick handler doesn’t get called.
import { Button } from "../../src/Button";
describe("button", () => {
it("disabled works", () => {
cy.mount(
<Button disabled={true} onClick={() => undefined} text={"Hello World"} />
);
cy.get("button").should("be.disabled");
});
it("button gets disabled", () => {
cy.mount(
<Button disabled={true} onClick={() => undefined} text={"Hello World"} />
);
cy.get("button").should("be.disabled");
});
it("disabled button cannot be clicked", () => {
const spy = cy.spy().as("spy");
cy.mount(<Button disabled={true} onClick={spy} text={"Hello World"} />);
cy.get("button").click({ force: true });
cy.get("@spy").should("not.have.been.called");
});
});
export {};
Solution to the Cypress spy challenge
Explanation
Lines ...