Exemplo 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));
        }
Exemplo n.º 2
0
        public void TestGetNutrition_ServiceReturnsNutrition_ShouldCallFactoryCreateNutritionViewModel(int id)
        {
            // Arrange
            var date = new DateTime(1, 2, 3);

            var nutrition = new Nutrition {
                Date = date
            };

            var mockedFactory          = new Mock <IViewModelFactory>();
            var mockedDateTimeProvider = new Mock <IDateTimeProvider>();

            var mockedNutritionService = new Mock <INutritionService>();

            mockedNutritionService.Setup(s => s.GetById(It.IsAny <int>())).Returns(nutrition);

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object,
                                                     mockedNutritionService.Object, mockedAuthenticationProvider.Object);

            // Act
            controller.GetNutrition(id);

            // Assert
            mockedFactory.Verify(f => f.CreateNutritionViewModel(nutrition, date), Times.Once);
        }
Exemplo n.º 3
0
        public void TestLoad_ShouldRenderCorrectViewWithModel()
        {
            // Arrange
            var viewModel = new NutritionViewModel();

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateNutritionViewModel(It.IsAny <Nutrition>(), It.IsAny <DateTime>()))
            .Returns(viewModel);

            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, Assert
            controller
            .WithCallTo(c => c.Load(date))
            .ShouldRenderDefaultPartialView()
            .WithModel <NutritionViewModel>(m => Assert.AreSame(viewModel, m));
        }
Exemplo n.º 4
0
        public void TestStats_NoIdProvidedAndIsAuthenticated_ShouldSetModelCanDeleteToTrue()
        {
            // Arrange
            var model = new NutritionStatsViewModel();

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateNutritionStatsViewModel(It.IsAny <IEnumerable <Nutrition> >())).Returns(model);

            var mockedDateTimeProvider = new Mock <IDateTimeProvider>();
            var mockedNutritionService = new Mock <INutritionService>();

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            mockedAuthenticationProvider.Setup(p => p.IsAuthenticated).Returns(true);

            var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object,
                                                     mockedNutritionService.Object, mockedAuthenticationProvider.Object);

            // Act
            controller.Stats(null);

            // Assert
            Assert.IsTrue(model.CanDelete);
        }
Exemplo n.º 5
0
        public void TestStats_ShouldRenderDefaultViewWithCorrectModel(string userId)
        {
            // Arrange
            var model = new NutritionStatsViewModel();

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateNutritionStatsViewModel(It.IsAny <IEnumerable <Nutrition> >())).Returns(model);

            var mockedDateTimeProvider = new Mock <IDateTimeProvider>();
            var mockedNutritionService = new Mock <INutritionService>();

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId);

            var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object,
                                                     mockedNutritionService.Object, mockedAuthenticationProvider.Object);

            // Act, Assert
            controller
            .WithCallTo(c => c.Stats(null))
            .ShouldRenderDefaultPartialView()
            .WithModel <NutritionStatsViewModel>(m => Assert.AreSame(model, m));
        }
Exemplo n.º 6
0
        public void TestStats_ShouldCallFactoryCreateNutritionStatsViewModel(string userId)
        {
            // Arrange
            var model = new NutritionStatsViewModel();

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateNutritionStatsViewModel(It.IsAny <IEnumerable <Nutrition> >())).Returns(model);

            var mockedDateTimeProvider = new Mock <IDateTimeProvider>();

            var nutritions = new List <Nutrition> {
                new Nutrition(), new Nutrition()
            };

            var mockedNutritionService = new Mock <INutritionService>();

            mockedNutritionService.Setup(s => s.GetUserNutritionsSortedByDate(It.IsAny <string>())).Returns(nutritions);

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId);

            var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object,
                                                     mockedNutritionService.Object, mockedAuthenticationProvider.Object);

            // Act
            controller.Stats(null);

            // Assert
            mockedFactory.Verify(f => f.CreateNutritionStatsViewModel(nutritions), Times.Once);
        }
Exemplo n.º 7
0
        public void TestGetNutrition_ServiceReturnsNutrition_ShouldRenderPartialViewWithModel(int id)
        {
            // Arrange
            var date = new DateTime(1, 2, 3);

            var nutrition = new Nutrition {
                Date = date
            };

            var model = new NutritionViewModel();

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateNutritionViewModel(It.IsAny <Nutrition>(), It.IsAny <DateTime>()))
            .Returns(model);

            var mockedDateTimeProvider = new Mock <IDateTimeProvider>();

            var mockedNutritionService = new Mock <INutritionService>();

            mockedNutritionService.Setup(s => s.GetById(It.IsAny <int>())).Returns(nutrition);

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object,
                                                     mockedNutritionService.Object, mockedAuthenticationProvider.Object);

            // Act, Assert
            controller
            .WithCallTo(c => c.GetNutrition(id))
            .ShouldRenderPartialView("NutritionDetails")
            .WithModel <NutritionViewModel>(model);
        }
