예제 #1
0
        public void ReturnDefaultView_WithBarViewModel_WithCorrectlySetCurrentUserRating()
        {
            //Arrange
            var    bar                  = new ShishaBar();
            var    barViewModel         = new BarViewModel();
            string userId               = "1";
            int    rating               = 5;
            int    barId                = 2;
            var    mockedMappingService = new Mock <IMappingService>();

            mockedMappingService.Setup(x => x.Map <ShishaBar, BarViewModel>(bar)).Returns(barViewModel);
            var mockedBarsService = new Mock <IBarsService>();

            mockedBarsService.Setup(x => x.GetBarById(It.IsAny <int>())).Returns(bar);
            var mockedReviewsService = new Mock <IReviewsService>();
            var mockedRatingService  = new Mock <IRatingService>();

            mockedRatingService.Setup(x => x.GetUserRating(It.IsAny <int>(), userId)).Returns(rating);
            var mockedUserProvider = new Mock <IUserProvider>();

            mockedUserProvider.Setup(x => x.GetUserId()).Returns(userId);
            var controller = new BarController(mockedMappingService.Object,
                                               mockedBarsService.Object,
                                               mockedReviewsService.Object,
                                               mockedRatingService.Object,
                                               mockedUserProvider.Object);

            //Act & Assert
            controller.WithCallTo(c => c.Index(2))
            .ShouldRenderDefaultView()
            .WithModel <BarViewModel>(ViewModel =>
            {
                Assert.AreEqual(rating, ViewModel.CurrentUserRating);
            });
        }
예제 #2
0
        public void CallBarsService_GetByIdMethod_WithCorrectIdWhenItIsPassed()
        {
            //Arrange
            var    bar                  = new ShishaBar();
            var    barViewModel         = new BarViewModel();
            string userId               = "1";
            int    rating               = 5;
            var    mockedMappingService = new Mock <IMappingService>();

            mockedMappingService.Setup(x => x.Map <ShishaBar, BarViewModel>(bar)).Returns(barViewModel);
            var mockedBarsService = new Mock <IBarsService>();

            mockedBarsService.Setup(x => x.GetBarById(It.IsAny <int>())).Returns(bar);
            var mockedReviewsService = new Mock <IReviewsService>();
            var mockedRatingService  = new Mock <IRatingService>();

            mockedRatingService.Setup(x => x.GetUserRating(It.IsAny <int>(), userId)).Returns(rating);
            var mockedUserProvider = new Mock <IUserProvider>();

            mockedUserProvider.Setup(x => x.GetUserId()).Returns(userId);
            var controller = new BarController(mockedMappingService.Object,
                                               mockedBarsService.Object,
                                               mockedReviewsService.Object,
                                               mockedRatingService.Object,
                                               mockedUserProvider.Object);

            //Act
            controller.Index(2);

            //Assert
            mockedBarsService.Verify(x => x.GetBarById(2), Times.Once());
        }
        public void RedirectToHome_WhenModelStateIsValid_AndUploadedFileIsNull()
        {
            //Arrange
            var bar = new ShishaBar()
            {
                ImagePathBig = "Some/Path"
            };
            var mockedMappingService = new Mock <IMappingService>();

            mockedMappingService.Setup(x => x.Map <AddBarViewModel, ShishaBar>(It.IsAny <AddBarViewModel>())).Returns(bar);
            var mockedRegionsService = new Mock <IRegionsService>();
            var mockedBarsService    = new Mock <IBarsService>();

            mockedBarsService.Setup(x => x.AddBar(It.IsAny <ShishaBar>())).Verifiable();
            var mockedCacheProvider  = new Mock <ICacheProvider>();
            var mockedServerProvider = new Mock <IServerProvider>();

            mockedServerProvider.Setup(x => x.MapPath(It.IsAny <string>())).Returns("path");
            var mockedPathProvider = new Mock <IPathProvider>();

            var controller = new AddBarController(mockedMappingService.Object,
                                                  mockedRegionsService.Object,
                                                  mockedBarsService.Object,
                                                  mockedCacheProvider.Object,
                                                  mockedServerProvider.Object,
                                                  mockedPathProvider.Object);
            var barModel = new AddBarViewModel()
            {
            };

            //Act & Assert
            controller.WithCallTo(x => x.Index(barModel))
            .ShouldRedirectTo("/allbars");
        }
        public void ReturnsPagesCorrectly()
        {
            //Arrange
            var bar1 = new ShishaBar()
            {
                Id = 1
            };
            var bar2 = new ShishaBar()
            {
                Id = 2
            };
            var bar3 = new ShishaBar()
            {
                Id = 3
            };

            var bars = new List <ShishaBar>()
            {
                bar1,
                bar2,
                bar3
            }.AsQueryable();
            var mockedBarsRepo = new Mock <IEntityFrameworkRepository <ShishaBar> >();

            mockedBarsRepo.Setup(x => x.All).Returns(bars);
            var mockedData = new Mock <IShishaTimeData>();

            mockedData.Setup(x => x.Bars).Returns(mockedBarsRepo.Object);
            var service = new BarsService(mockedData.Object);
            int count;
            var expected = new List <ShishaBar>()
            {
                bar2
            };

            //Act
            var result = service.GetBarsWithPaging(out count, 2, 1);

            //Arrange
            Assert.AreEqual(expected, result);
        }
예제 #5
0
        public void CallDataBarsRepo_GetByIdMethod_WithCorrectId()
        {
            //Arrange
            var bar = new ShishaBar()
            {
                Ratings = new List <Rating>()
                {
                    new Rating()
                    {
                        BarId = 2, UserId = "2", Value = 4
                    },
                    new Rating()
                    {
                        BarId = 1, UserId = "2", Value = 3
                    },
                    new Rating()
                    {
                        BarId = 1, UserId = "3", Value = 5
                    }
                }
            };
            var mockedBarsRepo = new Mock <IEntityFrameworkRepository <ShishaBar> >();

            mockedBarsRepo.Setup(x => x.GetById(It.IsAny <int>())).Returns(bar);
            var mockedData = new Mock <IShishaTimeData>();

            mockedData.Setup(x => x.Bars).Returns(mockedBarsRepo.Object);
            mockedData.Setup(x => x.SaveChanges()).Verifiable();
            var service = new RatingService(mockedData.Object);

            //Act
            service.UpdateBarRating(1);

            //Assert
            mockedBarsRepo.Verify(x => x.GetById(1), Times.Once());
        }
예제 #6
0
        public void ReturnCorrectResult()
        {
            //Arrange
            var bar = new ShishaBar()
            {
                Ratings = new List <Rating>()
                {
                    new Rating()
                    {
                        BarId = 2, UserId = "2", Value = 5
                    },
                    new Rating()
                    {
                        BarId = 1, UserId = "2", Value = 2
                    },
                    new Rating()
                    {
                        BarId = 1, UserId = "3", Value = 5
                    }
                }
            };
            var mockedBarsRepo = new Mock <IEntityFrameworkRepository <ShishaBar> >();

            mockedBarsRepo.Setup(x => x.GetById(It.IsAny <int>())).Returns(bar);
            var mockedData = new Mock <IShishaTimeData>();

            mockedData.Setup(x => x.Bars).Returns(mockedBarsRepo.Object);
            mockedData.Setup(x => x.SaveChanges()).Verifiable();
            var service = new RatingService(mockedData.Object);

            //Act
            var result = service.UpdateBarRating(1);

            //Assert
            Assert.AreEqual(4, result);
        }
예제 #7
0
 public void AddBar(ShishaBar bar)
 {
     this.data.Bars.Add(bar);
     this.data.SaveChanges();
 }