Issue description
I'm doing end-to-end testing of my app (that uses angular2-google-maps).
I'm resorting to the testability API of Angular, to wait for angular to be stable before doing my actions (just like protractor does), i.e. I wait for
window.getAllAngularTestabilities()[0].isStable()
to return true.
It seems angular2-google-maps often leaves pending tasks in the zone (hard to debug, as there is no API to inspect the pending tasks, see https://github.com/angular/angular/issues/8219). Hence it is never stable, and my tests are blocked.
It would be nice to make sure there are no pending tasks in the zone, e.g. make sure setTimeout is wrapped in a _zone.runOutsideAngular call when necessary.
I guess the same applies to all the calls in the wrapper to the Google API. Logic by the Google code should run outside of the zone.
angular2 & angular2-google-maps version
1.6.0 (but I guess it happens just the same with newer versions).
@rcomblen thanks for the report. This is really hard to debug. I'm skeptical that a runOutsideAngular is enough because the google maps API has also some setTimeout calls and other async stuff that gets executed automatically by Zone.JS. Do you have the time to test this with the native google maps api and see if it gets stable when you wrap all calls to the maps api?
@SebastianM I cannot promise I'll find the time for that :-(
Having the same issue, but with angular 6 and using Protractor. Protractor times out because it is waiting for all the async tasks to finish which for google maps don't finish causing it to time out and break my e2e tests
In my instance, there is a setTimeout of 25 seconds coming from the Google Maps API's common.js file. I had to increase the timeout of my tests significantly even though I don't think the setTimeout call back did anything (hard to tell, it's minimized code). Anyway this can run outside the Angular zone?
Same issue here. Have to bump up the timeout to 40 seconds for the setTimeOut() to finish and the zone get stable. Obviously, it adds a lot of time to my e2e tests.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Hey, has there been any progress into this?
Most helpful comment
Hey, has there been any progress into this?