public void CallCommitMethodOfUnitOfWork()
        {
            //Arrange
            var mockedPageService = new Mock <IPageService>();
            var mockedUnitOfWork  = new Mock <IUnitOfWork>();
            Func <IUnitOfWork> mockedUnitOfWorkFactory = () => { return(mockedUnitOfWork.Object); };
            var mockedPageContentSubmissionRepository  = new Mock <IContentSubmissionRepository>();
            var mockedPageRepository = new Mock <IPageRepository>();
            var edits = new List <PageContentSubmission>();
            var submissionServiceUnderTest = new ContentSubmissionService(mockedPageContentSubmissionRepository.Object, mockedPageRepository.Object, mockedUnitOfWorkFactory, mockedPageService.Object);

            mockedPageContentSubmissionRepository.Setup(x => x.Add(It.IsAny <PageContentSubmission>())).Callback <PageContentSubmission>(
                x => {
                edits.Add(x);
            });
            string expectedContent = "test content";
            var    page            = new Page()
            {
                Content  = "aa",
                LastEdit = null,
            };

            mockedPageService.Setup(r => r.GetPageByTitle(It.IsAny <string>())).Returns(page);

            //Act
            submissionServiceUnderTest.SubmitEdit(expectedContent, "test_title");
            var edit = edits[0];

            //Assert
            mockedUnitOfWork.Verify(m => m.Commit(), Times.Once());
        }
        public void AddPageContentSubmissionToRepositoryWithCorrectContent()
        {
            //Arrange
            var mockedPageService = new Mock <IPageService>();
            var mockedPageContentSubmissionRepository = new Mock <IContentSubmissionRepository>();
            var mockedPageRepository = new Mock <IPageRepository>();
            Func <IUnitOfWork> mockedUnitOfWorkFactory = () => { return(new Mock <IUnitOfWork>().Object); };
            var edits = new List <PageContentSubmission>();
            var submissionServiceUnderTest = new ContentSubmissionService(mockedPageContentSubmissionRepository.Object, mockedPageRepository.Object, mockedUnitOfWorkFactory, mockedPageService.Object);

            mockedPageContentSubmissionRepository.Setup(x => x.Add(It.IsAny <PageContentSubmission>())).Callback <PageContentSubmission>(
                x => {
                edits.Add(x);
            });
            string expectedContent = "test content";
            var    page            = new Page()
            {
                Content  = "aa",
                LastEdit = null,
            };

            mockedPageService.Setup(r => r.GetPageByTitle(It.IsAny <string>())).Returns(page);

            //Act
            submissionServiceUnderTest.SubmitEdit(expectedContent, "test_title");
            var edit = edits[0];

            //Assert
            Assert.AreEqual(expectedContent, edit.Content);
        }
Ejemplo n.º 3
0
        public void UpdateTheContentOfThePageContentSubmissionToTheInitialPageContent()
        {
            //Arrange
            var mockedPageService = new Mock <IPageService>();
            var mockedPageContentSubmissionRepository = new Mock <IContentSubmissionRepository>();
            var mockedPageRepository = new Mock <IPageRepository>();
            Func <IUnitOfWork> mockedUnitOfWorkFactory = () => { return(new Mock <IUnitOfWork>().Object); };
            var submissionServiceUnderTest             = new ContentSubmissionService(mockedPageContentSubmissionRepository.Object, mockedPageRepository.Object, mockedUnitOfWorkFactory, mockedPageService.Object);
            var expectedPageContent = "new content";
            var expectedEditContent = "page old content";
            var page = new Page()
            {
                Content  = expectedEditContent,
                LastEdit = null,
            };
            var edit = new PageContentSubmission()
            {
                Content     = "edit old content",
                PageEdit    = page,
                PageHistory = null
            };

            mockedPageContentSubmissionRepository.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(edit);
            mockedPageService.Setup(x => x.GetPageByTitle(It.IsAny <string>())).Returns(page);

            //Act
            submissionServiceUnderTest.PublishEdit("title", expectedPageContent, Guid.NewGuid());

            //Assert
            Assert.AreEqual(expectedEditContent, edit.Content);
        }
Ejemplo n.º 4
0
        public void CallCommitMethodOfUnitOfWork()
        {
            //Arrange
            var mockedPageService = new Mock <IPageService>();
            var mockedPageContentSubmissionRepository = new Mock <IContentSubmissionRepository>();
            var mockedPageRepository = new Mock <IPageRepository>();
            var mockedUnitOfWork     = new Mock <IUnitOfWork>();
            Func <IUnitOfWork> mockedUnitOfWorkFactory = () => { return(mockedUnitOfWork.Object); };
            var submissionServiceUnderTest             = new ContentSubmissionService(mockedPageContentSubmissionRepository.Object, mockedPageRepository.Object, mockedUnitOfWorkFactory, mockedPageService.Object);
            var expectedPageContent = "new content";
            var expectedEditContent = "page old content";
            var page = new Page()
            {
                Content  = expectedEditContent,
                LastEdit = null,
            };
            var edit = new PageContentSubmission()
            {
                Content     = "edit old content",
                PageEdit    = page,
                PageHistory = null
            };

            mockedPageContentSubmissionRepository.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(edit);
            mockedPageService.Setup(x => x.GetPageByTitle(It.IsAny <string>())).Returns(page);

            //Act
            submissionServiceUnderTest.PublishEdit("title", expectedPageContent, Guid.NewGuid());

            //Assert
            mockedUnitOfWork.Verify(m => m.Commit(), Times.Once());
        }
