示例#1
0
            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);
            }
示例#2
0
            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);
            }
示例#3
0
            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();
            }
示例#4
0
            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);
            }
示例#5
0
            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);
            }
示例#6
0
            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);
            }
示例#7
0
            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);
            }