コード例 #1
0
        public void ShouldReturnTaskWithResultNull_WhenItemIsNotFound()
        {
            var mockDbSet     = new Mock <DbSet <IDbModel> >();
            var mockDbContext = new Mock <IWhenItsDoneDbContext>();

            mockDbContext.Setup(mock => mock.Set <IDbModel>()).Returns(mockDbSet.Object);

            var asyncGenericRepositoryInstace = new GenericAsyncRepository <IDbModel>(mockDbContext.Object);

            mockDbSet.Setup(mock => mock.Find(It.IsAny <int>())).Returns <IDbModel>(null);

            var validId             = 42;
            var actualReturnedModel = asyncGenericRepositoryInstace.GetByIdAsync(validId);

            Assert.That(actualReturnedModel.Result, Is.Null);
        }
コード例 #2
0
        public async Task ShouldInvokeDbSetFindMethodWithCorrectIdParameter_WhenParametersAreValid()
        {
            var mockDbSet     = new Mock <DbSet <IDbModel> >();
            var mockDbContext = new Mock <IWhenItsDoneDbContext>();

            mockDbContext.Setup(mock => mock.Set <IDbModel>()).Returns(mockDbSet.Object);

            var asyncGenericRepositoryInstace = new GenericAsyncRepository <IDbModel>(mockDbContext.Object);

            mockDbSet.Setup(mock => mock.Find(It.IsAny <int>())).Returns <IDbModel>(null);

            var validId = 42;
            await asyncGenericRepositoryInstace.GetByIdAsync(validId);

            mockDbSet.Verify(mock => mock.Find(validId), Times.Once());
        }
コード例 #3
0
        public void ThrowArgumentExceptionWithCorrectMessage_WhenIdParameterValueIsNegative()
        {
            var mockDbSet     = new Mock <DbSet <IDbModel> >();
            var mockDbContext = new Mock <IWhenItsDoneDbContext>();

            mockDbContext.Setup(mock => mock.Set <IDbModel>()).Returns(mockDbSet.Object);

            var asyncGenericRepositoryInstace = new GenericAsyncRepository <IDbModel>(mockDbContext.Object);

            mockDbSet.Setup(mock => mock.Find(It.IsAny <int>())).Returns <IDbModel>(null);

            var invalidId = -42;

            Assert.That(
                () => asyncGenericRepositoryInstace.GetByIdAsync(invalidId),
                Throws.InstanceOf <ArgumentException>().With.Message.Contains("Id must be a positive integer."));
        }
コード例 #4
0
        public void ShouldReturnTaskOfCorrectStatus_WhenItemIsFound()
        {
            var mockDbSet     = new Mock <DbSet <IDbModel> >();
            var mockDbContext = new Mock <IWhenItsDoneDbContext>();

            mockDbContext.Setup(mock => mock.Set <IDbModel>()).Returns(mockDbSet.Object);

            var asyncGenericRepositoryInstace = new GenericAsyncRepository <IDbModel>(mockDbContext.Object);

            var fakeDbModel = new Mock <IDbModel>();

            mockDbSet.Setup(mock => mock.Find(It.IsAny <int>())).Returns(fakeDbModel.Object);

            var validId             = 42;
            var actualReturnedModel = asyncGenericRepositoryInstace.GetByIdAsync(validId);

            Assert.That(actualReturnedModel.Status, Is.EqualTo(TaskStatus.Running).Or.EqualTo(TaskStatus.WaitingToRun).Or.EqualTo(TaskStatus.RanToCompletion));
        }
コード例 #5
0
        public void ShouldReturnTaskOfCorrectType_WhenItemIsFound()
        {
            var mockDbSet     = new Mock <DbSet <IDbModel> >();
            var mockDbContext = new Mock <IWhenItsDoneDbContext>();

            mockDbContext.Setup(mock => mock.Set <IDbModel>()).Returns(mockDbSet.Object);

            var asyncGenericRepositoryInstace = new GenericAsyncRepository <IDbModel>(mockDbContext.Object);

            var fakeDbModel = new Mock <IDbModel>();

            mockDbSet.Setup(mock => mock.Find(It.IsAny <int>())).Returns(fakeDbModel.Object);

            var validId             = 42;
            var actualReturnedModel = asyncGenericRepositoryInstace.GetByIdAsync(validId);

            Assert.That(actualReturnedModel.GetType(), Is.EqualTo(typeof(Task <IDbModel>)));
        }