Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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);
        }