public void AjaxLoadNextTrainingsShouldWorkCorrectly() { var caloriesBurned = 1500; var autoMapperConfig = new AutoMapperConfig(); autoMapperConfig.Execute(typeof(TrainingsController).Assembly); var trainingsServiceMock = new Mock<ITrainingsService>(); trainingsServiceMock.Setup( x => x.GetAllByUserWithPagingAndFiltering(It.IsAny<string>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<DateTime?>(), It.IsAny<DateTime?>())) .Returns(new List<Training>() { new Training() { Calories = caloriesBurned, Track = new Track() { Ascent = 2500, Length = 50 } } }.AsQueryable()); var predictionsServiceMock = new Mock<ITrainingPrediction>(); //predictionsServiceMock.Setup() var mock = new Mock<ControllerContext>(); mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("anon"); mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true); var controller = new TrainingsController(trainingsServiceMock.Object, predictionsServiceMock.Object); controller.ControllerContext = mock.Object; controller.WithCallTo(x => x.AjaxLoadNextTrainings(null, null, 0, 15)) .ShouldRenderPartialView("_TrainingsList") .WithModel<List<TrainingListItemViewModel>>( viewModel => { Assert.AreEqual(1, viewModel.Count); }).AndNoModelErrors(); }
public void AjaxPredictShouldWorkCorrectly() { var autoMapperConfig = new AutoMapperConfig(); autoMapperConfig.Execute(typeof(TrainingsController).Assembly); var trainingsServiceMock = new Mock<ITrainingsService>(); var resultDate = DateTime.Now; var predictionsServiceMock = new Mock<ITrainingPrediction>(); predictionsServiceMock.Setup( x => x.Predict(It.IsAny<Training>())) .Returns(new Training() { EndDate = resultDate }); var mock = new Mock<ControllerContext>(); mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("anon"); mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true); var controller = new TrainingsController(trainingsServiceMock.Object, predictionsServiceMock.Object); controller.ControllerContext = mock.Object; controller.WithCallTo(x => x.AjaxPredict(new TrainingAjaxPredictViewModel())) .ShouldReturnJson( x => { var content = x as TrainingAjaxPredictViewModel; Assert.AreEqual(content.EndDate, resultDate); }); }
public void EditShouldWorkCorrectlyWithValidModelState() { var caloriesBurned = 1500; var autoMapperConfig = new AutoMapperConfig(); autoMapperConfig.Execute(typeof(TrainingsController).Assembly); var trainingsServiceMock = new Mock<ITrainingsService>(); var training = new TrainingEditViewModel() { Calories = caloriesBurned, }; var predictionsServiceMock = new Mock<ITrainingPrediction>(); //predictionsServiceMock.Setup() var mock = new Mock<ControllerContext>(); mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("anon"); mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true); var controller = new TrainingsController(trainingsServiceMock.Object, predictionsServiceMock.Object); controller.ControllerContext = mock.Object; controller.WithCallTo(x => x.Edit(training)) .ShouldRedirectToRoute(""); }
public void EditShouldWorkCorrectlyWithInvalidModelState() { var caloriesBurned = 1500; var autoMapperConfig = new AutoMapperConfig(); autoMapperConfig.Execute(typeof(TrainingsController).Assembly); var trainingsServiceMock = new Mock<ITrainingsService>(); var training = new TrainingEditViewModel() { Calories = caloriesBurned, }; var predictionsServiceMock = new Mock<ITrainingPrediction>(); //predictionsServiceMock.Setup() var mock = new Mock<ControllerContext>(); mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("anon"); mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true); var controller = new TrainingsController(trainingsServiceMock.Object, predictionsServiceMock.Object); controller.ControllerContext = mock.Object; controller.ModelState.AddModelError("FirstName", "First Name is Required"); controller.WithCallTo(x => x.Edit(training)) .ShouldRenderView("Edit") .WithModel<TrainingEditViewModel>( viewModel => { Assert.AreEqual(caloriesBurned, viewModel.Calories); }); }
public void EditShouldWorkCorrectly() { var caloriesBurned = 1500; var autoMapperConfig = new AutoMapperConfig(); autoMapperConfig.Execute(typeof(TrainingsController).Assembly); var trainingsServiceMock = new Mock<ITrainingsService>(); trainingsServiceMock.Setup( x => x.GetById(It.IsAny<object>())) .Returns( new Training() { Calories = caloriesBurned, Track = new Track() { Ascent = 2500, Length = 50 } } ); var predictionsServiceMock = new Mock<ITrainingPrediction>(); //predictionsServiceMock.Setup() var mock = new Mock<ControllerContext>(); mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("anon"); mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true); var controller = new TrainingsController(trainingsServiceMock.Object, predictionsServiceMock.Object); controller.ControllerContext = mock.Object; controller.WithCallTo(x => x.Edit(It.IsAny<int>())) .ShouldRenderView("Edit") .WithModel<TrainingEditViewModel>( viewModel => { Assert.AreEqual(caloriesBurned, viewModel.Calories); }).AndNoModelErrors(); }
public void DeleteShouldWorkCorrectly() { var autoMapperConfig = new AutoMapperConfig(); autoMapperConfig.Execute(typeof(TrainingsController).Assembly); var trainingsServiceMock = new Mock<ITrainingsService>(); var predictionsServiceMock = new Mock<ITrainingPrediction>(); var mock = new Mock<ControllerContext>(); mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("anon"); mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true); var controller = new TrainingsController(trainingsServiceMock.Object, predictionsServiceMock.Object); controller.ControllerContext = mock.Object; controller.WithCallTo(x => x.Delete(It.IsAny<int>())) .ShouldRedirectToRoute(""); }
public void CreateShouldRedirectToHomeWhenValidModel() { var autoMapperConfig = new AutoMapperConfig(); autoMapperConfig.Execute(typeof(TrainingsController).Assembly); var trainingsServiceMock = new Mock<ITrainingsService>(); var predictionsServiceMock = new Mock<ITrainingPrediction>(); var mock = new Mock<ControllerContext>(); mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("anon"); mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true); var controller = new TrainingsController(trainingsServiceMock.Object, predictionsServiceMock.Object); controller.ControllerContext = mock.Object; controller.WithCallTo(x => x.Create(new TrainingCreateViewModel() { Calories = 1500, EndDate = DateTime.Now, StartDate = DateTime.Now, Title = "Test", Water = 3, Track = new TrackCreateViewModel() { Ascent = 3000, AscentLength = 25, Length = 80, Title = "test track 1" }, })) .ShouldRedirectToRoute(""); }
public void CreateShouldRedirectToCreateWhenInvalidModel() { var autoMapperConfig = new AutoMapperConfig(); autoMapperConfig.Execute(typeof(TrainingsController).Assembly); var trainingsServiceMock = new Mock<ITrainingsService>(); var predictionsServiceMock = new Mock<ITrainingPrediction>(); var mock = new Mock<ControllerContext>(); mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("anon"); mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true); var controller = new TrainingsController(trainingsServiceMock.Object, predictionsServiceMock.Object); controller.ControllerContext = mock.Object; controller.ModelState.AddModelError("FirstName", "First Name is Required"); controller.WithCallTo(x => x.Create(new TrainingCreateViewModel())) .ShouldRenderView("Create"); }