public void AddPayment_GivenANewPayment_AddsToDatabase() { // arrange PaymentInfo payment = new PaymentInfo { OrderID = 10 }; Mock <DbSet <PaymentInfo> > mockSet = new Mock <DbSet <PaymentInfo> >(); Mock <AccountingDb> mockContext = new Mock <AccountingDb>(); mockContext.Setup(c => c.Payments).Returns(mockSet.Object); PaymentInfoRepository sut = new PaymentInfoRepository(mockContext.Object); // act sut.AddPayment(payment); // assert mockSet.Verify(s => s.Add(It.Is <PaymentInfo>(p => p.OrderID == payment.OrderID)), Times.Once()); mockContext.Verify(c => c.SaveChanges(), Times.Once()); }
public void GetPeyment_GivenAValidOrderID_ReturnsThePaymentRecord() { // arrange List <PaymentInfo> data = new List <PaymentInfo>(); PaymentInfo expected = new PaymentInfo() { OrderID = 210 }; data.Add(expected); Mock <DbSet <PaymentInfo> > mockSet = EntityMockFactory.CreateSet(data.AsQueryable()); Mock <AccountingDb> mockContext = new Mock <AccountingDb>(); mockContext.Setup(c => c.Payments).Returns(mockSet.Object); PaymentInfoRepository sut = new PaymentInfoRepository(mockContext.Object); // act PaymentInfo actual = sut.GetPayment(210); // assert Assert.AreEqual(expected, actual); }