public async ThreadingTask UnsubscribesFromTheSignalAfterLogout() { var subject = new Subject <TimeSpan>(); BackgroundService.AppResumedFromBackground.Returns(subject.AsObservable()); await DataSource.StartSyncing(); SyncManager.ClearReceivedCalls(); await DataSource.Logout(); subject.OnNext(MinimumTimeInBackgroundForFullSync + TimeSpan.FromSeconds(1)); await SyncManager.DidNotReceive().ForceFullSync(); }
public void UnsubscribesFromTheBackgroundServiceObservableWhenExceptionIsCaught() { var subject = new Subject <TimeSpan>(); var errorsSubject = new Subject <Exception>(); BackgroundService.AppResumedFromBackground.Returns(subject.AsObservable()); SyncManager.Errors.Returns(errorsSubject); AutomaticSyncingService.SetupAutomaticSync(UserAccessManager); LoggedIn.OnNext(DataSource); SyncManager.ClearReceivedCalls(); errorsSubject.OnNext(new Exception()); subject.OnNext(MinimumTimeInBackgroundForFullSync); SyncManager.DidNotReceive().ForceFullSync(); }
public void UnsubscribesFromTheBackgroundServiceObservableWhenExceptionIsCaught() { var subject = new Subject <TimeSpan>(); BackgroundService.AppResumedFromBackground.Returns(subject.AsObservable()); DataSource.StartSyncing(); SyncManager.ClearReceivedCalls(); var exception = new UnauthorizedException(request, response); ApiErrorHandlingService.TryHandleUnauthorizedError(Arg.Any <UnauthorizedException>()).Returns(true); ProgressSubject.OnError(exception); subject.OnNext(MinimumTimeInBackgroundForFullSync + TimeSpan.FromSeconds(1)); SyncManager.DidNotReceive().ForceFullSync(); }
public async Task UnsubscribesFromTheSignalWhenStopped() { var subject = new Subject <TimeSpan>(); BackgroundService.AppResumedFromBackground.Returns(subject.AsObservable()); var errors = Observable.Never <Exception>(); SyncManager.Errors.Returns(errors); AutomaticSyncingService.Start(SyncManager); SyncManager.ClearReceivedCalls(); AutomaticSyncingService.Stop(); subject.OnNext(Foundation.Services.AutomaticSyncingService.MinimumTimeInBackgroundForFullSync); await SyncManager.DidNotReceive().ForceFullSync(); }
public async Task UnsubscribesFromTheSignalAfterLogout() { var subject = new Subject <TimeSpan>(); BackgroundService.AppResumedFromBackground.Returns(subject.AsObservable()); var errors = Observable.Never <Exception>(); SyncManager.Errors.Returns(errors); AutomaticSyncingService.SetupAutomaticSync(UserAccessManager); LoggedIn.OnNext(DataSource); SyncManager.ClearReceivedCalls(); LoggedOut.OnNext(Unit.Default); subject.OnNext(MinimumTimeInBackgroundForFullSync); await SyncManager.DidNotReceive().ForceFullSync(); }