Пример #1
0
        public PaymentSettings CreatePaymentSettings(Core.Brand.Interface.Data.Brand brand, PaymentType type, bool enable = true)
        {
            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                = brand.DefaultVipLevelId.ToString(),
                MinAmountPerTransaction = 10,
                MaxAmountPerTransaction = 200,
                MaxTransactionPerDay    = 10,
                MaxTransactionPerWeek   = 20,
                MaxTransactionPerMonth  = 30
            };

            var paymentSettingsId = _paymentSettingsCommands.AddSettings(model);

            var ps =
                _paymentRepository.PaymentSettings
                .Single(x => x.Id == paymentSettingsId);

            if (enable)
            {
                _paymentSettingsCommands.Enable(ps.Id, "remark");
            }

            return(ps);
        }
Пример #2
0
        public void Cannot_execute_PaymentSettingsCommands_without_permissions()
        {
            // Arrange
            LogWithNewAdmin(Modules.PaymentSettings, Permissions.View);

            // Act
            Assert.Throws <InsufficientPermissionsException>(() => _paymentSettingsCommands.Enable(new Guid(), "Some remark"));
            Assert.Throws <InsufficientPermissionsException>(() => _paymentSettingsCommands.Disable(new Guid(), "Some remark"));
        }
Пример #3
0
        public void Enable_payment_settings_test()
        {
            // Arrange
            var paymentSettings = new PaymentSettings
            {
                Id      = new Guid("50797305-5320-4086-BA1C-9D062DDF53D9"),
                Enabled = Status.Inactive
            };

            _paymentRepository.PaymentSettings.Add(paymentSettings);

            // Act
            _commands.Enable(paymentSettings.Id, "remark");

            //Assert
            var settings = _paymentRepository.PaymentSettings.Single(x => x.Id == paymentSettings.Id);

            settings.Enabled.Should().Be(Status.Active);
            settings.EnabledBy.ShouldBeEquivalentTo(_actorInfoProvider.Actor.UserName);
            settings.EnabledDate.Should().BeCloseTo(DateTime.Now, 5000);
        }
 public ActionResult Enable(Guid id, string remarks)
 {
     try
     {
         _settingsCommands.Enable(id, remarks);
         return(this.Success());
     }
     catch (Exception ex)
     {
         return(this.Failed(ex));
     }
 }
Пример #5
0
        //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."));
        }