Exemplo n.º 8
0
        public void TestDetails_ServiceReturnsUser_ShouldRenderCorrectViewWithModel(string username, string userId)
        {
            // Arrange
            var user = new User {
                Id = userId
            };

            var mockedService = new Mock <IUserService>();

            mockedService.Setup(s => s.GetUserByUsername(It.IsAny <string>())).Returns(user);

            var model = new UserIdViewModel();

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateUserIdViewModel(It.IsAny <string>())).Returns(model);

            var controller = new NutritionController(mockedService.Object, mockedFactory.Object);

            // Act, Assert
            controller
            .WithCallTo(c => c.Details(username))
            .ShouldRenderDefaultView()
            .WithModel <UserIdViewModel>(model);
        }
Exemplo n.º 9
0
        public void TestInput_ShouldRenderCorrectViewWithModel()
        {
            // Arrange
            var model = new InputViewModel();

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateInputViewModel(It.IsAny <DateTime>())).Returns(model);

            var date = new DateTime();

            var mockedDateTimeProvider = new Mock <IDateTimeProvider>();

            mockedDateTimeProvider.Setup(p => p.GetCurrentTime()).Returns(date);

            var mockedNutritionService = new Mock <INutritionService>();

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object,
                                                     mockedNutritionService.Object, mockedAuthenticationProvider.Object);

            // Act, Assert
            controller
            .WithCallTo(c => c.Input())
            .ShouldRenderDefaultView()
            .WithModel <InputViewModel>(m => Assert.AreSame(model, m));
        }
Exemplo n.º 10
0
        public void TestSave_ModelStateIsNotValid_ShouldNotCallAuthenticationProviderCurrentUserId(int calories, int protein, int carbs, int fats,
                                                                                                   double water, int fiber, int sugar, string notes, string userId)
        {
            // Arrange,
            var date = new DateTime(2, 3, 4);

            var model = new NutritionViewModel
            {
                Date          = date,
                Calories      = calories,
                Protein       = protein,
                Carbs         = carbs,
                Fats          = fats,
                WaterInLitres = water,
                Fiber         = fiber,
                Sugar         = sugar,
                Notes         = notes
            };

            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);

            controller.ModelState.AddModelError("", "");

            // Act
            controller.Save(model);

            // Assert
            mockedAuthenticationProvider.Verify(p => p.CurrentUserId, Times.Never);
        }
Exemplo n.º 11
0
        public void TestConstructor_PassEverythingCorrectly_ShouldInitializeCorrectly()
        {
            // Arrange
            var mockedService = new Mock <IUserService>();
            var mockedFactory = new Mock <IViewModelFactory>();

            // Act
            var controller = new NutritionController(mockedService.Object, mockedFactory.Object);

            // Assert
            Assert.IsNotNull(controller);
        }
Exemplo n.º 12
0
        public void TestSave_ModelIdHasValue_ShouldRenderCorrectPartialViewWithModel(int id, int calories, int protein, int carbs, int fats,
                                                                                     double water, int fiber, int sugar, string notes, string userId)
        {
            // Arrange,
            var date = new DateTime(2, 3, 4);

            var model = new NutritionViewModel
            {
                Date          = date,
                Calories      = calories,
                Protein       = protein,
                Carbs         = carbs,
                Fats          = fats,
                WaterInLitres = water,
                Fiber         = fiber,
                Sugar         = sugar,
                Notes         = notes,
                Id            = id
            };

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateNutritionViewModel(It.IsAny <Nutrition>(), It.IsAny <DateTime>()))
            .Returns(model);

            var mockedDateTimeProvider = new Mock <IDateTimeProvider>();

            var nutrition = new Nutrition();

            var mockedNutritionService = new Mock <INutritionService>();

            mockedNutritionService.Setup(s => s.EditNutrition(It.IsAny <string>(), It.IsAny <DateTime>(),
                                                              It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <double>(),
                                                              It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>()))
            .Returns(nutrition);

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId);

            var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object,
                                                     mockedNutritionService.Object, mockedAuthenticationProvider.Object);

            // Act
            var result = controller.Save(model) as PartialViewResult;

            // Assert
            controller
            .WithCallTo(c => c.Save(model))
            .ShouldRenderPartialView("Load")
            .WithModel <NutritionViewModel>(m => Assert.AreSame(model, m));
        }
