Exemplo n.º 1
0
        public void GivenAMediaController_WhenIUploadAValidFileUsingHttpContext_ThenTheFileIsWrittenToTheDatabase()
        {
            //Assert.Fail("Write the test");
            var fileBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };

            int userId = 1001;
            var fileBase = new Mock<HttpPostedFileBase>();
            fileBase.Setup(f => f.ContentLength).Returns(fileBytes.Length);
            fileBase.Setup(s => s.InputStream).Returns(new MemoryStream(fileBytes));
            fileBase.Setup(s => s.ContentType).Returns("contentType");
            const string fileName = "fileName";
            fileBase.Setup(s => s.FileName).Returns(fileName);

            var controller = new MediaController(_mediaService.Object, null);

            SetControllerContext(controller);
            MockHttpContext.SetupProperty(h => h.User);
            controller.HttpContext.User = new UserViewModel { IsLoggedIn = true, Id = userId };

            controller.Create(new NewMediaViewModel
                                  {
                                      Title = "title",
                                      Caption = "caption",
                                      Description = "description",
                                      Alternate = "alternate",
                                      Alignment = (int)Media.ValidAllignments.Left,
                                      Size = (int)Media.ValidSizes.Medium,
                                      File = fileBase.Object
                                  });

            _mediaService.Verify(
                i => i.WriteMedia(fileName, userId, "contentType", It.IsAny<Stream>(), It.IsAny<int>()), Times.Once());
        }
Exemplo n.º 2
0
        public void GivenAStoredImage_WhenTheImageUrlIsConstructed_ThenTheImageIsReturned()
        {
            var logger = new Mock<ILogger>();
            string connectionString = ConfigurationManager.ConnectionStrings["mblog"].ConnectionString;
            string key = "filename";
            IUserService userService = new UserService(new UserRepository(connectionString),
                                                       new UsernameBlacklistRepository(connectionString), 
                                                       logger.Object);
            User user = userService.CreateUser("name", "email", "password");

            IMediaRepository repository = new MediaRepository(connectionString);
            IMediaService mediaService = new MediaService(repository);
            var controller = new MediaController(mediaService, logger.Object);

            var stream = new MemoryStream(new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 0});

            mediaService.WriteMedia(key, user.Id, "image/png", stream, 10);

            ActionResult result = controller.Show(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, key);
            Assert.That(result, Is.Not.Null);
        }
Exemplo n.º 3
0
        public void GivenAMediaController_WhenIUploadAValidFile_ThenASuccessCodeIsSet()
        {
            var fileBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
            var fileBase = new Mock<HttpPostedFileBase>();
            fileBase.Setup(f => f.ContentLength).Returns(fileBytes.Length);
            fileBase.Setup(s => s.InputStream).Returns(new MemoryStream(fileBytes));
            string fileName = "foo.jpg";
            DateTime now = DateTime.Now;
            Media media = new Media { Year = now.Year, Month = now.Month, Day = now.Day, LinkKey = fileName };
            _mediaService.Setup(m => m.WriteMedia(It.IsAny<string>(), It.IsAny<int>(), It.IsAny<string>(), It.IsAny<Stream>(),
                 It.IsAny<int>())).Returns(media);

            var controller = new MediaController(_mediaService.Object, null);
            controller.Url = new UrlHelper(new RequestContext(MockHttpContext.Object, new RouteData()), Routes);

            SetControllerContext(controller);
            MockHttpContext.SetupProperty(h => h.User);
            controller.HttpContext.User = new UserViewModel { IsLoggedIn = true, Id = 1 };


            JsonResult result =
                controller.Create(new NewMediaViewModel
                                      {
                                          Title = "title",
                                          Caption = "caption",
                                          Description = "description",
                                          Alternate = "alternate",
                                          Alignment = (int)Media.ValidAllignments.Left,
                                          Size = (int)Media.ValidSizes.Medium,
                                          File = fileBase.Object
                                      });

            Assert.That(result, Is.TypeOf<JsonResult>());
            var response = (MediaCreateJsonResponse)result.Data;
            Assert.That(response.success, Is.True);
        }
Exemplo n.º 4
0
 public void WhenUpdateIsCalled_AndTheModelStateIsInvalid_ThenTheCorrectViewIsReturned()
 {
     var controller = new MediaController(_mediaService.Object, null);
     var model = new UpdateMediaViewModel();
     controller.ViewData.ModelState.AddModelError("Key", "ErrorMessage");
     var result = (JsonResult)controller.Update(model);
     Assert.That(result, Is.Not.Null);
 }
