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 ReturnDefaultView_WithModelErrorForImage_WhenUploadedFileIsNotImage()
        {
            //Arrange
            var mockedMappingService = new Mock <IMappingService>();
            var mockedRegionsService = new Mock <IRegionsService>();
            var mockedBarsService    = new Mock <IBarsService>();
            var mockedCacheProvider  = new Mock <ICacheProvider>();
            var mockedServerProvider = new Mock <IServerProvider>();
            var mockedPathProvider   = new Mock <IPathProvider>();

            mockedPathProvider.Setup(x => x.GetExtension(It.IsAny <string>())).Returns(".exe");

            var controller = new AddBarController(mockedMappingService.Object,
                                                  mockedRegionsService.Object,
                                                  mockedBarsService.Object,
                                                  mockedCacheProvider.Object,
                                                  mockedServerProvider.Object,
                                                  mockedPathProvider.Object);
            var mockedFile = new Mock <HttpPostedFileBase>();

            mockedFile.Setup(x => x.ContentType).Returns(".exe");
            var barModel = new AddBarViewModel()
            {
                Image = mockedFile.Object
            };

            //Act & Assert
            controller.WithCallTo(x => x.Index(barModel))
            .ShouldRenderDefaultView()
            .WithModel <AddBarViewModel>()
            .AndModelError("Image")
            .ThatEquals("The uploaded file should be an image");
        }
        public void ReturnDefaultView_WithModelError_WhenModelStateIsInvalid()
        {
            //Arrange
            var mockedMappingService = new Mock <IMappingService>();
            var mockedRegionsService = new Mock <IRegionsService>();
            var mockedBarsService    = new Mock <IBarsService>();
            var mockedCacheProvider  = new Mock <ICacheProvider>();
            var mockedServerProvider = new Mock <IServerProvider>();
            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();

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

            //Act & Assert
            controller.WithCallTo(x => x.Index(barModel))
            .ShouldRenderDefaultView()
            .WithModel <AddBarViewModel>()
            .AndModelError("Error")
            .ThatEquals("Error message");
        }
예제 #4
0
        public void CallCacheProviderSaveInCache_WithCorrectParameters_WhenCacheProviderProviderReturnsNull()
        {
            //Arrange
            var regions = new List <Region>();
            var mockedMappingService = new Mock <IMappingService>();
            var mockedRegionsService = new Mock <IRegionsService>();

            mockedRegionsService.Setup(x => x.GetAllRegions()).Returns(regions);
            var mockedBarsService   = new Mock <IBarsService>();
            var mockedCacheProvider = new Mock <ICacheProvider>();

            mockedCacheProvider.Setup(x => x.GetItem(It.IsAny <string>())).Returns(null);
            mockedCacheProvider.Setup(x => x.SaveInCache(It.IsAny <string>(),
                                                         It.IsAny <object>(),
                                                         60))
            .Verifiable();
            var mockedServerProvider = new Mock <IServerProvider>();
            var mockedPathProvider   = new Mock <IPathProvider>();

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

            //Act
            controller.Index();

            //Assert
            mockedCacheProvider.Verify(x => x.SaveInCache("regions", regions, 60), Times.Once());
        }
예제 #5
0
        public void CallCacheProviderGetItemWithCorrectParameter_AndNotCallRegionsServiceGetAllRegions_WhenProviderReturnsItems()
        {
            //Arrange
            var regions = new List <Region>();
            var mockedMappingService = new Mock <IMappingService>();
            var mockedRegionsService = new Mock <IRegionsService>();

            mockedRegionsService.Setup(x => x.GetAllRegions()).Verifiable();
            var mockedBarsService   = new Mock <IBarsService>();
            var mockedCacheProvider = new Mock <ICacheProvider>();

            mockedCacheProvider.Setup(x => x.GetItem(It.IsAny <string>())).Returns(regions);
            var mockedServerProvider = new Mock <IServerProvider>();
            var mockedPathProvider   = new Mock <IPathProvider>();

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

            //Act
            controller.Index();

            //Assert
            mockedCacheProvider.Verify(x => x.GetItem("regions"), Times.Once());
            mockedRegionsService.Verify(x => x.GetAllRegions(), Times.Never());
        }
        public void ReturnAnInstance_ParametersAreNotNull()
        {
            //Arrange
            var mockedMappingService = new Mock <IMappingService>();
            var mockedRegionsService = new Mock <IRegionsService>();
            var mockedBarsService    = new Mock <IBarsService>();
            var mockedCacheProvider  = new Mock <ICacheProvider>();
            var mockedServerProvider = new Mock <IServerProvider>();
            var mockedPathProvider   = new Mock <IPathProvider>();

            //Act
            var controller = new AddBarController(mockedMappingService.Object,
                                                  mockedRegionsService.Object,
                                                  mockedBarsService.Object,
                                                  mockedCacheProvider.Object,
                                                  mockedServerProvider.Object,
                                                  mockedPathProvider.Object);

            //Assert
            Assert.IsInstanceOf <AddBarController>(controller);
        }
예제 #7
0
        public void ReturnDefaultView()
        {
            //Arrange
            var mockedMappingService = new Mock <IMappingService>();
            var mockedRegionsService = new Mock <IRegionsService>();
            var mockedBarsService    = new Mock <IBarsService>();
            var mockedCacheProvider  = new Mock <ICacheProvider>();
            var mockedServerProvider = new Mock <IServerProvider>();
            var mockedPathProvider   = new Mock <IPathProvider>();

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

            //Act & Assert
            controller.WithCallTo(x => x.Index())
            .ShouldRenderDefaultView();
        }