public async Task RefetchesWheneverTheDayChanges() { var itemsChangedSubject = new Subject <Unit>(); var midnightSubject = new Subject <DateTimeOffset>(); DataSource.TimeEntries.ItemsChanged.Returns(itemsChangedSubject); TimeService.MidnightObservable.Returns(midnightSubject); await ViewModel.Initialize(); CalendarInteractor.ClearReceivedCalls(); TestScheduler.Start(); midnightSubject.OnNext(DateTimeOffset.Now); TestScheduler.Start(); await CalendarInteractor.Received().Execute(); }
public async Task RefetchesWheneverTheDayChanges() { var deletedSubject = new Subject <long>(); var midnightSubject = new Subject <DateTimeOffset>(); var createdSubject = new Subject <IThreadSafeTimeEntry>(); var updatedSubject = new Subject <EntityUpdate <IThreadSafeTimeEntry> >(); DataSource.TimeEntries.Deleted.Returns(deletedSubject); DataSource.TimeEntries.Updated.Returns(updatedSubject); DataSource.TimeEntries.Created.Returns(createdSubject); TimeService.MidnightObservable.Returns(midnightSubject); await ViewModel.Initialize(); CalendarInteractor.ClearReceivedCalls(); midnightSubject.OnNext(DateTimeOffset.Now); await CalendarInteractor.Received().Execute(); }
public async Task RefetchesWheneverTheSelectedCalendarsChange() { var itemsChangedSubject = new Subject <Unit>(); var calendarSubject = new Subject <List <string> >(); var midnightSubject = new Subject <DateTimeOffset>(); DataSource.TimeEntries.ItemsChanged.Returns(itemsChangedSubject); TimeService.MidnightObservable.Returns(midnightSubject); UserPreferences.EnabledCalendars.Returns(calendarSubject); await ViewModel.Initialize(); CalendarInteractor.ClearReceivedCalls(); TestScheduler.Start(); calendarSubject.OnNext(new List <string>()); TestScheduler.Start(); await CalendarInteractor.Received().Execute(); }