Exemplo n.º 13
0
        public void TestDetails_PassUsernameNull_ShouldNotCallUserServiceGetUserByUsername()
        {
            // Arrange
            var mockedService = new Mock <IUserService>();
            var mockedFactory = new Mock <IViewModelFactory>();

            var controller = new NutritionController(mockedService.Object, mockedFactory.Object);

            // Act
            controller.Details(null);

            // Assert
            mockedService.Verify(s => s.GetUserByUsername(It.IsAny <string>()), Times.Never);
        }
Exemplo n.º 14
0
        public void TestDetails_PassUsername_ShouldCallUserServiceGetUserByUsername(string username)
        {
            // Arrange
            var mockedService = new Mock <IUserService>();
            var mockedFactory = new Mock <IViewModelFactory>();

            var controller = new NutritionController(mockedService.Object, mockedFactory.Object);

            // Act
            controller.Details(username);

            // Assert
            mockedService.Verify(s => s.GetUserByUsername(username), Times.Once);
        }
Exemplo n.º 15
0
        public void TestDetails_ServiceReturnsNull_ShouldReturnHttpNotFoundResult(string username)
        {
            // Arrange
            var mockedService = new Mock <IUserService>();
            var mockedFactory = new Mock <IViewModelFactory>();

            var controller = new NutritionController(mockedService.Object, mockedFactory.Object);

            // Act
            var result = controller.Details(username);

            // Assert
            Assert.IsInstanceOf <HttpNotFoundResult>(result);
        }
Exemplo n.º 16
0
        public void TestDetails_ServiceReturnsNull_ShouldNotCallFactoryCreateUserIdViewModel(string username)
        {
            // Arrange
            var mockedService = new Mock <IUserService>();
            var mockedFactory = new Mock <IViewModelFactory>();

            var controller = new NutritionController(mockedService.Object, mockedFactory.Object);

            // Act
            controller.Details(username);

            // Assert
            mockedFactory.Verify(f => f.CreateUserIdViewModel(It.IsAny <string>()), Times.Never);
        }
Exemplo n.º 17
0
        public void TestSave_ModelIdHasValue_ShouldCallFactoryCreateNutritionViewModelWithResultFromService(int id, int calories, int protein, int carbs, int fats,
                                                                                                            double water, int fiber, int sugar, string notes, string userId)
        {
            // Arrange,
            var date = new DateTime(2, 3, 4);

            var model = new NutritionViewModel
            {
                Date          = date,
                Calories      = calories,
                Protein       = protein,
                Carbs         = carbs,
                Fats          = fats,
                WaterInLitres = water,
                Fiber         = fiber,
                Sugar         = sugar,
                Notes         = notes,
                Id            = id
            };

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateNutritionViewModel(It.IsAny <Nutrition>(), It.IsAny <DateTime>()))
            .Returns(model);

            var mockedDateTimeProvider = new Mock <IDateTimeProvider>();

            var nutrition = new Nutrition();

            var mockedNutritionService = new Mock <INutritionService>();

            mockedNutritionService.Setup(s => s.EditNutrition(It.IsAny <string>(), It.IsAny <DateTime>(),
                                                              It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <double>(),
                                                              It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>()))
            .Returns(nutrition);

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId);

            var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object,
                                                     mockedNutritionService.Object, mockedAuthenticationProvider.Object);

            // Act
            controller.Save(model);

            // Assert
            mockedFactory.Verify(f => f.CreateNutritionViewModel(nutrition, date), Times.Once);
        }
Exemplo n.º 18
0
        public void TestConstructor_PassEverything_ShouldInitializeCorrectly()
        {
            // Arrange
            var mockedFactory                = new Mock <IViewModelFactory>();
            var mockedDateTimeProvider       = new Mock <IDateTimeProvider>();
            var mockedNutritionService       = new Mock <INutritionService>();
            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            // Act
            var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object,
                                                     mockedNutritionService.Object, mockedAuthenticationProvider.Object);

            // Assert
            Assert.IsNotNull(controller);
        }
Exemplo n.º 19
0
        public void TestGetNutrition_ServiceReturnsNull_ShouldRenderPartialViewWithModelNull(int id)
        {
            // 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, Assert
            controller
            .WithCallTo(c => c.GetNutrition(id))
            .ShouldRenderPartialView("NutritionDetails");
        }
Exemplo n.º 20
0
        public void TestIndex_ShouldRenderCorrectView()
        {
            // 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, Assert
            controller
            .WithCallTo(c => c.Index())
            .ShouldRenderDefaultView();
        }
