public void All_Should_ReturnCorrectSet()
        {
            // Arrange
            var content = "TestContent";
            var data    = new List <Comment>
            {
                new Comment {
                    Content = content
                }
            }.AsQueryable();


            var mockedDbSet = new Mock <DbSet <Comment> >();

            mockedDbSet.As <IQueryable <Comment> >().Setup(m => m.Provider).Returns(data.Provider);
            mockedDbSet.As <IQueryable <Comment> >().Setup(m => m.Expression).Returns(data.Expression);
            mockedDbSet.As <IQueryable <Comment> >().Setup(m => m.ElementType).Returns(data.ElementType);
            mockedDbSet.As <IQueryable <Comment> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

            var mockedDbContext = new Mock <DbContext>();

            mockedDbContext.Setup(x => x.Set <Comment>()).Returns(mockedDbSet.Object);

            // Act
            var wrapper = new EfDbSetWrapper <Comment>(mockedDbContext.Object);
            var result  = wrapper.All;

            // Assert
            Assert.AreEqual(1, result.Count());
            Assert.AreEqual(content, result.First().Content);
        }
예제 #2
0
        public void ThrowArgumentNullException_WhenEfDbSetWrapperIsNull()
        {
            // Arrange
            EfDbSetWrapper <Post> postsDbSet = null;
            var userServiceMock = new Mock <IUserService>();

            // Act & Assert
            Assert.Throws <ArgumentNullException>(() => new PostService(postsDbSet, userServiceMock.Object));
        }
예제 #3
0
        public void CreateDependenciesOfTests()
        {
            this.shoppingBasketDto = new ShoppingBasketDto();
            this.mapperService     = new MapperService();
            this.efDbContext       = new EfDbContext();
            this.efDbSetWrapper    = new EfDbSetWrapper <ShoppingBasket>(efDbContext);

            this.shoppingBasketService = new ShoppingBasketService(shoppingBasketDto, mapperService, efDbSetWrapper, efDbContext);
        }
예제 #4
0
        public DiscountApplicationSteps()
        {
            this.shoppingBasketDto = new ShoppingBasketDto();
            this.mapperService     = new MapperService();
            this.efDbContext       = new EfDbContext();
            this.efDbSetWrapper    = new EfDbSetWrapper <ShoppingBasket>(efDbContext);

            this.shoppingBasketService = new ShoppingBasketService(shoppingBasketDto, mapperService, efDbSetWrapper, efDbContext);
        }
예제 #5
0
        public void CreateAnInstanceOfGenericRepository_WithCorrectDataModel_WhenIVisionsDbContextIsProvided()
        {
            // Arrange
            var contextMock = new Mock <EfDbContext>();
            IEfDbSetWrapper <User> dbSetWrapper = new EfDbSetWrapper <User>(contextMock.Object);

            // Act, Assert
            Assert.IsInstanceOf <EfDbSetWrapper <User> >(dbSetWrapper);
        }
        public void Constructor_Should_WorkCorrectly_IfDbContextPassedIsValid()
        {
            // Arrange
            var mockedDbContext = new Mock <IOnLineShopDbContext>();
            var mockedModel     = new Mock <DbSet <Category> >();

            // Act
            mockedDbContext.Setup(x => x.Set <Category>()).Returns(mockedModel.Object);
            var mockedDbSet = new EfDbSetWrapper <Category>(mockedDbContext.Object);

            // Assert
            Assert.That(mockedDbSet, Is.Not.Null);
        }
        public void SetDbSetCorrectly_WhenValidArgumentsPassed()
        {
            // Arrange
            var mockedDbContext = new Mock <IOnLineShopDbContext>();
            var mockedModel     = new Mock <DbSet <Category> >();

            // Act
            mockedDbContext.Setup(x => x.Set <Category>()).Returns(mockedModel.Object);
            var mockedDbSet = new EfDbSetWrapper <Category>(mockedDbContext.Object);

            // Assert
            Assert.That(mockedDbSet.DbSet, Is.Not.Null);
            Assert.That(mockedDbSet.DbSet, Is.EqualTo(mockedModel.Object));
        }
예제 #8
0
        public void ReturnEntitiesOfGivenSet()
        {
            // Arrange
            var mockedDbContext = new Mock <IOnLineShopDbContext>();
            var mockedSet       = new Mock <DbSet <Category> >();

            // Act
            mockedDbContext.Setup(x => x.Set <Category>()).Returns(mockedSet.Object);
            var mockedDbSet = new EfDbSetWrapper <Category>(mockedDbContext.Object);

            // Assert
            Assert.NotNull(mockedDbSet.All());
            Assert.IsInstanceOf(typeof(DbSet <Category>), mockedDbSet.All());
            Assert.AreSame(mockedDbSet.All(), mockedDbSet.DbSet);
        }
예제 #9
0
        public void ThrowArgumentNullException_WhenEntityIsNull()
        {
            // Arange
            var dbSetMock   = new Mock <DbSet <User> >();
            var contextMock = new Mock <IEfDbContext>();

            contextMock.Setup(x => x.Set <User>()).Returns(dbSetMock.Object);

            IEfDbSetWrapper <User> dbSetWrapper = new EfDbSetWrapper <User>(contextMock.Object);

            // Act
            var exception = Assert.Throws <ArgumentNullException>(() => dbSetWrapper.Add(null));

            // Assert
            StringAssert.IsMatch("entity", exception.ParamName);
        }
        public void ReturnCorrectResult_WhenParameterIsValid()
        {
            // Arrange
            var mockedDbContext = new Mock <IOnLineShopDbContext>();
            var mockedSet       = new Mock <DbSet <Category> >();
            var fakeCategory    = new Mock <Category>();
            var validId         = 15;

            // Act
            mockedDbContext.Setup(x => x.Set <Category>()).Returns(mockedSet.Object);
            var mockedDbSet = new EfDbSetWrapper <Category>(mockedDbContext.Object);

            mockedSet.Setup(x => x.Find(It.IsAny <int>())).Returns(fakeCategory.Object);

            // Assert
            Assert.That(mockedDbSet.GetById(validId), Is.Not.Null);
            Assert.AreEqual(mockedDbSet.GetById(validId), fakeCategory.Object);
        }
예제 #11
0
        public void InvokeFindMethod_WhenValidIdIsProvided()
        {
            // Arrange
            var dbSetMock = new Mock <DbSet <User> >();

            dbSetMock.Setup(x => x.Find(It.IsAny <Guid>())).Returns <User>(null);

            var contextMock = new Mock <IEfDbContext>();

            contextMock.Setup(x => x.Set <User>()).Returns(dbSetMock.Object);

            IEfDbSetWrapper <User> dbSetWrapper = new EfDbSetWrapper <User>(contextMock.Object);

            // Act
            Guid validDataModelId = Guid.NewGuid();
            var  actualDataModel  = dbSetWrapper.GetById(validDataModelId);

            // Assert
            dbSetMock.Verify(x => x.Find(validDataModelId), Times.Once());
        }