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);
        }
예제 #2
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.GetById(null));

            // Assert
            StringAssert.IsMatch("id", exception.ParamName);
        }
예제 #3
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());
        }