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.
To verify that the file has been downloaded we can install simple Cypress command, which will set up downloads directory, will wait and will verify that the file is downloaded.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With