public void WhenDefaultIndexMethodCalledWithPageId_ValidViewModelReturned()
        {
            // Arrange
            const string PageId = "1";
            var contentRepositoryMock = new Mock<IContentBlobRepository>();
            contentRepositoryMock.Setup(repo => repo.GetById(It.IsAny<int>())).Returns(
                DefaultModelHelper.DummyPopulatedContentBlob);
            var contentBlobService = new ContentBlobService(
                contentRepositoryMock.Object, new Mock<IUnitOfWork>().Object);
            var controller = new RichContentController(contentBlobService);

            // Act
            var viewResult = controller.Index(PageId, "1", "1") as PartialViewResult;

            // Assert
            Assert.NotNull(viewResult);
            Assert.Equal(string.Empty, viewResult.ViewName);
            Assert.True(viewResult.ViewData.ModelState.IsValid);
            Assert.True(controller.ModelState.IsValid);
        }
        public void WhenPassedAValidViewModel_ThenPersists()
        {
            // Arrange
            const string PageId = "1";
            var contentRepositoryMock = new Mock<IContentBlobRepository>();
            contentRepositoryMock.Setup(repo => repo.GetById(It.IsAny<int>())).Returns(
                DefaultModelHelper.DummyPopulatedContentBlob);
            var contentBlobService = new ContentBlobService(
                contentRepositoryMock.Object, new Mock<IUnitOfWork>().Object);
            var controller = new RichContentController(contentBlobService);
            var viewModel = new RichContentEditViewModel { Html = "EditedHtml", ContentBlobId = 1, PartId = 1 };

            // Act
            var viewResult = controller.EditMode(PageId, "", "", viewModel) as PartialViewResult;

            // Assert
            Assert.NotNull(viewResult);
            Assert.Equal(string.Empty, viewResult.ViewName);
            Assert.True(viewResult.ViewData.ModelState.IsValid);
            Assert.True(controller.ModelState.IsValid);
        }