If we remove the async timeouts I think you could pretty quickly turn tests like this into cases like "2 complete and 1 fails" (for the case where the provider itself rejects its promise - see my comment on docs above)