Example #1
0
        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"));
        }
Example #2
0
        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();
        }
Example #3
0
        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);
        }
Example #4
0
        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]);
        }
Example #5
0
        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);
        }