Bird
Raised Fist0
Cypresstesting~5 mins

Props and event testing in Cypress - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What are props in component testing?
Props are inputs passed to a component to control its behavior or display. They act like settings or instructions for the component.
Click to reveal answer
intermediate
How do you test if a component received the correct prop value in Cypress?
You can check the component's rendered output or attributes that depend on the prop. Cypress can also spy on functions to verify prop-driven behavior.
Click to reveal answer
beginner
What is an event in the context of UI testing?
An event is an action like a click, input, or submit that a user performs. Testing events means checking if the component reacts correctly to these actions.
Click to reveal answer
intermediate
How can Cypress test if an event handler was called when a button is clicked?
Use cy.get() to find the button, then .click() to simulate the click. Use cy.spy() or cy.stub() to watch the event handler and assert it was called.
Click to reveal answer
beginner
Why is testing props and events important in component testing?
Because props control what the component shows or does, and events are how users interact. Testing both ensures the component works as expected in real use.
Click to reveal answer
In Cypress, which command simulates a user clicking a button?
Acy.click()
Bcy.type()
Ccy.get().click()
Dcy.spy()
What does a cy.spy() do in event testing?
AIt watches if a function is called
BIt replaces the event handler
CIt triggers an event
DIt asserts the UI state
Which of these is a prop in component testing?
AA function passed to a component
BA browser event
CA CSS style
DA user click
Why test events in UI components?
ATo check if the UI looks correct
BTo check network requests
CTo measure performance
DTo verify user interactions trigger expected behavior
Which Cypress command helps check if a prop affects the component output?
Acy.spy()
Bcy.get() with assertions
Ccy.stub()
Dcy.visit()
Explain how you would test a button click event handler using Cypress.
Think about selecting the element, simulating the event, and verifying the response.
You got /4 concepts.
    Describe why testing props is important and how you can verify them in Cypress tests.
    Consider props as settings and how to check their effect.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of props testing in Cypress component tests?
      easy
      A. To verify that components receive and display data correctly
      B. To check if the component's CSS styles are applied
      C. To test if the component renders without errors
      D. To measure the performance of component rendering

      Solution

      1. Step 1: Understand what props are

        Props are data passed to components to control their behavior or display.
      2. Step 2: Identify the goal of props testing

        Props testing ensures the component uses and shows this data correctly.
      3. Final Answer:

        To verify that components receive and display data correctly -> Option A
      4. Quick Check:

        Props testing = verify data usage [OK]
      Hint: Props testing checks data passed to components [OK]
      Common Mistakes:
      • Confusing props testing with style or performance testing
      • Thinking props testing checks event handlers
      • Assuming props testing is about rendering errors
      2. Which Cypress command is used to spy on an event handler function passed as a prop?
      easy
      A. cy.spy()
      B. cy.stub()
      C. cy.mount()
      D. cy.visit()

      Solution

      1. Step 1: Recall Cypress commands for spying

        cy.spy() creates a spy to watch function calls without changing behavior.
      2. Step 2: Match command to event handler spying

        Spying on event handlers uses cy.spy() to check if they were called.
      3. Final Answer:

        cy.spy() -> Option A
      4. Quick Check:

        Spy event handler = cy.spy() [OK]
      Hint: Use cy.spy() to watch function calls [OK]
      Common Mistakes:
      • Using cy.stub() which replaces function behavior
      • Confusing cy.mount() with spying
      • Using cy.visit() which is for page navigation
      3. Given this Cypress test snippet:
      const onClick = cy.spy();
      cy.mount();
      cy.get('button').click();
      expect(onClick).to.have.been.calledOnce();

      What will be the test result?
      medium
      A. Test passes because the click triggers onClick once
      B. Test passes but onClick is called multiple times
      C. Test fails because onClick is never called
      D. Test fails due to syntax error in expect statement

      Solution

      1. Step 1: Analyze the spy and mount setup

        onClick is a spy passed as prop; Button is mounted with it.
      2. Step 2: Check the assertion syntax

        The assertion uses calledOnce() which is incorrect syntax; it should be calledOnce without parentheses.
      3. Final Answer:

        Test fails due to syntax error in expect statement -> Option D
      4. Quick Check:

        calledOnce() is invalid syntax [OK]
      Hint: Use calledOnce without () in assertions [OK]
      Common Mistakes:
      • Adding parentheses after calledOnce
      • Assuming spy is not called when it is
      • Ignoring syntax errors in assertions
      4. You wrote this Cypress test to check a button click event:
      const onClick = cy.spy();
      cy.mount();
      cy.get('button').click();
      expect(onClick).to.have.been.called();

      The test fails. What is the likely problem?
      medium
      A. The spy was not created correctly with cy.spy()
      B. The event handler prop name is wrong
      C. The assertion incorrectly uses parentheses after called
      D. The button selector is incorrect

      Solution

      1. Step 1: Check spy creation and usage

        Spy is created correctly with cy.spy() and passed as prop.
      2. Step 2: Review assertion syntax

        called is a property, not a function, so no parentheses should be used; parentheses cause failure.
      3. Final Answer:

        The assertion incorrectly uses parentheses after called -> Option C
      4. Quick Check:

        called is property, no () [OK]
      Hint: Don't add () after called in assertions [OK]
      Common Mistakes:
      • Using called() instead of called
      • Incorrect selector causing no click
      • Wrong prop name like onClickHandler
      5. You want to test a component that receives a disabled prop and an onSubmit event handler prop. Which Cypress test approach correctly verifies that clicking the submit button calls onSubmit only when disabled is false?
      hard
      A. Mount component with disabled=true and spy on onSubmit; click button and assert spy called once; then mount with disabled=false and assert spy not called
      B. Mount component with disabled=false and spy on onSubmit; click button and assert spy called once; then mount with disabled=true and assert spy not called on click
      C. Mount component once with disabled=false and spy on onSubmit; click button twice and assert spy called twice regardless of disabled prop
      D. Mount component with disabled=false without spy; click button and check UI changes only

      Solution

      1. Step 1: Test enabled state with spy

        Mount with disabled=false, spy on onSubmit, click button, expect spy called once.
      2. Step 2: Test disabled state with spy

        Mount with disabled=true, click button, expect spy not called to confirm no event triggered.
      3. Final Answer:

        Mount component with disabled=false and spy on onSubmit; click button and assert spy called once; then mount with disabled=true and assert spy not called on click -> Option B
      4. Quick Check:

        Test both states with spy to confirm event firing [OK]
      Hint: Test enabled and disabled states separately with spy [OK]
      Common Mistakes:
      • Testing only one disabled state
      • Not using spy to check event calls
      • Assuming event fires regardless of disabled prop
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard