Rick Cotter
Rick Cotter

Reputation: 98

How can I use Cypress.io to assert that a file download has been initiated without actually downloading?

The download is initiated by setting

location.href = [some url to an image]

I want assert, as close as possible, that the download will succeed but without actually performing the download. That the URL is correct can be assumed.

Upvotes: 6

Views: 7998

Answers (1)

Jennifer Shehane
Jennifer Shehane

Reputation: 6905

What you essentially want to do is stub a call to location.href using cy.stub(), but testing that your application has called location.href and asserting the url passed to it is a bit tricky since href is an attribute, not a function. Stubs cannot replace attributes, only functions.

This is testable with some restructure of your application code. There is a great answer on how to do this in this stackoverflow answer: https://stackoverflow.com/a/36678937/5878476

Upvotes: 2

Related Questions