public ActionResult Edit(DailyWorkoutViewModel dailyWorkout) { if (this.ModelState.IsValid) { var wodInfo = this.workoutInformationService.GetByName(dailyWorkout.Name); var morningDailyWodDataModel = this.mapper.Map <DailyWorkout>(dailyWorkout); morningDailyWodDataModel.WorkoutInformation = wodInfo; morningDailyWodDataModel.StartTime = TimeOfDay.Morning; var noonDailyWodDataModel = this.mapper.Map <DailyWorkout>(dailyWorkout); noonDailyWodDataModel.WorkoutInformation = wodInfo; noonDailyWodDataModel.StartTime = TimeOfDay.Noon; var eveningDailyWodDataModel = this.mapper.Map <DailyWorkout>(dailyWorkout); eveningDailyWodDataModel.WorkoutInformation = wodInfo; eveningDailyWodDataModel.StartTime = TimeOfDay.Evening; this.dailyWorkoutService.AddAllDailyWorkouts(morningDailyWodDataModel, noonDailyWodDataModel, eveningDailyWodDataModel); var schedule = this.weekScheduleService.GetById(dailyWorkout.ScheduleId); this.weekScheduleService.AddDailiesToSchedule(schedule, morningDailyWodDataModel, noonDailyWodDataModel, eveningDailyWodDataModel); return(this.Json(dailyWorkout.Name, JsonRequestBehavior.DenyGet)); } return(this.Json("Invalid Entry")); }
public void Edit_ShouldReturnCorrectJsonWhenModelInvalid() { var mapperStub = new Mock <IMapper>(); var weekScheduleServiceStub = new Mock <IWeekScheduleService>(); var workoutInformationServiceStub = new Mock <IWorkoutInformationService>(); var modelViewFactoryStub = new Mock <IModelViewFactory>(); var dailyWorkoutServiceStub = new Mock <IDailyWorkoutService>(); var sut = new ScheduleController(mapperStub.Object, weekScheduleServiceStub.Object, workoutInformationServiceStub.Object, dailyWorkoutServiceStub.Object, modelViewFactoryStub.Object); var dailyWorkout = new DailyWorkoutViewModel(); dailyWorkout.Name = "awesomeness"; dailyWorkout.ScheduleId = new Guid(); var wodInfo = new WorkoutInformation(); var wodDataModel = new DailyWorkout(); var schedule = new WeekSchedule(); workoutInformationServiceStub.Setup(x => x.GetByName(It.IsAny <string>())).Returns(wodInfo); mapperStub.Setup(x => x.Map <DailyWorkout>(It.IsAny <DailyWorkoutViewModel>())).Returns(wodDataModel); dailyWorkoutServiceStub.Setup(x => x.AddAllDailyWorkouts(It.IsAny <DailyWorkout>(), It.IsAny <DailyWorkout>(), It.IsAny <DailyWorkout>())); weekScheduleServiceStub.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(schedule); weekScheduleServiceStub.Setup(x => x.AddDailiesToSchedule(It.IsAny <WeekSchedule>(), It.IsAny <DailyWorkout>(), It.IsAny <DailyWorkout>(), It.IsAny <DailyWorkout>())); sut .WithModelErrors() .WithCallTo(c => c.Edit(dailyWorkout)) .ShouldReturnJson(); }
public void Edit_GetCallMapperToGetDailyWorkoutViewModelOnceWhenScheduleDataModelContainsOneWorkout() { var mapperStub = new Mock <IMapper>(); var weekScheduleServiceStub = new Mock <IWeekScheduleService>(); var workoutInformationServiceStub = new Mock <IWorkoutInformationService>(); var modelViewFactoryStub = new Mock <IModelViewFactory>(); var dailyWorkoutServiceStub = new Mock <IDailyWorkoutService>(); var sut = new ScheduleController(mapperStub.Object, weekScheduleServiceStub.Object, workoutInformationServiceStub.Object, dailyWorkoutServiceStub.Object, modelViewFactoryStub.Object); var id = new Guid(); var weekScheduleDataModel = new WeekSchedule(); weekScheduleDataModel.DailyWorkouts = new List <DailyWorkout>() { new DailyWorkout() }; var dailyWorkoutViewModel = new DailyWorkoutViewModel(); dailyWorkoutViewModel.Day = "monday"; var scheduleViewModel = new EditScheduleViewModel(); scheduleViewModel.AllWorkouts = new Dictionary <string, DailyWorkoutViewModel>(); weekScheduleServiceStub.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(weekScheduleDataModel); mapperStub.Setup(x => x.Map <EditScheduleViewModel>(It.IsAny <WeekSchedule>())).Returns(scheduleViewModel); mapperStub.Setup(x => x.Map <DailyWorkoutViewModel>(It.IsAny <DailyWorkout>())).Returns(dailyWorkoutViewModel); sut .WithCallTo(c => c.Edit(id)); mapperStub.Verify(x => x.Map <DailyWorkoutViewModel>(weekScheduleDataModel.DailyWorkouts.First()), Times.Once); }
public void Edit_ShouldAddCorrectWoDDayAndDailyWorkoutViewModelToScheduleModel() { var mapperStub = new Mock <IMapper>(); var weekScheduleServiceStub = new Mock <IWeekScheduleService>(); var workoutInformationServiceStub = new Mock <IWorkoutInformationService>(); var modelViewFactoryStub = new Mock <IModelViewFactory>(); var dailyWorkoutServiceStub = new Mock <IDailyWorkoutService>(); var sut = new ScheduleController(mapperStub.Object, weekScheduleServiceStub.Object, workoutInformationServiceStub.Object, dailyWorkoutServiceStub.Object, modelViewFactoryStub.Object); var id = new Guid(); var weekScheduleDataModel = new WeekSchedule(); weekScheduleDataModel.DailyWorkouts = new List <DailyWorkout>() { new DailyWorkout() }; var dailyWorkoutViewModel = new DailyWorkoutViewModel(); dailyWorkoutViewModel.Day = "monday"; var scheduleViewModel = new EditScheduleViewModel(); scheduleViewModel.AllWorkouts = new Dictionary <string, DailyWorkoutViewModel>(); weekScheduleServiceStub.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(weekScheduleDataModel); mapperStub.Setup(x => x.Map <EditScheduleViewModel>(It.IsAny <WeekSchedule>())).Returns(scheduleViewModel); mapperStub.Setup(x => x.Map <DailyWorkoutViewModel>(It.IsAny <DailyWorkout>())).Returns(dailyWorkoutViewModel); sut.WithCallTo(c => c.Edit(id)); Assert.AreEqual("monday", scheduleViewModel.AllWorkouts.Keys.First()); Assert.AreSame(dailyWorkoutViewModel, scheduleViewModel.AllWorkouts[dailyWorkoutViewModel.Day]); }
public void Edit_ShouldRenderDefaultViewWithCorrectViewModel() { var mapperStub = new Mock <IMapper>(); var weekScheduleServiceStub = new Mock <IWeekScheduleService>(); var workoutInformationServiceStub = new Mock <IWorkoutInformationService>(); var modelViewFactoryStub = new Mock <IModelViewFactory>(); var dailyWorkoutServiceStub = new Mock <IDailyWorkoutService>(); var sut = new ScheduleController(mapperStub.Object, weekScheduleServiceStub.Object, workoutInformationServiceStub.Object, dailyWorkoutServiceStub.Object, modelViewFactoryStub.Object); var id = new Guid(); var weekScheduleDataModel = new WeekSchedule(); weekScheduleDataModel.DailyWorkouts = new List <DailyWorkout>() { new DailyWorkout() }; var dailyWorkoutViewModel = new DailyWorkoutViewModel(); dailyWorkoutViewModel.Day = "monday"; var scheduleViewModel = new EditScheduleViewModel(); scheduleViewModel.AllWorkouts = new Dictionary <string, DailyWorkoutViewModel>(); weekScheduleServiceStub.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(weekScheduleDataModel); mapperStub.Setup(x => x.Map <EditScheduleViewModel>(It.IsAny <WeekSchedule>())).Returns(scheduleViewModel); mapperStub.Setup(x => x.Map <DailyWorkoutViewModel>(It.IsAny <DailyWorkout>())).Returns(dailyWorkoutViewModel); sut .WithCallTo(c => c.Edit(id)) .ShouldRenderDefaultView() .WithModel(scheduleViewModel); }