public async Task GetFilteredPaymentsAsync_WhenFilterInfoPassed_ShouldCreateFilterAndReturnExpectedResult() { //Arrange var sutBuilder = new PaymentServiceSutBuilder(); var filterInfo = new PaymentFilterInfo(); var filter = A.Fake <PaymentDbFilter>(); A.CallTo(() => sutBuilder.PaymentDbFilterFactory.Create(filterInfo)) .Returns(filter); var expectedList = new List <Payment>(); A.CallTo(() => sutBuilder.PaymentRepository.GetAllAsync(filter)) .Returns(expectedList); var paymentService = sutBuilder.CreateSut(); //Act var results = await paymentService.GetFilteredPaymentsAsync(filterInfo); //Assert results.ShouldBe(expectedList); }
private Task <IList <Payment> > GetPaymentsBetweenUsers(Guid payerId, Guid receiverId, Guid?groupContextId) { var filterData = new PaymentFilterInfo() { PayerId = payerId, ReceiverId = receiverId, GroupId = groupContextId, }; var dbFilter = paymentDbFilterFactory.Create(filterData); return(paymentRepository.GetAllAsync(dbFilter)); }
public void Create_WhenFilterInfoIsPassed_ShouldReturnPaymentDbFilter() { //Arrange var paymentDbFilterFactory = new PaymentDbFilterFactory(); var filterInfo = new PaymentFilterInfo { GroupId = Guid.NewGuid(), StartTime = DateTime.Now.AddMilliseconds(-1000), EndTime = DateTime.Now.AddMilliseconds(1000), PayerId = Guid.NewGuid(), ReceiverId = Guid.NewGuid(), }; //Act var result = paymentDbFilterFactory.Create(filterInfo); //Assert result.GetType().ShouldBe(typeof(PaymentDbFilter)); }
public void PaymentDbFilter_WhenReceiverHasPayments_ShouldReturnOnlyReceiversPayments() { //Arrange var sutBuilder = new PaymentDbFilterSutBuilder(); var payments = sutBuilder.Setup(); var filterInfo = new PaymentFilterInfo { ReceiverId = payments[0].ReceiverId, }; var filter = new PaymentDbFilter(filterInfo); var queryablePayments = payments.AsQueryable(); payments = payments.Where(u => u.ReceiverId == filterInfo.ReceiverId).ToList(); //Act var result = filter.ApplyFilter(queryablePayments).ToList(); //Assert result.ShouldBe(payments); }
public void PaymentDbFilter_WhenThereArePaymentsCreatedBeforeCertainTime_ShouldReturnAllPaymentsCreatedBeforeThatTime() { //Arrange var sutBuilder = new PaymentDbFilterSutBuilder(); var payments = sutBuilder.Setup(); var filterInfo = new PaymentFilterInfo { EndTime = DateTime.Now.AddMilliseconds(1000), }; var filter = new PaymentDbFilter(filterInfo); var queryablePayments = payments.AsQueryable(); payments = payments.Where(u => u.CreationTime < filterInfo.EndTime).ToList(); //Act var result = filter.ApplyFilter(queryablePayments).ToList(); //Assert result.ShouldBe(payments); }
public async Task <ActionResult <IList <ApiPayment> > > GetAllPayments([FromQuery] PaymentFilterInfo filterInfo) { var payments = await paymentService.GetFilteredPaymentsAsync(filterInfo); return(mapper.Map <List <ApiPayment> >(payments)); }
public Task <IList <Payment> > GetFilteredPaymentsAsync(PaymentFilterInfo paymentFilterInfo) { var filter = paymentDbFilterFactory.Create(paymentFilterInfo); return(paymentRepository.GetAllAsync(filter)); }
public IDbFilter <Payment> Create(PaymentFilterInfo loanFilterInfo) { return(new PaymentDbFilter(loanFilterInfo)); }