public override async Task Given() { // arrange var provider = _.MakeSaving <Provider>(m => m.Amounts = "20"); _payment = _.Make <PayPauResult>(); _command = _.Make <TopupNew.Command>(m => { m.ProviderId = provider.Id; m.Amount = 20; }); _.Get <IPayPau>().Charge(_command.CreditCard, _command.Amount).Returns(_payment); // act await _.Send(_command); }
public Topup(TopupNew.Command request, User user, Provider provider) { if (provider.SupportsAmount(request.Amount) == false) { throw new DomainException($"The provider {provider.Name} does not support the amount of {request.Amount}"); } User = user; UserId = request.UserId; Provider = provider; ProviderId = request.ProviderId; PhoneNumber = request.PhoneNumber; Amount = request.Amount; Email = user.Email; Name = user.Name; }
public override void GivenSync() { _request = _.Make <TopupNew.Command>(); }