Exemple #1
0
        public void GivenAMediaController_WhenIUploadAValidFile_ThenAValidUrlIsReturned()
        {
            var    fileBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
            string fileName  = "foo.jpg";
            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.FileName).Returns(fileName);

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

            controller.Url = new UrlHelper(new RequestContext(MockHttpContext.Object, new RouteData()), Routes);
            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);
            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.url,
                        Is.EqualTo(string.Format("{0}/{1}/{2}/{3}", now.Year, now.Month, now.Day, fileName)));
        }
Exemple #2
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);
        }
Exemple #3
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);
        }
Exemple #4
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());
        }