Пример #1
0
        public void Can_process_VipLevel_registered_with_vip_level_limits()
        {
            // Arrange
            const int vipLevelLimitCount     = 3;
            var       oldVipLevelRecordCount = _reportRepository.VipLevelRecords.Count();

            // Act
            var vipLevel = BrandTestHelper.CreateVipLevel(CurrentBrand.Id, vipLevelLimitCount, false);

            // Assert
            Assert.AreEqual(oldVipLevelRecordCount + vipLevelLimitCount, _reportRepository.VipLevelRecords.Count());
            var records = _reportRepository.VipLevelRecords.Skip(oldVipLevelRecordCount);
            var i       = 0;

            foreach (var record in records)
            {
                Assert.AreEqual(vipLevel.Id, record.VipLevelId);
                Assert.AreEqual(vipLevel.Brand.Licensee.Name, record.Licensee);
                Assert.AreEqual(vipLevel.Brand.Name, record.Brand);
                Assert.AreEqual(vipLevel.Code, record.Code);
                Assert.AreEqual(vipLevel.Rank, record.Rank);
                Assert.AreNotEqual(vipLevel.Id, CurrentBrand.DefaultVipLevelId);
                Assert.AreEqual(vipLevel.Status.ToString(), record.Status);
                record.Created.Should().BeCloseTo(vipLevel.DateCreated, 500);
                Assert.AreEqual(vipLevel.CreatedBy, record.CreatedBy);

                var vipLevelLimit = vipLevel.VipLevelGameProviderBetLimits.ElementAt(i);
                Assert.AreEqual(vipLevelLimit.Id, record.VipLevelLimitId);
                Assert.AreEqual(GameProvider(vipLevelLimit.GameProviderId), record.GameProvider);
                Assert.AreEqual(vipLevelLimit.Currency.Code, record.Currency);
                Assert.AreEqual(BetLimit(vipLevelLimit.BetLimitId), record.BetLevel);
                i++;
            }
        }
Пример #2
0
        public void Can_process_VipLevel_registered()
        {
            // Arrange
            var oldVipLevelRecordCount = _reportRepository.VipLevelRecords.Count();

            // Act
            var vipLevel = BrandTestHelper.CreateVipLevel(CurrentBrand.Id, isDefault: false);

            // Assert
            Assert.AreEqual(oldVipLevelRecordCount + 1, _reportRepository.VipLevelRecords.Count());
            var record = _reportRepository.VipLevelRecords.Last();

            Assert.AreEqual(vipLevel.Id, record.VipLevelId);
            Assert.AreEqual(null, record.VipLevelLimitId);
            Assert.AreEqual(vipLevel.Brand.Licensee.Name, record.Licensee);
            Assert.AreEqual(vipLevel.Brand.Name, record.Brand);
            Assert.AreEqual(vipLevel.Code, record.Code);
            Assert.AreEqual(vipLevel.Rank, record.Rank);
            Assert.AreNotEqual(vipLevel.Id, CurrentBrand.DefaultVipLevelId);
            Assert.AreEqual(vipLevel.Status.ToString(), record.Status);
            Assert.AreEqual(null, record.GameProvider);
            Assert.AreEqual(null, record.Currency);
            Assert.AreEqual(null, record.BetLevel);
            record.Created.Should().BeCloseTo(vipLevel.DateCreated);
            Assert.AreEqual(vipLevel.CreatedBy, record.CreatedBy);
        }
Пример #3
0
        public void Can_assign_VIP_level_to_player_with_permission()
        {
            var defaultLicenseeId = _brandTestHelper.GetDefaultLicensee();
            var brand             = _brandTestHelper.CreateBrand(defaultLicenseeId, isActive: true);

            _driver.Navigate().Refresh();
            _dashboardPage.BrandFilter.SelectAll();
            // create a user with permissions to view and assign VIP level for a player
            var permissions = new[]
            {
                _securityTestHelper.GetPermission(Permissions.View, Modules.PlayerManager),
                _securityTestHelper.GetPermission(Permissions.Update, Modules.PlayerManager),
                _securityTestHelper.GetPermission(Permissions.AssignVipLevel, Modules.PlayerManager)
            };

            var role = _securityTestHelper.CreateRole(new[] { _defaultLicensee.Id }, permissions);

            Thread.Sleep(5000); //wait for new Role event proceeds.
            WaitHelper.WaitUntil(() => _securityTestHelper.IsRoleExistInDb(role.Id));
            const string password = "******";
            var          user     = _securityTestHelper.CreateAdmin(_defaultLicensee.Id, new[] { brand }, password: password, roleId: role.Id);

            // create a player
            var player = _playerTestHelper.CreatePlayer(isActive: true, brandId: brand.Id);

            //create a VIP Level
            var vipLevel = _brandTestHelper.CreateVipLevel(brand.Id, isDefault: false);

            // login as the user and assign VIP level to the player
            _dashboardPage = _driver.LoginToAdminWebsiteAs(user.Username, password);
            _dashboardPage.BrandFilter.SelectAll();

            var playerManagerPage = _dashboardPage.Menu.ClickPlayerManagerMenuItem();
            var playerInfo        = playerManagerPage.OpenPlayerInfoPage(player.Username);

            playerInfo.OpenAccountInformationSection();
            var changeVipLevelDialog = playerInfo.OpenChangeVipLevelDialog();

            changeVipLevelDialog.Submit(vipLevel.Name);

            Assert.AreEqual(vipLevel.Name, playerInfo.VipLevel);
        }
