public void TestLoad_ShouldRenderCorrectViewWithModel() { // Arrange var viewModel = new MeasurementViewModel(); var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateMeasurementViewModel(It.IsAny <Measurement>(), It.IsAny <DateTime>())) .Returns(viewModel); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var date = new DateTime(2, 3, 4); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act, Assert controller .WithCallTo(c => c.Load(date)) .ShouldRenderDefaultPartialView() .WithModel <MeasurementViewModel>(m => Assert.AreSame(viewModel, m)); }
public void TestStats_ShouldRenderDefaultViewWithCorrectModel(string userId) { // Arrange var model = new MeasurementStatsViewModel(); var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateMeasurementStatsViewModel(It.IsAny <IEnumerable <Measurement> >())).Returns(model); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act, Assert controller .WithCallTo(c => c.Stats(null)) .ShouldRenderDefaultPartialView() .WithModel <MeasurementStatsViewModel>(m => Assert.AreSame(model, m)); }
public void TestGetMeasurement_ServiceReturnsMeasurement_ShouldRenderPartialViewWithModel(int id) { // Arrange var date = new DateTime(1, 2, 3); var measurement = new Measurement { Date = date }; var model = new MeasurementViewModel(); 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>(); mockedMeasurementService.Setup(s => s.GetById(It.IsAny <int>())).Returns(measurement); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act, Assert controller .WithCallTo(c => c.GetMeasurement(id)) .ShouldRenderPartialView("MeasurementDetails") .WithModel <MeasurementViewModel>(model); }
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 TestGetMeasurement_ServiceReturnsNull_ShouldRenderPartialViewWithModelNull(int id) { // Arrange 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); // Act, Assert controller .WithCallTo(c => c.GetMeasurement(id)) .ShouldRenderPartialView("MeasurementDetails"); }
public void TestLoad_ModelStateIsNotValid_ShouldRenderCorrectView() { // Arrange 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, Assert controller .WithCallTo(c => c.Load(new DateTime())) .ShouldRenderDefaultPartialView(); }
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)); }