public void Handle_DonatingServerNotSucceeded_ThrowServerException() { donationMananger.Setup(dm => dm.DonateServer(It.IsAny <DonationType>(), It.IsAny <string>())) .ReturnsAsync(new DonateServerResult(false, DonationDictionary.CalculateCredits(DonationType.FiftyPLN))); Assert.That(() => donateServerCommand.Handle(new DonateServerRequest { DonationType = DonationType.FiftyPLN }, CancellationToken.None), Throws.TypeOf <ServerException>()); }
public async Task <DonateServerResult> DonateServer(DonationType donationType, string code) { var token = await VerifyAndGetPaymentToken(code); using (var transaction = database.BeginTransaction().Transaction) { var _ = await userManager.AddCredits(DonationDictionary.CalculateCredits(donationType), httpContextReader.CurrentUserId) ?? throw new DatabaseException(); await ExecuteOrderTransaction(donationType, code, token); transaction.Complete(); return(new DonateServerResult(true, DonationDictionary.CalculateCredits(donationType))); } }
public void SetUp() { donationMananger = new Mock <IDonationManager>(); var httpContextReader = new Mock <IHttpContextReader>(); var notifier = new Mock <INotifier>(); var hubManager = new Mock <IHubManager <NotifierHub> >(); rewardReferrerSystem = new Mock <IRewardReferrerSystem>(); var mapper = new Mock <IMapper>(); donationMananger.Setup(dm => dm.DonateServer(It.IsAny <DonationType>(), It.IsAny <string>())) .ReturnsAsync(new DonateServerResult(true, DonationDictionary.CalculateCredits(DonationType.FiftyPLN))); donationMananger.Setup(dm => dm.DonateServerDlcBrain(It.IsAny <string>())) .ReturnsAsync(new DonateServerResult(true, 0)); rewardReferrerSystem.Setup(r => r.Reward(RewardReferrerType.ServerDonated, It.IsAny <int>())).ReturnsAsync( new RewardReferrerResult(true, It.IsAny <int>(), RewardReferrerType.ServerDonated, It.IsAny <int>())); donateServerCommand = new DonateServerCommand(donationMananger.Object, httpContextReader.Object, notifier.Object, hubManager.Object, rewardReferrerSystem.Object, mapper.Object); }