Пример #4
0
        public void Can_process_VipLevel_updated()
        {
            // Arrange
            var oldVipLevelRecordCount = _reportRepository.VipLevelRecords.Count();
            var vipLevel      = BrandTestHelper.CreateVipLevel(CurrentBrand.Id, 3, false);
            var vipLevelLimit = vipLevel.VipLevelGameProviderBetLimits.First();

            _brandCommands.DeactivateVipLevel(vipLevel.Id, "deactivated", null);

            var vipLevelName = TestDataGenerator.GetRandomString();
            int rank;

            do
            {
                rank = TestDataGenerator.GetRandomNumber(100);
            }while (_brandRepository.VipLevels.Any(vl => vl.Rank == rank));
            var gameProvider = _gamesTestHelper.CreateGameProvider();
            var editVipLevel = new VipLevelViewModel
            {
                Id     = vipLevel.Id,
                Name   = vipLevelName,
                Code   = vipLevelName.Remove(3),
                Brand  = CurrentBrand.Id,
                Rank   = rank,
                Limits = new[]
                {
                    new VipLevelLimitViewModel
                    {
                        Id             = vipLevelLimit.Id,
                        GameProviderId = vipLevelLimit.GameProviderId,
                        CurrencyCode   = vipLevelLimit.Currency.Code,
                        BetLimitId     = vipLevelLimit.BetLimitId
                    },
                    new VipLevelLimitViewModel
                    {
                        Id             = Guid.NewGuid(),
                        GameProviderId = gameProvider.Id,
                        CurrencyCode   = BrandTestHelper.CreateCurrency("UAH", "Hryvnia").Code,
                        BetLimitId     = _gamesTestHelper.CreateBetLevel(gameProvider, CurrentBrand.Id).Id
                    }
                }
            };

            // Act
            _brandCommands.EditVipLevel(editVipLevel);

            // Assert
            Assert.AreEqual(oldVipLevelRecordCount + 2, _reportRepository.VipLevelRecords.Count());
            var records        = _reportRepository.VipLevelRecords.Skip(oldVipLevelRecordCount);
            var vipLevelLimits = _brandRepository.VipLevels.Single(vl => vl.Id == editVipLevel.Id).VipLevelGameProviderBetLimits;
            var i = 0;
            var actorInfoProvider = Container.Resolve <IActorInfoProvider>();

            foreach (var record in records)
            {
                Assert.AreEqual(vipLevel.Id, record.VipLevelId);
                Assert.AreEqual(CurrentBrand.Licensee.Name, record.Licensee);
                Assert.AreEqual(CurrentBrand.Name, record.Brand);
                Assert.AreEqual(editVipLevel.Code, record.Code);
                Assert.AreEqual(editVipLevel.Rank, record.Rank);
                Assert.AreNotEqual(editVipLevel.Id, CurrentBrand.DefaultVipLevelId);
                Assert.Less(DateTimeOffset.Now.AddDays(-1), record.Updated);
                Assert.AreEqual(actorInfoProvider.Actor.UserName, record.UpdatedBy);

                var limit = vipLevelLimits.ElementAt(i);
                Assert.AreEqual(limit.Id, record.VipLevelLimitId);
                Assert.AreEqual(GameProvider(limit.GameProviderId), record.GameProvider);
                Assert.AreEqual(limit.Currency.Code, record.Currency);
                Assert.AreEqual(BetLimit(limit.BetLimitId), record.BetLevel);
                i++;
            }
        }