Esempio n. 1
0
            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();
            }
Esempio n. 3
0
            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();
            }