public void GetGoalChangeViewModelById_WithCorrectData_ShouldReturnCorrectly() { var user = new ApplicationUser { Id = "User1", UserName = "******", }; var color = new Color { Id = 1, Name = "Test", Hex = "TestHex", }; var calendar = new Calendar { Id = "1", Title = "Default", DefaultCalendarColorId = color.Id, DefaultCalendarColor = color, User = user, }; var calendarViewModel = new CalendarHabitViewModel { Id = calendar.Id, Title = calendar.Title, }; var model = new Goal { Id = "1", Title = "Test", ColorId = color.Id, Color = color, CalendarId = calendar.Id, Calendar = calendar, DayTime = DayTime.Afternoon, Duration = Duration.HourAndHalf, Frequency = Frequency.EveryDay, IsActive = true, }; var viewModel = new GoalViewModel { Title = "Test", ColorId = 1, CalendarId = "1", DayTime = DayTime.Afternoon.ToString(), Duration = Duration.HourAndHalf.ToString(), Frequency = Frequency.EveryDay.ToString(), }; this.calendarService .Setup(x => x.GetAllCalendarTitlesByUserName <CalendarHabitViewModel>(It.IsAny <string>())) .Returns(new List <CalendarHabitViewModel> { calendarViewModel }); this.colorService.Setup(x => x.GetAllColors()).Returns(new List <Color> { color }); this.enumParseService .Setup(x => x.GetEnumDescription(It.IsAny <string>(), typeof(DayTime))) .Returns(DayTime.Afternoon.ToString()); this.enumParseService .Setup(x => x.GetEnumDescription(It.IsAny <string>(), typeof(Duration))) .Returns(Duration.HourAndHalf.ToString()); this.enumParseService .Setup(x => x.GetEnumDescription(It.IsAny <string>(), typeof(Frequency))) .Returns(Frequency.EveryDay.ToString()); this.goalRepository.Setup(x => x.All()).Returns(new List <Goal> { model }.AsQueryable()); var actualResult = this.goalService.GetGoalChangeViewModelById(model.Id, user.UserName); var expectedResult = viewModel; var actualResultOutput = actualResult.GoalModel; Assert.Equal(expectedResult.Title, actualResultOutput.Title); Assert.Equal(expectedResult.CalendarId, actualResultOutput.CalendarId); Assert.Equal(expectedResult.ColorId, actualResultOutput.ColorId); Assert.Equal(expectedResult.DayTime, actualResultOutput.DayTime); Assert.Equal(expectedResult.Duration, actualResultOutput.Duration); Assert.Equal(expectedResult.Frequency, actualResultOutput.Frequency); }
public async Task CreateMoreHabitsAsync_WithCorrectData_ShouldReturnCorrectResult() { var user = new ApplicationUser { Id = "User1", UserName = "******", }; var color = new Color { Id = 1, Name = "Test", Hex = "TestHex", }; var calendar = new Calendar { Id = "1", Title = "Default", DefaultCalendarColorId = color.Id, DefaultCalendarColor = color, User = user, }; var calendarViewModel = new CalendarHabitViewModel { Id = calendar.Id, Title = calendar.Title, }; var habits = new List <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 = "1", }, }; var model = new Goal { Id = "1", Title = "Test", ColorId = color.Id, Color = color, CalendarId = calendar.Id, Calendar = calendar, DayTime = DayTime.Afternoon, Duration = Duration.HourAndHalf, Frequency = Frequency.EveryDay, IsActive = true, Habits = habits, }; var viewModel = new GoalViewModel { Title = "Test", ColorId = 1, CalendarId = "1", DayTime = DayTime.Afternoon.ToString(), Duration = Duration.HourAndHalf.ToString(), Frequency = Frequency.EveryDay.ToString(), }; this.goalRepository.Setup(x => x.All()).Returns(new List <Goal> { model }.AsQueryable()); await this.goalService.CreateMoreHabitsAsync(calendar.Id); this.goalRepository.Verify(x => x.All(), Times.Exactly(2)); this.habitService.Verify(x => x.GenerateMoreHabitsAsync(It.IsAny <Goal>(), It.IsAny <DateTime>())); }
public void GetGoalChangeViewModel_WithCorrectData_ShouldReturnCorrectResult() { var user = new ApplicationUser { Id = "User1", UserName = "******", }; var color = new Color { Id = 1, Name = "Test", Hex = "TestHex", }; var calendar = new Calendar { Id = "1", Title = "Default", DefaultCalendarColorId = color.Id, DefaultCalendarColor = color, User = user, }; var calendarViewModel = new CalendarHabitViewModel { Id = calendar.Id, Title = calendar.Title, }; var model = new Goal { Id = "1", Title = "Test", ColorId = color.Id, Color = color, CalendarId = calendar.Id, Calendar = calendar, DayTime = DayTime.Afternoon, Duration = Duration.HourAndHalf, Frequency = Frequency.EveryDay, IsActive = true, }; var viewModel = new GoalViewModel { Title = "Test", ColorId = 1, CalendarId = "1", DayTime = DayTime.Afternoon.ToString(), Duration = Duration.HourAndHalf.ToString(), Frequency = Frequency.EveryDay.ToString(), }; this.calendarService .Setup(x => x.GetAllCalendarTitlesByUserName <CalendarHabitViewModel>(It.IsAny <string>())) .Returns(new List <CalendarHabitViewModel> { calendarViewModel }); this.colorService.Setup(x => x.GetAllColors()).Returns(new List <Color> { color }); var actualResult = this.goalService.GetGoalChangeViewModel(user.UserName); var expectedResult = viewModel; Assert.Equal(1, actualResult.Calendars.Count); Assert.Equal(1, actualResult.Colors.Count); Assert.Equal(4, actualResult.DayTimes.Count()); Assert.Equal(9, actualResult.Frequencies.Count()); Assert.Equal(4, actualResult.Durations.Count()); }