This is the source of the bug. The `Alarm` constructor depends on a fully-functional implementation of `Utils.extend`:

https://github.com/mozilla-b2g/gaia/blob/af587d3201332a8fb0c96e5aa4c771031796a5f7/apps/clock/js/alarm.js#L26

If I remove this mock, then your tests pass for me.