public void Cannot_redeem_bonus_with_unmatched_tiers() { CreateBonusWithHighDepositTiers(false); MakeDeposit(PlayerId, 450); BonusRedemptions.Should().BeEmpty(); }
public void Application_to_bonus_is_active_inside_Duration_only() { MakeDeposit(PlayerId); var bonus = CreateFirstDepositBonus(); bonus.Template.Info.TemplateType = BonusType.ReloadDeposit; bonus.DurationType = DurationType.Custom; bonus.DurationStart = SystemTime.Now.AddMinutes(5); bonus.DurationEnd = SystemTime.Now.AddMinutes(10); MakeDeposit(PlayerId); BonusRedemptions.Should().BeEmpty(); SystemTime.Factory = () => DateTimeOffset.Now.AddMinutes(11); MakeDeposit(PlayerId); BonusRedemptions.Should().BeEmpty(); SystemTime.Factory = () => DateTimeOffset.Now.AddMinutes(9); MakeDeposit(PlayerId); BonusRedemptions.Should().NotBeEmpty(); SystemTime.Factory = () => DateTimeOffset.Now; }
public void System_does_not_redeem_ManualByCS_bonus_automatically() { CreateFirstDepositBonus(mode: IssuanceMode.ManualByCs); MakeDeposit(PlayerId); BonusRedemptions.Should().BeEmpty(); }
public void Cannot_redeem_deposit_bonus(decimal depositAmount, BonusRewardType rewardType) { CreateBonusWithBonusTiers(rewardType); MakeDeposit(PlayerId, depositAmount); BonusRedemptions.Should().BeEmpty(); }
public void Min_fund_in_amount_restriction_works() { _bonus.Template.Rules.RewardTiers.Single().BonusTiers.Single().From = 100; //depositing funds to use them for fund in MakeDeposit(PlayerId); MakeFundIn(PlayerId, _brandWalletId, 99); BonusRedemptions.Should().BeEmpty(); }
public void Bonus_is_not_issed_if_no_matching_currency_is_found() { var bonus = CreateFirstDepositBonus(); bonus.Template.Rules.RewardTiers.Single().CurrencyCode = "ABC"; MakeDeposit(PlayerId); BonusRedemptions.Should().BeEmpty(); }
public void First_deposit_bonus_is_applied_to_first_deposit_only() { MakeDeposit(PlayerId); CreateFirstDepositBonus(); MakeDeposit(PlayerId); BonusRedemptions.Should().BeEmpty(); }
public void Reload_deposit_bonus_is_applied_to_second_and_sunsequent_deposits() { var bonus = CreateFirstDepositBonus(); bonus.Template.Info.TemplateType = BonusType.ReloadDeposit; MakeDeposit(PlayerId); BonusRedemptions.Should().BeEmpty(); MakeDeposit(PlayerId); BonusRedemptions.Should().NotBeEmpty(); }
public void Destination_wallet_restriction_works() { //using handler directly, 'cos MakeFundIn method does not accept invalid wallet ids Container.Resolve <PaymentSubscriber>().Handle(new TransferFundCreated { Amount = 100, DestinationWalletStructureId = Guid.NewGuid(), Type = TransferFundType.FundIn, Status = TransferFundStatus.Approved, PlayerId = PlayerId }); BonusRedemptions.Should().BeEmpty(); }
public void Player_VIP_level_qualification() { var bonus = CreateFirstDepositBonus(); bonus.Template.Availability.VipLevels = new List <BonusVip> { new BonusVip { Code = "Bronze" } }; MakeDeposit(PlayerId); BonusRedemptions.Should().BeEmpty(because: "Player has not qualified VIP level"); }