public void GetDetailsViewModelById_WithNoData_ShouldReturnCorrectResult() { this.habitsRepository.Setup(x => x.All()).Returns(new List <Habit> { }.AsQueryable()); var result = this.habitService.GetDetailsViewModelById("TestId"); var expectedResult = new HabitDetailsViewModel(); this.habitsRepository.Verify(x => x.All(), Times.Once); Assert.Equal(expectedResult.Id, result.Id); Assert.Equal(expectedResult.Title, result.Title); Assert.Equal(expectedResult.StartDateTime, result.StartDateTime); Assert.Equal(expectedResult.EndDateTime, result.EndDateTime); Assert.Equal(expectedResult.GoalId, result.GoalId); Assert.Equal(expectedResult.GoalColorHex, result.GoalColorHex); Assert.Equal(expectedResult.GoalCalendarTitle, result.GoalCalendarTitle); Assert.Equal(expectedResult.IsCompleted, result.IsCompleted); }
public void GetDetailsViewModelById_WithCorrectData_ShouldReturnCorrectResult() { var color = new Color { Id = 1, Name = "Test", Hex = "TestHex", }; var calendar = new Calendar { Id = "CalendarId", Title = "Default", DefaultCalendarColor = color, DefaultCalendarColorId = color.Id, }; var goal = new Goal { Id = "TestId", Title = "Test", Calendar = calendar, CalendarId = calendar.Id, IsActive = true, Color = color, ColorId = color.Id, }; var habit = new Habit { Id = "TestId", Title = "Test", StartDateTime = new DateTime(2020, 02, 02, 12, 0, 0), EndDateTime = new DateTime(2020, 02, 02, 12, 30, 0), GoalId = goal.Id, Goal = goal, IsCompleted = false, }; var completedHabitsForWeeks = new Dictionary <string, int> { { "test", 1 }, }; var detailsModel = new HabitDetailsViewModel { Id = "TestId", Title = "Test", StartDateTime = new DateTime(2020, 02, 02, 12, 0, 0), EndDateTime = new DateTime(2020, 02, 02, 12, 30, 0), GoalId = goal.Id, GoalCalendarTitle = calendar.Title, GoalColorHex = color.Hex, IsCompleted = false, GoalFrequencyInt = 1, GoalDayTime = "dayTime", GoalDuration = "duration", GoalFrequency = "frequency", CompletedHabitsForWeeks = completedHabitsForWeeks, }; this.habitsRepository.Setup(x => x.All()).Returns(new List <Habit> { habit }.AsQueryable()); var result = this.habitService.GetDetailsViewModelById(habit.Id); var expectedResult = detailsModel; this.habitsRepository.Verify(x => x.All(), Times.Exactly(3)); Assert.Equal(expectedResult.Id, result.Id); Assert.Equal(expectedResult.Title, result.Title); Assert.Equal(expectedResult.StartDateTime, result.StartDateTime); Assert.Equal(expectedResult.EndDateTime, result.EndDateTime); Assert.Equal(expectedResult.GoalId, result.GoalId); Assert.Equal(expectedResult.GoalColorHex, result.GoalColorHex); Assert.Equal(expectedResult.GoalCalendarTitle, result.GoalCalendarTitle); Assert.Equal(expectedResult.IsCompleted, result.IsCompleted); }