7
votes

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.

1

1 Answers

2
votes

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