public async ThreadingTask ReturnsTheCountOfInteractorResult() { var syncables = new IDatabaseSyncable[] { new MockTag { Name = "Tag", SyncStatus = SyncStatus.SyncFailed, LastSyncErrorMessage = "Error1" }, new MockTag { Name = "Tag2", SyncStatus = SyncStatus.SyncFailed, LastSyncErrorMessage = "Error1" }, new MockProject { Name = "Project", SyncStatus = SyncStatus.SyncFailed, LastSyncErrorMessage = "Error2" } }; var items = syncables.Select(i => new SyncFailureItem(i)); var interactor = Substitute.For <IInteractor <IObservable <IEnumerable <SyncFailureItem> > > >(); interactor.Execute().Returns(Observable.Return(items)); InteractorFactory.GetItemsThatFailedToSync().Returns(interactor); await ViewModel.Initialize(); ViewModel.NumberOfSyncFailures.Should().Be(3); }
public async ThreadingTask ReturnsTheCountOfInteractorResult() { var syncables = new IDatabaseSyncable[] { new MockTag { Name = "Tag", SyncStatus = SyncStatus.SyncFailed, LastSyncErrorMessage = "Error1" }, new MockTag { Name = "Tag2", SyncStatus = SyncStatus.SyncFailed, LastSyncErrorMessage = "Error1" }, new MockProject { Name = "Project", SyncStatus = SyncStatus.SyncFailed, LastSyncErrorMessage = "Error2" } }; var items = syncables.Select(i => new SyncFailureItem(i)); var interactor = Substitute.For <IInteractor <IObservable <IEnumerable <SyncFailureItem> > > >(); interactor.Execute().Returns(Observable.Return(items)); InteractorFactory.GetItemsThatFailedToSync().Returns(interactor); await ViewModel.Initialize(); var observer = TestScheduler.CreateObserver <int>(); ViewModel.NumberOfSyncFailures.Subscribe(observer); TestScheduler.AdvanceBy(50); observer.Messages .Last(m => m.Value.Kind == System.Reactive.NotificationKind.OnNext).Value.Value .Should() .Be(syncables.Length); }