I guess the HttpRequest does not even try to be fired when the connection is down, so the code does not "reach" your mocked response. I would report this as a bug to the Angular team, as it can't be the intended behavior.

Google Developer Expert in Angular, Consultant and Trainer at http://www.angulartraining.com