How do I test that the scope is populated after the broadcast? I\'ve searched and found a few QA\'s here in stackexchange, but none answered my problem. The code is working
As far as "toHavebeenCalled" concerned, there is no need of "andCallThrough()". Simple spy would work. In your case your arguments are different.
You are broadcasting like, rootScope.$broadcast('updatecrappy', [{id : 2, name : 'crappy'}]);
But you expect :
expect(rootScope.$broadcast).toHaveBeenCalledWith('updscenes', [{id : 2, name : 'crappy'}]);
look at argument " updarecrappy" but in tohavebeencalled it is "updscenes".