Exemple #1
0
        public async Task PopulateAllDaysAsync_ServiceFailure_DoesNotChangeState()
        {
            // arrange
            var tracker = new Tracker {
                Id = 0
            };
            var day = new LoggedDay {
                Id = 0, TrackerId = 0
            };
            var vm = new TrackerLogViewModel(tracker, new FailingTrackerLogService(), new MockSettingsViewModel());

            vm.AllDays.Add(day);

            // act
            await vm.PopulateAllDaysAsync();

            // assert
            Assert.Single(vm.AllDays, expected: day);
        }
Exemple #2
0
        public async Task DeleteLoggedDayAsync_ExistingDay_DeletesDay()
        {
            // arrange
            var tracker = new Tracker {
                Id = 0
            };
            var day = new LoggedDay {
                Id = 0, TrackerId = 0
            };
            var service = new MockTrackerLogService();
            var vm      = new TrackerLogViewModel(tracker, service, new MockSettingsViewModel());

            service.LoggedDays.Add(day);
            vm.AllDays.Add(day);

            // act
            await vm.DeleteLoggedDayAsync(day);

            // assert
            Assert.Empty(vm.AllDays);
            Assert.Empty(service.LoggedDays);
        }
Exemple #3
0
        public async Task DeleteLoggedDayAsync_NewDay_DoesNothing()
        {
            // arrange
            var tracker = new Tracker {
                Id = 0
            };
            var newDay = new LoggedDay {
                Id = 0, TrackerId = 0
            };
            var existingDay = new LoggedDay {
                Id = 5, TrackerId = 0
            };
            var vm = new TrackerLogViewModel(tracker, new MockTrackerLogService(), new MockSettingsViewModel());

            vm.AllDays.Add(existingDay);

            // act
            await vm.DeleteLoggedDayAsync(newDay);

            // assert
            Assert.Single(vm.AllDays, expected: existingDay);
        }
Exemple #4
0
        public async Task DeleteLoggedDayAsync_ServiceFailure_SendsMessageWithDay()
        {
            // arrange
            var tracker = new Tracker {
                Id = 0
            };
            var day = new LoggedDay {
                Id = 0, TrackerId = 0
            };
            var vm = new TrackerLogViewModel(tracker, new FailingTrackerLogService(), new MockSettingsViewModel());

            vm.AllDays.Add(day);

            LoggedDay sentDay = null;

            MessagingCenter.Subscribe <TrackerLogViewModel, LoggedDay>(this, nameof(vm.DeleteLoggedDayCommand),
                                                                       (sender, loggedDay) => sentDay = loggedDay);

            // act
            await vm.DeleteLoggedDayAsync(day);

            // assert
            Assert.Equal(day, sentDay);
        }