public void BeCalled_WhenParamsAreValid()
        {
            //Arrange
            var mockedRepository   = new Mock <IEFRepository <PageContent> >();
            var mockedUnitOfWork   = new Mock <IUnitOfWork>();
            var pageContentService = new PageContentService(mockedRepository.Object, mockedUnitOfWork.Object);

            //Act
            pageContentService.GetAllPageContents();

            //Assert
            mockedRepository.Verify(repository => repository.All(), Times.Once);
        }
        public void ThrowException_WhenNullDestination()
        {
            //Arrange
            var mockedRepository   = new Mock <IEFRepository <PageContent> >();
            var mockedUnitOfWork   = new Mock <IUnitOfWork>();
            var pageContentService = new PageContentService(mockedRepository.Object, mockedUnitOfWork.Object);

            //Act
            IEnumerable <PageContent> result = null;

            mockedRepository.Setup(repository => repository.All()).Returns(() => result.AsQueryable());

            //Assert
            Assert.Throws <ArgumentNullException>(() => pageContentService.GetAllPageContents());
        }
        public void ReturnEmptyCollection_WhenNoDestinations()
        {
            //Arrange
            var mockedRepository   = new Mock <IEFRepository <PageContent> >();
            var mockedUnitOfWork   = new Mock <IUnitOfWork>();
            var pageContentService = new PageContentService(mockedRepository.Object, mockedUnitOfWork.Object);

            //Act
            IEnumerable <PageContent> result = new List <PageContent>();

            mockedRepository.Setup(repository => repository.All()).Returns(() => result.AsQueryable());

            //Assert
            Assert.IsEmpty(pageContentService.GetAllPageContents());
        }
        public void WorksProperly_WhenInvoked()
        {
            //Arrange
            var mockedRepository   = new Mock <IEFRepository <PageContent> >();
            var mockedUnitOfWork   = new Mock <IUnitOfWork>();
            var pageContentService = new PageContentService(mockedRepository.Object, mockedUnitOfWork.Object);

            //Act
            IEnumerable <PageContent> result = new List <PageContent>()
            {
                new PageContent(), new PageContent(), new PageContent()
            };

            mockedRepository.Setup(repository => repository.All()).Returns(() => result.AsQueryable());

            //Assert
            Assert.AreEqual(pageContentService.GetAllPageContents(), result);
        }