public PaymentSettings CreatePaymentSettings(Core.Brand.Interface.Data.Brand brand, PaymentType type, string vipLevel, PaymentSettingsValues settings) { var model = new SavePaymentSettingsCommand { Id = Guid.NewGuid(), Licensee = brand.Licensee.Id, Brand = brand.Id, PaymentType = type, PaymentGatewayMethod = PaymentMethod.OfflineBank, PaymentMethod = PaymentMethodDto.OfflinePayMethod, Currency = brand.BrandCurrencies.First().CurrencyCode, VipLevel = vipLevel, MinAmountPerTransaction = settings.MinAmountPerTransaction, MaxAmountPerTransaction = settings.MaxAmountPerTransaction, MaxTransactionPerDay = settings.MaxTransactionsPerDay, MaxTransactionPerWeek = settings.MaxTransactionsPerWeek, MaxTransactionPerMonth = settings.MaxTransactionsPerMonth }; var paymentSettingsId = _paymentSettingsCommands.AddSettings(model); var ps = _paymentRepository.PaymentSettings .Single(x => x.Id == paymentSettingsId); _paymentSettingsCommands.Enable(ps.Id, "remark"); return(ps); }
//TODO: VladS AFTREGO-4540, Igor, 08-April-2016 public void Can_change_vip_level_of_player_and_view_new_payment_settings_are_applied() { var brandTestHelper = _container.Resolve <BrandTestHelper>(); var paymentTestHelper = _container.Resolve <PaymentTestHelper>(); var playerTestHelper = _container.Resolve <PlayerTestHelper>(); var defaultLicenseeId = brandTestHelper.GetDefaultLicensee(); //create a brand for a default licensee var brand = brandTestHelper.CreateBrand(defaultLicenseeId, null, null, null, true); paymentTestHelper.CreatePaymentSettings(brand, PaymentType.Deposit); // create a player with a bound bank account for a brand var player = playerTestHelper.CreatePlayer(true, brand.Id); Thread.Sleep(5000); var playerUsername = player.Username; paymentTestHelper.CreatePlayerBankAccount(player.Id, DefaultBrandId, true); var defaultVipLevel = player.VipLevel; // create second brand's vip level and payment settings based on it var secondVipLevel = brandTestHelper.CreateVipLevel(brand.Id, isDefault: false); var settings = new PaymentSettingsValues { MinAmountPerTransaction = 5, MaxAmountPerTransaction = 9 }; var paymentSettingsForSecondVipLevel = paymentTestHelper.CreatePaymentSettings(brand, PaymentType.Deposit, secondVipLevel.Id.ToString(), settings); _paymentSettingsCommands.Disable(paymentSettingsForSecondVipLevel.Id, "remark"); //login to admin website, select to display the custom brand _driver.Logout(); _dashboardPage = _driver.LoginToAdminWebsiteAsSuperAdmin(); _dashboardPage.BrandFilter.SelectAll(); //make offline deposit and check the relevant payment settings are applied for player _playerManagerPage = _dashboardPage.Menu.ClickPlayerManagerMenuItem(); _playerManagerPage.SelectPlayer(playerUsername); var offlineDepositRequestForm = _playerManagerPage.OpenOfflineDepositRequestForm(); const decimal depositAmount = 10; var submittedOfflineDepositRequest = offlineDepositRequestForm.Submit(depositAmount); Assert.AreEqual("Offline deposit request has been created successfully", submittedOfflineDepositRequest.Confirmation); submittedOfflineDepositRequest.CloseTab("View Offline Deposit Request"); //deactivate the default vip level and make the second vip level default var vipLevelManagerPage = _playerManagerPage.Menu.ClickVipLevelManagerMenuItem(); var deactivateVipLevelDialog = vipLevelManagerPage.OpenDeactivateDialog(defaultVipLevel.Name, true); vipLevelManagerPage = deactivateVipLevelDialog.Deactivate(); //change the vip level of the player _playerManagerPage = vipLevelManagerPage.Menu.ClickPlayerManagerMenuItem(); var playerInfoPage = _playerManagerPage.OpenPlayerInfoPage(playerUsername); playerInfoPage.OpenAccountInformationSection(); //_driver.Manage().Window.Maximize(); var changeVipLevelDialog = playerInfoPage.OpenChangeVipLevelDialog(); changeVipLevelDialog.Submit(secondVipLevel.Name); playerInfoPage.CloseTab("Player Info"); //enable payment settings for second vip level _paymentSettingsCommands.Enable(paymentSettingsForSecondVipLevel.Id, "remark"); //try to make deposit again _playerManagerPage.SelectPlayer(playerUsername); var secondOfflineDepositRequestForm = _playerManagerPage.OpenOfflineDepositRequestForm(); secondOfflineDepositRequestForm.TryToSubmit(depositAmount); //TODO: VladS Payment settings applied but message doesn't show up. //Assert.That(offlineDepositRequestForm.ErrorMessage, Is.StringContaining("Deposit failed. The entered amount exceeds the allowed value. Maximum value is 9.00.")); }