I have a few suggestions to clean up your code. The first thing to realize is that you should be injecting the mock $timeout object into your test and calling $timeout.flush(251) to make sure your code runs.