testing-angular icon indicating copy to clipboard operation
testing-angular copied to clipboard

Fake for `fetch` in chapter 8 "Faking dependencies"

Open mchaitanya opened this issue 1 year ago • 0 comments

First off, I want to thank you for writing the book! It's packed with a lot of useful information. Observed one small thing while going through Chapter 8 - It talks about how it's very important (and rightly so!) for the fake to have the same shape as the original.

If the dependency is a function, the fake must have the same signature

Since fetch returns a Promise that resolves to the Response, the fake should also return a Promise. I think it would be more accurate for our fetchSpy to defined the following way:

// https://jasmine.github.io/api/edge/SpyStrategy.html#:~:text=3.5.0-,resolveTo(value),-Tell%20the%20spy
const fetchSpy = jasmine.createSpy('fetch').and.resolveTo(okResponse);

mchaitanya avatar Dec 21 '24 09:12 mchaitanya