Example #1
0
        public void ReturnCorrectTEntityInstance_WhenRequestedGuidIsFound()
        {
            // Arrange
            var parserDbContext = new Mock <IParserDbContext>();

            var entities = new Mock <IDbSet <MockDbModel> >();

            parserDbContext.Setup(c => c.Set <MockDbModel>()).Returns(entities.Object);

            var entityFrameworkRepository = new EntityFrameworkRepository <MockDbModel>(parserDbContext.Object);

            var matchingGuid = Guid.NewGuid();

            var expectedReturnedTEntity = new MockDbModel()
            {
                Id = matchingGuid
            };

            var fakeData = new HashSet <MockDbModel>()
            {
                new MockDbModel()
                {
                    Id = Guid.NewGuid()
                },
                new MockDbModel()
                {
                    Id = Guid.NewGuid()
                },
                new MockDbModel()
                {
                    Id = Guid.NewGuid()
                },
                new MockDbModel()
                {
                    Id = Guid.NewGuid()
                },
                expectedReturnedTEntity,
                new MockDbModel()
                {
                    Id = Guid.NewGuid()
                }
            };

            var fakeDataQueryable = fakeData.AsQueryable();

            entities.As <IQueryable>().Setup(e => e.GetEnumerator()).Returns(fakeDataQueryable.GetEnumerator());
            entities.As <IQueryable>().Setup(e => e.ElementType).Returns(fakeDataQueryable.ElementType);
            entities.As <IQueryable>().Setup(e => e.Expression).Returns(fakeDataQueryable.Expression);
            entities.As <IQueryable>().Setup(e => e.Provider).Returns(fakeDataQueryable.Provider);

            var entityGuid = matchingGuid;

            // Act
            var actualReturnedTEntity = entityFrameworkRepository.Find(entityGuid);

            // Assert
            Assert.That(actualReturnedTEntity, Is.SameAs(expectedReturnedTEntity));
        }
        public void ThrowArgumentNullExceptionWhitCorrectMessage_WhenEntityParameterIsNull()
        {
            // Arrange
            var         dbContext           = new Mock <ICarAdvertsSystemDbContext>();
            var         efGenericRepository = new EfGenericRepository <MockDbModel>(dbContext.Object);
            MockDbModel entity = null;

            // Act and Assert
            Assert.That(
                () => efGenericRepository.Add(entity),
                Throws.InstanceOf <ArgumentNullException>().With.Message.Contains(nameof(entity)));
        }
Example #3
0
        public void ThrowArgumentNullException_WhenEntityParameterIsNull()
        {
            // Arrange
            var dbContext = new Mock <IParserDbContext>();

            var genericRepository = new GenericRepository <MockDbModel>(dbContext.Object);

            MockDbModel entity = null;

            // Act & Assert
            Assert.That(
                () => genericRepository.Create(entity),
                Throws.InstanceOf <ArgumentNullException>().With.Message.Contains(nameof(entity)));
        }
Example #4
0
        public void ThrowArgumentNullException_WhenTEntityParameterIsNull()
        {
            // Arrange
            var parserDbContext = new Mock <IParserDbContext>();

            var entities = new Mock <IDbSet <MockDbModel> >();

            parserDbContext.Setup(c => c.Set <MockDbModel>()).Returns(entities.Object);

            var entityFrameworkRepository = new EntityFrameworkRepository <MockDbModel>(parserDbContext.Object);

            MockDbModel entity = null;

            // Act & Assert
            Assert.That(
                () => entityFrameworkRepository.Create(entity),
                Throws.InstanceOf <ArgumentNullException>().With.Message.Contains(nameof(entity)));
        }
Example #5
0
        public void InvokeIQueryableTEntity_AddMethodOnceWithCorrectParameter()
        {
            // Arrange
            var parserDbContext = new Mock <IParserDbContext>();

            var entities = new Mock <IDbSet <MockDbModel> >();

            parserDbContext.Setup(c => c.Set <MockDbModel>()).Returns(entities.Object);

            var entityFrameworkRepository = new EntityFrameworkRepository <MockDbModel>(parserDbContext.Object);

            var entity = new MockDbModel();

            // Act
            entityFrameworkRepository.Create(entity);

            // Assert
            entities.Verify(e => e.Add(entity), Times.Once);
        }
Example #6
0
        public void ReturnCorrectEntityInstance()
        {
            // Arrange
            var dbContext = new Mock <IParserDbContext>();

            var dbSet = new Mock <IDbSet <MockDbModel> >();

            dbContext.Setup(c => c.Set <MockDbModel>()).Returns(dbSet.Object);

            var genericRepository = new GenericRepository <MockDbModel>(dbContext.Object);

            var entity = new MockDbModel();

            // Act
            var actualReturnedEntity = genericRepository.Create(entity);

            // Assert
            Assert.That(actualReturnedEntity, Is.SameAs(entity));
        }
Example #7
0
        public void InvokeIDbSet_AddMethodOnceWithCorrectParameter()
        {
            // Arrange
            var dbContext = new Mock <IParserDbContext>();

            var dbSet = new Mock <IDbSet <MockDbModel> >();

            dbContext.Setup(c => c.Set <MockDbModel>()).Returns(dbSet.Object);

            var genericRepository = new GenericRepository <MockDbModel>(dbContext.Object);

            var entity = new MockDbModel();

            // Act
            genericRepository.Create(entity);

            // Assert
            dbSet.Verify(s => s.Add(entity), Times.Once);
        }
Example #8
0
        public void ReturnCorrectTEntityInstance()
        {
            // Arrange
            var parserDbContext = new Mock <IParserDbContext>();

            var entities = new Mock <IDbSet <MockDbModel> >();

            parserDbContext.Setup(c => c.Set <MockDbModel>()).Returns(entities.Object);

            var entityFrameworkRepository = new EntityFrameworkRepository <MockDbModel>(parserDbContext.Object);

            var expectedReturnerIQueryableTEntityInstance = entities.Object;

            var entity = new MockDbModel();

            // Act
            var actualReturnerTEntityInstance = entityFrameworkRepository.Create(entity);

            // Assert
            Assert.That(actualReturnerTEntityInstance, Is.SameAs(entity));
        }