Ejemplo n.º 1
0
        public void ShouldReturnValueOfCorrectType()
        {
            var mockUnitOfWorkFactory = new Mock <IDisposableUnitOfWorkFactory>();
            var mockAsyncRepository   = new Mock <IAsyncRepository <IDbModel> >();
            IEnumerable <Type> repositoryQueryResult = new List <Type>();

            mockAsyncRepository.Setup(
                repo => repo.GetAll(
                    It.IsAny <Expression <Func <IDbModel, bool> > >(),
                    It.IsAny <Expression <Func <IDbModel, int> > >(),
                    It.IsAny <Expression <Func <IDbModel, Type> > >(),
                    It.IsAny <int>(),
                    It.IsAny <int>()))
            .Returns(() => Task.Run(() => repositoryQueryResult));

            var genericAsyncService = new GenericAsyncService <IDbModel>(mockAsyncRepository.Object, mockUnitOfWorkFactory.Object);

            Expression <Func <IDbModel, bool> > filter  = (IDbModel model) => model.Id > 0;
            Expression <Func <IDbModel, int> >  orderBy = (IDbModel model) => model.Id;
            Expression <Func <IDbModel, Type> > select  = (IDbModel model) => model.GetType();

            var actualResult = genericAsyncService.GetAll(filter, orderBy, select);

            Assert.That(actualResult, Is.InstanceOf <IEnumerable <Type> >());
        }
Ejemplo n.º 2
0
        public void ShouldInvokeAsyncRepository_CorrectGetAllWithCorrectFilterExpression()
        {
            var mockAsyncRepository   = new Mock <IAsyncRepository <IDbModel> >();
            var mockUnitOfWorkFactory = new Mock <IDisposableUnitOfWorkFactory>();

            var genericAsyncService = new GenericAsyncService <IDbModel>(mockAsyncRepository.Object, mockUnitOfWorkFactory.Object);

            Expression <Func <IDbModel, bool> > filter = (IDbModel model) => model.Id > 0;

            genericAsyncService.GetAll(filter);

            mockAsyncRepository.Verify(repo => repo.GetAll(filter), Times.Once);
        }
Ejemplo n.º 3
0
        public void ShouldThrowArgumentNullExceptionWithCorrectMessage_WhenFilterParameterIsNull()
        {
            var mockAsyncRepository   = new Mock <IAsyncRepository <IDbModel> >();
            var mockUnitOfWorkFactory = new Mock <IDisposableUnitOfWorkFactory>();

            var genericAsyncService = new GenericAsyncService <IDbModel>(mockAsyncRepository.Object, mockUnitOfWorkFactory.Object);

            Expression <Func <IDbModel, bool> > filter = null;

            Assert.That(
                () => genericAsyncService.GetAll(filter),
                Throws.InstanceOf <ArgumentNullException>().With.Message.Contains(nameof(filter)));
        }
Ejemplo n.º 4
0
        public void ShouldInvokeAsyncRepository_CorrectGetAllOnce()
        {
            var mockAsyncRepository   = new Mock <IAsyncRepository <IDbModel> >();
            var mockUnitOfWorkFactory = new Mock <IDisposableUnitOfWorkFactory>();

            var genericAsyncService = new GenericAsyncService <IDbModel>(mockAsyncRepository.Object, mockUnitOfWorkFactory.Object);

            Expression <Func <IDbModel, bool> > filter  = (IDbModel model) => model.Id > 0;
            Expression <Func <IDbModel, int> >  orderBy = (IDbModel model) => model.Id;

            genericAsyncService.GetAll(filter, orderBy);

            mockAsyncRepository.Verify(repo => repo.GetAll(It.IsAny <Expression <Func <IDbModel, bool> > >(), It.IsAny <Expression <Func <IDbModel, int> > >()), Times.Once);
        }
Ejemplo n.º 5
0
        public void ShouldInvokeAsyncRepository_GetAllAsyncMethodOnce()
        {
            var mockAsyncRepository = new Mock <IAsyncRepository <IDbModel> >();

            var mockUnitOfWork        = new Mock <IDisposableUnitOfWork>();
            var mockUnitOfWorkFactory = new Mock <IDisposableUnitOfWorkFactory>();

            mockUnitOfWorkFactory.Setup(factory => factory.CreateUnitOfWork()).Returns(mockUnitOfWork.Object);

            var genericAsyncService = new GenericAsyncService <IDbModel>(mockAsyncRepository.Object, mockUnitOfWorkFactory.Object);

            genericAsyncService.GetAll();

            mockAsyncRepository.Verify(repo => repo.GetAllAsync(), Times.Once);
        }
Ejemplo n.º 6
0
        public void ShouldReturnTheResultOfTheRepositoryTask()
        {
            var mockAsyncRepository = new Mock <IAsyncRepository <IDbModel> >();

            IEnumerable <IDbModel> repositoryQueryResult = new List <IDbModel>();

            mockAsyncRepository.Setup(repo => repo.GetAllAsync()).Returns(() => Task.Run(() => repositoryQueryResult));

            var mockUnitOfWork        = new Mock <IDisposableUnitOfWork>();
            var mockUnitOfWorkFactory = new Mock <IDisposableUnitOfWorkFactory>();

            mockUnitOfWorkFactory.Setup(factory => factory.CreateUnitOfWork()).Returns(mockUnitOfWork.Object);

            var genericAsyncService = new GenericAsyncService <IDbModel>(mockAsyncRepository.Object, mockUnitOfWorkFactory.Object);

            var actualResult = genericAsyncService.GetAll();

            Assert.That(actualResult, Is.EqualTo(repositoryQueryResult));
        }
Ejemplo n.º 7
0
        public void ShouldReturnValueOfCorrectType()
        {
            var mockAsyncRepository = new Mock <IAsyncRepository <IDbModel> >();

            mockAsyncRepository.Setup(repo => repo.GetAllAsync()).Returns(() =>
            {
                IEnumerable <IDbModel> result = new List <IDbModel>();
                return(Task.Run(() => result));
            });

            var mockUnitOfWork        = new Mock <IDisposableUnitOfWork>();
            var mockUnitOfWorkFactory = new Mock <IDisposableUnitOfWorkFactory>();

            mockUnitOfWorkFactory.Setup(factory => factory.CreateUnitOfWork()).Returns(mockUnitOfWork.Object);

            var genericAsyncService = new GenericAsyncService <IDbModel>(mockAsyncRepository.Object, mockUnitOfWorkFactory.Object);

            var actualResult = genericAsyncService.GetAll();

            Assert.That(actualResult, Is.InstanceOf <IEnumerable <IDbModel> >());
        }