public void TestLoad_NutritionIsNotNull_ShouldCallFactoryCreatNutritionViewModelCorrectly() { // Arrange var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var nutrition = new Nutrition(); var mockedNutritionService = new Mock <INutritionService>(); mockedNutritionService.Setup(s => s.GetByDate(It.IsAny <string>(), It.IsAny <DateTime>())) .Returns(nutrition); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var date = new DateTime(2, 3, 4); var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object, mockedNutritionService.Object, mockedAuthenticationProvider.Object); // Act controller.Load(date); // Assert mockedFactory.Verify(f => f.CreateNutritionViewModel(nutrition, date)); }
public void TestLoad_ModelStateIsValid_ShouldCallAuthenticationProviderCurrentUserId() { // Arrange var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedNutritionService = new Mock <INutritionService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object, mockedNutritionService.Object, mockedAuthenticationProvider.Object); // Act controller.Load(new DateTime()); // Assert mockedAuthenticationProvider.Verify(p => p.CurrentUserId, Times.Once); }
public void TestLoad_NutritionIsNull_ShouldCallFactoryCreateNutritonViewModelWithNull() { // Arrange var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedNutritionService = new Mock <INutritionService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var date = new DateTime(2, 3, 4); var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object, mockedNutritionService.Object, mockedAuthenticationProvider.Object); // Act controller.Load(date); // Assert mockedFactory.Verify(f => f.CreateNutritionViewModel(null, date)); }
public void TestLoad_ModelStateIsValid_ShouldCallNutritionServiceGetByDate(string userId) { // Arrange var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedNutritionService = new Mock <INutritionService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId); var date = new DateTime(2, 3, 4); var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object, mockedNutritionService.Object, mockedAuthenticationProvider.Object); // Act controller.Load(date); // Assert mockedNutritionService.Verify(s => s.GetByDate(userId, date), Times.Once); }