Fix the cy.stub type signature #4302
Merged
+5
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi
The
cy.stub
TypeScript signature is wrong. I started from your Add example to cy.stub() for stubbing window.prompt behavior but, with the same code, I get an error form TypeSctyptsee the screenshot of the code

In the above screenshot, I show you how everything works fine with the
log
,as
andwithArgs
functions added by theAgent
type.The problem is that the
cy.stub
function returns aAgent<sinon.SinonStub>
but theAgent
itself doesn't extend thesinon.SinonStub
type.Since the code
works perfectly in a standard JavaScript spec file, the error is in the TypeScript definitions only.
The easiest solution I found is to rename the
Agent
type toSinonSpyAgent
and declare a new typeAgent
with the following signatureI made it because both the
cy.stub
andcy.spy
functions return theAgent
type.Doing so:
cy.stub
andcy.spy
signatures don't changeLet me know if I missed something and thank you for all, Cypress is simply amazing 😉