Exemplo n.º 5
0
        public void WhenUpdateIsCalled_AndTheModelStateIsValid_ThenTheFileIsWrittenToTheDatabase()
        {
            var fileBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };

            const int userId = 1001;
            var fileBase = new Mock<HttpPostedFileBase>();
            fileBase.Setup(f => f.ContentLength).Returns(fileBytes.Length);
            fileBase.Setup(s => s.InputStream).Returns(new MemoryStream(fileBytes));
            fileBase.Setup(s => s.ContentType).Returns("contentType");
            const string fileName = "fileName";
            fileBase.Setup(s => s.FileName).Returns(fileName);
            _mediaService.Setup(m => m.UpdateMediaDetails(1, "title", "caption", "description", "alternate", 1001)).
                Returns(new Media());

            var controller = new MediaController(_mediaService.Object, null);
            controller.Url = new UrlHelper(new RequestContext(MockHttpContext.Object, new RouteData()), Routes);
            SetControllerContext(controller);
            MockHttpContext.SetupProperty(h => h.User);
            controller.HttpContext.User = new UserViewModel { IsLoggedIn = true, Id = userId };

            var model = new UpdateMediaViewModel
            {
                Id = 1,
                Title = "title",
                Caption = "caption",
                Description = "description",
                Alternate = "alternate",
            };

            controller.Update(model);
            
            _mediaService.Verify(i => i.UpdateMediaDetails(1, "title", "caption", "description", "alternate", 1001), Times.Once());
        }
Exemplo n.º 6
0
        public void GivenAMediaController_WhenNewIsCalled_ThenTheNewViewIsReturned()
        {
            MockHttpContext.SetupProperty(h => h.User);

            var controller = new MediaController(_mediaService.Object, null);

            ActionResult result = controller.New(new NewMediaViewModel { Nickname = "nickname" });
            Assert.That(result, Is.TypeOf<ViewResult>());
        }
Exemplo n.º 7
0
        public void GivenAMediaController_WhenMediaIsRetrievedSuccesfully_ThenAFileResultIsReturned()
        {
            _mediaService.Setup(m => m.GetMedia(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<string>())).
                Returns(new Media { Data = new byte[] { }, MimeType = "mimetype" });
            var controller = new MediaController(_mediaService.Object, null);
            var result =
                controller.Show(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<string>()) as FileResult;

            Assert.That(result, Is.Not.Null);
        }
Exemplo n.º 8
0
        public void GivenAMediaController_WhenMediaCannotBeRetrieved_ThenAHttpNotFoundResultIsReturned()
        {
            _mediaService.Setup(m => m.GetMedia(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<string>())).
                Throws<MBlogMediaNotFoundException>();
            var controller = new MediaController(_mediaService.Object, null);
            var result =
                controller.Show(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<string>()) as
                HttpNotFoundResult;

            Assert.That(result, Is.Not.Null);
        }
Exemplo n.º 9
0
 public void GivenAMediaController_WhenIUploadAnInvalidFile_ThenAFalseSuccessCodeIsSet()
 {
     var controller = new MediaController(_mediaService.Object, null);
     JsonResult json =
         controller.Create(new NewMediaViewModel
                               {
                                   Title = "title",
                                   Caption = "caption",
                                   Description = "description",
                                   Alternate = "alternate",
                                   Alignment = (int)Media.ValidAllignments.Left,
                                   Size = (int)Media.ValidSizes.Medium,
                                   File = null
                               });
     var response = (MediaCreateJsonResponse)json.Data;
     Assert.That(response.success, Is.False);
 }
Exemplo n.º 10
0
        public void GivenAMediaController_WhenIUploadAnInvalidFileWithNoBytes_ThenAFalseSuccessCodeIsSet()
        {
            var fileBase = new Mock<HttpPostedFileBase>();
            fileBase.Setup(f => f.ContentLength).Returns(0);

            var controller = new MediaController(_mediaService.Object, null);
            JsonResult json =
                controller.Create(new NewMediaViewModel
                                      {
                                          Title = "title",
                                          Caption = "caption",
                                          Description = "description",
                                          Alternate = "alternate",
                                          Alignment = (int)Media.ValidAllignments.Left,
                                          Size = (int)Media.ValidSizes.Medium,
                                          File = fileBase.Object
                                      });
            var response = (MediaCreateJsonResponse)json.Data;
            Assert.That(response.success, Is.False);
        }