public void TestSave_ModelStateIsNotValid_ShouldRenderCorrectPartialViewWithModel(int height, double weightKg, double bodyFatPercent, int chest, int shoulders, int forearm, int arm, int waist, int hips, int thighs, int calves, int neck, int wrist, int ankle, string userId) { // Arrange, var date = new DateTime(2, 3, 4); var model = new MeasurementViewModel { Date = date, Height = height, WeightKg = weightKg, BodyFatPercent = bodyFatPercent, Chest = chest, Shoulders = shoulders, Forearm = forearm, Arm = arm, Waist = waist, Hips = hips, Thighs = thighs, Calves = calves, Neck = neck, Wrist = wrist, Ankle = ankle }; var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); controller.ModelState.AddModelError("", ""); // Act controller.Save(model); // Assert controller .WithCallTo(c => c.Save(model)) .ShouldRenderPartialView("Load") .WithModel <MeasurementViewModel>(m => Assert.AreSame(model, m)); }
public void TestSave_ModelStateIsValid_ShouldCallAuthenticationProviderCurrentUserId(int height, double weightKg, double bodyFatPercent, int chest, int shoulders, int forearm, int arm, int waist, int hips, int thighs, int calves, int neck, int wrist, int ankle, string userId) { // Arrange, var date = new DateTime(2, 3, 4); var model = new MeasurementViewModel { Date = date, Height = height, WeightKg = weightKg, BodyFatPercent = bodyFatPercent, Chest = chest, Shoulders = shoulders, Forearm = forearm, Arm = arm, Waist = waist, Hips = hips, Thighs = thighs, Calves = calves, Neck = neck, Wrist = wrist, Ankle = ankle }; var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateMeasurementViewModel(It.IsAny <Measurement>(), It.IsAny <DateTime>())) .Returns(model); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act controller.Save(model); // Assert mockedAuthenticationProvider.Verify(p => p.CurrentUserId, Times.Once); }
public void TestSave_ModelIdHasValue_ShouldRenderCorrectPartialViewWithModel(int height, double weightKg, double bodyFatPercent, int chest, int shoulders, int forearm, int arm, int waist, int hips, int thighs, int calves, int neck, int wrist, int ankle, string userId) { // Arrange, var date = new DateTime(2, 3, 4); var model = new MeasurementViewModel { Date = date, Height = height, WeightKg = weightKg, BodyFatPercent = bodyFatPercent, Chest = chest, Shoulders = shoulders, Forearm = forearm, Arm = arm, Waist = waist, Hips = hips, Thighs = thighs, Calves = calves, Neck = neck, Wrist = wrist, Ankle = ankle }; var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateMeasurementViewModel(It.IsAny <Measurement>(), It.IsAny <DateTime>())) .Returns(model); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var measurement = new Measurement(); var mockedMeasurementService = new Mock <IMeasurementService>(); mockedMeasurementService.Setup(s => s.EditMeasurement(It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <double>(), It.IsAny <double>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())) .Returns(measurement); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act var result = controller.Save(model) as PartialViewResult; // Assert controller .WithCallTo(c => c.Save(model)) .ShouldRenderPartialView("Load") .WithModel <MeasurementViewModel>(m => Assert.AreSame(model, m)); }
public void TestSave_ModelIdDoesNotHaveValue_ShouldSetModelSaveResult(int height, double weightKg, double bodyFatPercent, int chest, int shoulders, int forearm, int arm, int waist, int hips, int thighs, int calves, int neck, int wrist, int ankle, string userId) { // Arrange, var date = new DateTime(2, 3, 4); var model = new MeasurementViewModel { Date = date, Height = height, WeightKg = weightKg, BodyFatPercent = bodyFatPercent, Chest = chest, Shoulders = shoulders, Forearm = forearm, Arm = arm, Waist = waist, Hips = hips, Thighs = thighs, Calves = calves, Neck = neck, Wrist = wrist, Ankle = ankle }; var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateMeasurementViewModel(It.IsAny <Measurement>(), It.IsAny <DateTime>())) .Returns(model); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var measurement = new Measurement(); var mockedMeasurementService = new Mock <IMeasurementService>(); mockedMeasurementService.Setup(s => s.CreateMeasurement(It.IsAny <int>(), It.IsAny <double>(), It.IsAny <double>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), It.IsAny <DateTime>())) .Returns(measurement); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act var result = controller.Save(model) as PartialViewResult; // Assert Assert.AreEqual(Constants.SavedSuccessfully, ((MeasurementViewModel)result.Model).SaveResult); }