public void Cannot_execute_PlayerCommands_without_permissions()
        {
            // Arrange
            LogWithNewAdmin(Modules.PlayerManager, Permissions.View);

            // Act
            Assert.Throws <InsufficientPermissionsException>(() => _playerCommands.Edit(new EditPlayerData()));
            Assert.Throws <InsufficientPermissionsException>(() => _playerCommands.ChangePlayerVipLevel(new Guid(), new Guid()));
            Assert.Throws <InsufficientPermissionsException>(() => _playerCommands.AssignVip(new Core.Common.Data.Player.Player(), new VipLevel()));
            Assert.Throws <InsufficientPermissionsException>(() => _playerCommands.SetStatus(new Guid(), true));
            Assert.Throws <InsufficientPermissionsException>(() => _playerCommands.Register(new RegistrationData()));
            Assert.Throws <InsufficientPermissionsException>(() => _playerCommands.ChangeVipLevel(new Guid(), new Guid(), "Some remark"));
        }
예제 #2
0
        public void Can_process_activate_player()
        {
            // Arrange
            var player = PlayerTestHelper.CreatePlayer(false);

            // Act
            _playerCommands.SetStatus(player.Id, true);

            // Assert
            Assert.AreEqual(1, _reportRepository.PlayerRecords.Count());
            var record = _reportRepository.PlayerRecords.Single();

            Assert.AreEqual(false, record.IsInactive);
            Assert.Less(DateTimeOffset.Now.AddDays(-2), record.Activated);
        }
예제 #3
0
        public IHttpActionResult SetStatus(SetStatusData data)
        {
            VerifyPermission(Permissions.Activate, Modules.PlayerManager);
            VerifyPermission(Permissions.Deactivate, Modules.PlayerManager);

            _commands.SetStatus(data.Id, data.Active);

            return(Ok(new { Result = "success", active = data.Active }));
        }
예제 #4
0
        private void AddPlayer(Guid brandId, string firstName, string lastName, string username, Guid securityQuestionId,
                               string password = "******", string currency = "CAD", string culture = "en-US", decimal initialDeposit = 0m, string referralId = null,
                               bool isActive   = true, bool isLocked       = false, string state   = "State/Province")
        {
            if (_playerRepository.Players.Any(x => x.Username == username))
            {
                return;
            }

            var playerData = new RegistrationData
            {
                BrandId                     = brandId.ToString(),
                CurrencyCode                = currency,
                CultureCode                 = culture,
                Username                    = username,
                Password                    = password,
                PasswordConfirm             = password,
                IdStatus                    = IdStatus.Verified.ToString(),
                IsLocked                    = isLocked,
                Comments                    = "Created by ApplicationSeeder",
                Gender                      = "Male",
                Title                       = "Mr",
                FirstName                   = firstName,
                LastName                    = lastName,
                Email                       = CreateEmailAddress(),
                AccountAlertSms             = true,
                AccountAlertEmail           = true,
                PhoneNumber                 = "123456789",
                MailingAddressLine1         = "305-1250 Homer Street",
                MailingAddressCity          = "Vancouver",
                MailingAddressPostalCode    = "V6B1C6",
                MailingAddressStateProvince = state,
                PhysicalAddressLine1        = "305-1250 Homer Street",
                PhysicalAddressCity         = "Vancouver",
                PhysicalAddressPostalCode   = "V6B1C6",
                CountryCode                 = "US",
                DateOfBirth                 = "1990/01/01",
                ContactPreference           = "Email",
                SecurityAnswer              = "1",
                SecurityQuestionId          = securityQuestionId.ToString(),
                ReferralId                  = referralId,
                IpAddress                   = "127.0.0.1"
            };

            var playerId = _playerCommands.Register(playerData);

            _playerCommands.SetStatus(playerId, isActive);

            if (initialDeposit > 0m)
            {
                MakeDeposit(username, initialDeposit);
            }
        }
예제 #5
0
        public void Consume(PlayerRegistrationChecked message)
        {
            var player = _playerRepository.Players.FirstOrDefault(x => x.Id == message.PlayerId);

            if (player == null)
            {
                return;
            }

            if (message.Action == SystemAction.FreezeAccount)
            {
                _playerCommands.FreezeAccount(player.Id);
            }

            if (message.Action == SystemAction.Deactivate)
            {
                _playerCommands.SetStatus(player.Id, false);
            }

            if (message.Action == SystemAction.NoAction)
            {
                _playerCommands.SetStatus(player.Id, true);
            }
        }