Ejemplo n.º 5
0
        public void ReturnCorrectCollection()
        {
            //Arrange
            var mockedPageService = new Mock <IPageService>();
            var mockedPageContentSubmissionRepository = new Mock <IContentSubmissionRepository>();
            var mockedPageRepository = new Mock <IPageRepository>();
            var mockedUnitOfWork     = new Mock <IUnitOfWork>();
            Func <IUnitOfWork> mockedUnitOfWorkFactory = () => { return(mockedUnitOfWork.Object); };
            var submissionServiceUnderTest             = new ContentSubmissionService(mockedPageContentSubmissionRepository.Object, mockedPageRepository.Object, mockedUnitOfWorkFactory, mockedPageService.Object);
            var pendingEdits = new List <PageContentSubmission>();
            var edit1        = new PageContentSubmission()
            {
                Content     = "edit1",
                PageHistory = null
            };
            var edit2 = new PageContentSubmission()
            {
                Content     = "edit2",
                PageHistory = null
            };

            pendingEdits.Add(edit1);
            pendingEdits.Add(edit2);

            mockedPageContentSubmissionRepository.Setup(x => x.GetSubmissions(It.IsAny <string>())).Returns(pendingEdits);

            //Act
            var result = submissionServiceUnderTest.GetSubmissions("tuturutka");

            //Assert
            CollectionAssert.AreEqual(pendingEdits, result);
        }
        public void ThrowArgumentExceptionWhenTitleArgumentIsEmptyString()
        {
            //Arrange
            var mockedPageService = new Mock <IPageService>();
            var mockedPageContentSubmissionRepository = new Mock <IContentSubmissionRepository>();
            var mockedPageRepository = new Mock <IPageRepository>();
            Func <IUnitOfWork> mockedUnitOfWorkFactory  = () => { return(new Mock <IUnitOfWork>().Object); };
            string             expectedExceptionMessage = "title";
            var submissionServiceUnderTest = new ContentSubmissionService(mockedPageContentSubmissionRepository.Object, mockedPageRepository.Object, mockedUnitOfWorkFactory, mockedPageService.Object);

            //Act
            var exc = Assert.Throws <ArgumentException>(() => submissionServiceUnderTest.SubmitEdit("", ""));

            //Assert
            StringAssert.Contains(expectedExceptionMessage, exc.Message);
        }
        public void CallCommitMethodOfUnitOfWork()
        {
            //Arrange
            var mockedPageService = new Mock <IPageService>();
            var mockedPageContentSubmissionRepository = new Mock <IContentSubmissionRepository>();
            var mockedPageRepository = new Mock <IPageRepository>();
            var mockedUnitOfWork     = new Mock <IUnitOfWork>();
            Func <IUnitOfWork> mockedUnitOfWorkFactory = () => { return(mockedUnitOfWork.Object); };
            var submissionServiceUnderTest             = new ContentSubmissionService(mockedPageContentSubmissionRepository.Object, mockedPageRepository.Object, mockedUnitOfWorkFactory, mockedPageService.Object);

            var edit = new PageContentSubmission()
            {
                Content     = "edit old content",
                PageHistory = null
            };

            //Act
            submissionServiceUnderTest.GetPageContentSubmissionById(Guid.NewGuid());

            //Assert
            mockedPageContentSubmissionRepository.Verify(m => m.GetById(It.IsAny <Guid>()), Times.Once());
        }
        public void ThrowNullReferenceExceptionWhenPageIsNotFound()
        {
            //Arrange
            var mockedPageService = new Mock <IPageService>();
            var mockedUnitOfWork  = new Mock <IUnitOfWork>();
            Func <IUnitOfWork> mockedUnitOfWorkFactory = () => { return(mockedUnitOfWork.Object); };
            var mockedPageContentSubmissionRepository  = new Mock <IContentSubmissionRepository>();
            var mockedPageRepository = new Mock <IPageRepository>();
            var edits = new List <PageContentSubmission>();
            var submissionServiceUnderTest = new ContentSubmissionService(mockedPageContentSubmissionRepository.Object, mockedPageRepository.Object, mockedUnitOfWorkFactory, mockedPageService.Object);

            mockedPageContentSubmissionRepository.Setup(x => x.Add(It.IsAny <PageContentSubmission>())).Callback <PageContentSubmission>(
                x => {
                edits.Add(x);
            });
            string expectedContent          = "test content";
            var    expectedExceptionMessage = "Page not found!";

            //Act
            var exc = Assert.Throws <NullReferenceException>(() => submissionServiceUnderTest.SubmitEdit(expectedContent, "test_title"));

            //Assert
            StringAssert.Contains(expectedExceptionMessage, exc.Message);
        }
Ejemplo n.º 9
0
        public void CallDeleteMethodOfThePageContentSubmissionRepository()
        {
            //Arrange
            var mockedPageService = new Mock <IPageService>();
            var mockedPageContentSubmissionRepository = new Mock <IContentSubmissionRepository>();
            var mockedPageRepository = new Mock <IPageRepository>();
            var mockedUnitOfWork     = new Mock <IUnitOfWork>();
            Func <IUnitOfWork> mockedUnitOfWorkFactory = () => { return(mockedUnitOfWork.Object); };
            var submissionServiceUnderTest             = new ContentSubmissionService(mockedPageContentSubmissionRepository.Object, mockedPageRepository.Object, mockedUnitOfWorkFactory, mockedPageService.Object);

            var edit = new PageContentSubmission()
            {
                Content     = "edit old content",
                PageHistory = null
            };

            mockedPageContentSubmissionRepository.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(edit);

            //Act
            submissionServiceUnderTest.DismissEdit(Guid.NewGuid());

            //Assert
            mockedPageContentSubmissionRepository.Verify(m => m.Delete(It.IsAny <PageContentSubmission>()), Times.Once());
        }