At my job I inherited a codebase which was completely both untested and undocumented aside from a general consensus from the backend guys on how it should behave. Cypress was instrumental in black boxing the behavior of the ui and then testing our refactors and changes against it. It has its worts. The chaining is not intuitive or consistent, the documentation never indicates fully return types or any types for that matter. Also you can only mock xhr requests and not the more modern fetch which is a bit hokey. You have to roll your own. But it’s free and offers a heck of a lot more in stability and features than what’s out there.