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++; } }
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); }
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); }
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++; } }