public void TestAddFooterFailsOnExistingDocumentAndFooter() { Mock <IFooterRepository> mockFooterRepository = new Mock <IFooterRepository>(); Mock <IDocumentRepository> mockDocumentRepository = new Mock <IDocumentRepository>(); Mock <IContentRepository> mockContentRepository = new Mock <IContentRepository>(); IFooterManagementService footerLogic = new FooterManagementService { FooterRepository = mockFooterRepository.Object, DocumentRepository = mockDocumentRepository.Object, ContentRepository = mockContentRepository.Object }; Document fakeDocument = GetFakeDocument(); Footer fakeFooter = GetFakeFooterForDocument(fakeDocument); mockDocumentRepository .Setup(wl => wl.Exists(fakeDocument.Id)) .Returns(true); mockFooterRepository .Setup(wl => wl.ExistsForDocument(fakeDocument.Id)) .Returns(true); Footer result = footerLogic.Add(fakeDocument.Id, fakeFooter); mockDocumentRepository.VerifyAll(); mockFooterRepository.VerifyAll(); }
public void TestAddFooterWorksOnMissingFooterAndExistingDocument() { Mock <IFooterRepository> mockFooterRepository = new Mock <IFooterRepository>(); Mock <IDocumentRepository> mockDocumentRepository = new Mock <IDocumentRepository>(); Mock <IContentRepository> mockContentRepository = new Mock <IContentRepository>(); Mock <IStyleClassRepository> mockStyleClassRepository = new Mock <IStyleClassRepository>(); IFooterManagementService footerLogic = new FooterManagementService { FooterRepository = mockFooterRepository.Object, DocumentRepository = mockDocumentRepository.Object, ContentRepository = mockContentRepository.Object, StyleClassRepository = mockStyleClassRepository.Object }; Document fakeDocument = GetFakeDocument(); Footer fakeFooter = GetFakeFooterForDocument(fakeDocument); mockDocumentRepository .Setup(wl => wl.Exists(fakeDocument.Id)) .Returns(true); mockFooterRepository .Setup(wl => wl.ExistsForDocument(fakeDocument.Id)) .Returns(false); mockFooterRepository .Setup(wl => wl.Add(fakeFooter)); mockDocumentRepository .Setup(wl => wl.GetById(fakeDocument.Id)) .Returns(fakeDocument); Footer result = footerLogic.Add(fakeDocument.Id, fakeFooter); mockDocumentRepository.VerifyAll(); mockFooterRepository.VerifyAll(); Assert.IsNotNull(result); Assert.AreEqual(result, fakeFooter); }