Exemplo n.º 21
0
        public void TestSave_ModelIdDoesNotHaveValue_ShouldSetModelSaveResult(int calories, int protein, int carbs, int fats,
                                                                              double water, int fiber, int sugar, string notes, string userId)
        {
            // Arrange,
            var date = new DateTime(2, 3, 4);

            var model = new NutritionViewModel
            {
                Date          = date,
                Calories      = calories,
                Protein       = protein,
                Carbs         = carbs,
                Fats          = fats,
                WaterInLitres = water,
                Fiber         = fiber,
                Sugar         = sugar,
                Notes         = notes
            };

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateNutritionViewModel(It.IsAny <Nutrition>(), It.IsAny <DateTime>()))
            .Returns(model);

            var mockedDateTimeProvider = new Mock <IDateTimeProvider>();

            var nutrition = new Nutrition();

            var mockedNutritionService = new Mock <INutritionService>();

            mockedNutritionService.Setup(s => s.CreateNutrition(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <double>(),
                                                                It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>()))
            .Returns(nutrition);

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId);

            var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object,
                                                     mockedNutritionService.Object, mockedAuthenticationProvider.Object);

            // Act
            var result = controller.Save(model) as PartialViewResult;

            // Assert
            Assert.AreEqual(Constants.SavedSuccessfully, ((NutritionViewModel)result.Model).SaveResult);
        }
Exemplo n.º 22
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);
        }
Exemplo n.º 23
0
        public void TestGetNutrition_ShouldCallSeasurementServiceGetById(int id)
        {
            // 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.GetNutrition(id);

            // Assert
            mockedNutritionService.Verify(s => s.GetById(id), Times.Once);
        }
Exemplo n.º 24
0
        public void TestDeleteNutrition_ShouldCallAuthenticationProviderCurrentUserId(int id, string userId)
        {
            // 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.DeleteNutrition(id);

            // Assert
            mockedAuthenticationProvider.Verify(p => p.CurrentUserId, Times.Once);
        }
Exemplo n.º 25
0
        public void TestInput_ShouldCallDateTimeProviderGetCurrentTime()
        {
            // 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.Input();

            // Assert
            mockedDateTimeProvider.Verify(p => p.GetCurrentTime(), Times.Once);
        }
Exemplo n.º 26
0
        public void TestLoad_ModelStateIsNotValid_ShouldRenderDefaultPartialView()
        {
            // 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);

            controller.ModelState.AddModelError("", "");


            // Act, Assert
            controller
            .WithCallTo(c => c.Load(new DateTime()))
            .ShouldRenderDefaultPartialView();
        }
Exemplo n.º 27
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));
        }
Exemplo n.º 28
0
        public void TestDeleteNutrition_ShouldReturnNull(int id, 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 controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object,
                                                     mockedNutritionService.Object, mockedAuthenticationProvider.Object);

            // Act
            var result = controller.DeleteNutrition(id);

            // Assert
            Assert.IsNull(result);
        }
Exemplo n.º 29
0
        public void TestSave_ModelIdDoesNotHaveValue_ShouldCallServiceCreateNutrition(int calories, int protein, int carbs, int fats,
                                                                                      double water, int fiber, int sugar, string notes, string userId)
        {
            // Arrange,
            var date = new DateTime(2, 3, 4);

            var model = new NutritionViewModel
            {
                Date          = date,
                Calories      = calories,
                Protein       = protein,
                Carbs         = carbs,
                Fats          = fats,
                WaterInLitres = water,
                Fiber         = fiber,
                Sugar         = sugar,
                Notes         = notes
            };

            var mockedFactory = new Mock <IViewModelFactory>();

            mockedFactory.Setup(f => f.CreateNutritionViewModel(It.IsAny <Nutrition>(), It.IsAny <DateTime>()))
            .Returns(model);

            var mockedDateTimeProvider = new Mock <IDateTimeProvider>();
            var mockedNutritionService = new Mock <INutritionService>();

            var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>();

            mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId);

            var controller = new NutritionController(mockedFactory.Object, mockedDateTimeProvider.Object,
                                                     mockedNutritionService.Object, mockedAuthenticationProvider.Object);

            // Act
            controller.Save(model);

            // Assert
            mockedNutritionService.Verify(s => s.CreateNutrition(calories, protein, carbs, fats, water, fiber, sugar, notes, userId, date),
                                          Times.Once);
        }
Exemplo n.º 30
0
        public void TestDetails_ServiceReturnsUser_ShouldCallFactoryCreateUserIdViewModel(string username, string userId)
        {
            // Arrange
            var user = new User {
                Id = userId
            };

            var mockedService = new Mock <IUserService>();

            mockedService.Setup(s => s.GetUserByUsername(It.IsAny <string>())).Returns(user);

            var mockedFactory = new Mock <IViewModelFactory>();

            var controller = new NutritionController(mockedService.Object, mockedFactory.Object);

            // Act
            controller.Details(username);

            // Assert
            mockedFactory.Verify(f => f.CreateUserIdViewModel(userId), Times.Once);
        }