private void setupSuggestionsInteractors(params Suggestion[] suggestions) { var getSuggestionsInteractor = Substitute.For <IInteractor <IObservable <IEnumerable <Suggestion> > > >(); getSuggestionsInteractor.Execute().Returns(Observable.Return(suggestions)); InteractorFactory.GetSuggestions(Arg.Any <int>()).Returns(getSuggestionsInteractor); var changeInteractor = Substitute.For <IInteractor <IObservable <Unit> > >(); changeInteractor.Execute().Returns(Observable.Empty <Unit>()); InteractorFactory.ObserveWorkspaceOrTimeEntriesChanges().Returns(changeInteractor); }
public async Task IsEmptyIfThereAreNoSuggestions() { InteractorFactory.GetSuggestions(Arg.Any <int>()).Execute().Returns(Observable.Return(new Suggestion[0])); var observer = TestScheduler.CreateObserver <IImmutableList <Suggestion> >(); await ViewModel.Initialize(); ViewModel.Suggestions.Subscribe(observer); TestScheduler.Start(); var suggestions = observer.Messages.First().Value.Value; suggestions.Should().HaveCount(0); }
protected void PrepareSuggestion() { DataSource.TimeEntries.IsEmpty.Returns(Observable.Return(false)); var suggestionProvider = Substitute.For <ISuggestionProvider>(); var timeEntry = Substitute.For <IThreadSafeTimeEntry>(); timeEntry.Id.Returns(123); timeEntry.Start.Returns(DateTimeOffset.Now); timeEntry.Duration.Returns((long?)null); timeEntry.Description.Returns("something"); var suggestion = new Suggestion(timeEntry, SuggestionProviderType.MostUsedTimeEntries); InteractorFactory.GetSuggestions(Arg.Any <int>()).Execute().Returns(Observable.Return(new[] { suggestion })); }