@xxllexx At the end of promise chains you must always use `.done()` so that any rejected promises or exceptions in promise code will get thrown as exception to enclosing code.

If you want to handle errors differently you can use `fail(function(err) { ... })` instead of `.done()` at the end.

When adding code at nested levels it is important to throw a test exception to ensure it surfaces in an error handler or gets logged to the browser console higher up. Otherwise it is hard to find bugs further down.