public void EmitsTheLastValueAfterSubscribing() { SyncProgress?emitted = null; OrchestratorSyncComplete.OnNext(new Error(new Exception())); SyncManager.ProgressObservable.Subscribe(progress => emitted = progress); emitted.Should().NotBeNull(); emitted.Should().Be(SyncProgress.Failed); }
public void EmitsFailedWhenAKnownClientErrorExceptionIsReported(ClientErrorException exception) { SyncProgress?emitted = null; SyncManager.ProgressObservable.Subscribe(progress => emitted = progress, (Exception e) => { }); OrchestratorSyncComplete.OnNext(new Error(exception)); emitted.Should().NotBeNull(); emitted.Should().Be(SyncProgress.Failed); }
public void TracksSyncCompleted() { SyncProgress?emitted = null; Queue.Dequeue().Returns(Sleep); OrchestratorSyncComplete.OnNext(new Success(Pull)); SyncManager.ProgressObservable.Subscribe(progress => emitted = progress); AnalyticsService.Received().SyncCompleted.Track(); }
public void EmitsSyncedWhenSyncCompletesAndQueueIsEmpty() { SyncProgress?emitted = null; Queue.Dequeue().Returns(Sleep); OrchestratorSyncComplete.OnNext(new Success(Pull)); SyncManager.ProgressObservable.Subscribe(progress => emitted = progress); emitted.Should().NotBeNull(); emitted.Should().Be(SyncProgress.Synced); }
public void DoesNotEmitSyncedWhenSyncCompletesButAnotherSyncIsQueued(SyncState queuedState) { SyncProgress?emitted = null; Queue.Dequeue().Returns(queuedState); OrchestratorSyncComplete.OnNext(new Success(Pull)); SyncManager.ProgressObservable.Subscribe(progress => emitted = progress); Orchestrator.Received().Start(queuedState); emitted.Should().NotBe(SyncProgress.Synced); }
public void EmitsSyncingWhenStartingFullSync() { SyncProgress?progressAfterFullSync = null; Queue.Dequeue().Returns(Pull); SyncManager.ForceFullSync(); SyncManager.ProgressObservable.Subscribe( progress => progressAfterFullSync = progress); progressAfterFullSync.Should().NotBeNull(); progressAfterFullSync.Should().Be(SyncProgress.Syncing); }
public void EmitsSyncingWhenStartingPush() { SyncProgress?progressAfterPushing = null; Queue.Dequeue().Returns(Push); SyncManager.PushSync(); SyncManager.ProgressObservable.Subscribe( progress => progressAfterPushing = progress); progressAfterPushing.Should().NotBeNull(); progressAfterPushing.Should().Be(SyncProgress.Syncing); }