Example #1
0
        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);
        }
Example #2
0
        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;
        }
Example #3
0
 public override void GivenSync()
 {
     _request = _.Make <TopupNew.Command>();
 }