Esempio n. 1
0
        public void ShouldThrowArgumentNullException_WhenItemParameterIsNull()
        {
            var asyncRepository   = new Mock <IAsyncRepository <IDbModel> >();
            var unitOfWorkFactory = new Mock <IDisposableUnitOfWorkFactory>();

            var genericAsyncService = new GenericAsyncService <IDbModel>(asyncRepository.Object, unitOfWorkFactory.Object);

            IDbModel invalidItem = null;

            Assert.That(
                () => genericAsyncService.Add(invalidItem),
                Throws.InstanceOf <ArgumentNullException>().With.Message.Contains("Invalid item to add!"));
        }
Esempio n. 2
0
        public void ShouldReturnTheCorrectItem_WhenParametersAreCorrect()
        {
            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);

            var validItemToAdd = new Mock <IDbModel>();
            var actualResult   = genericAsyncService.Add(validItemToAdd.Object);

            Assert.That(actualResult, Is.SameAs(validItemToAdd.Object));
        }
Esempio n. 3
0
        public void ShouldInvokeUnitOfWorkSaveChangesAsyncMethodOnce_WhenParametersAreCorrect()
        {
            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);

            var validItemToAdd = new Mock <IDbModel>();

            genericAsyncService.Add(validItemToAdd.Object);

            mockUnitOfWork.Verify(repo => repo.SaveChangesAsync(), Times.Once);
        }