public IHttpActionResult ChangePaymentLevel(ChangePaymentLevelData command) { VerifyPermission(Permissions.AssignPaymentLevel, Modules.PlayerManager); if (ModelState.IsValid == false) { return(Ok(ErrorResponse())); } var request = new ChangePaymentLevelData { PlayerId = command.PlayerId, PaymentLevelId = command.PaymentLevelId, Remarks = command.Remarks }; var validationResult = _commands.ValidatePlayerPaymentLevelCanBeChanged(request); if (validationResult.IsValid == false) { return(Ok(ValidationExceptionResponse(validationResult.Errors))); } _commands.ChangePaymentLevel(request); return(Ok(new { Result = "success" })); }
public void Can_change_payment_level() { //setup var brand = _brandTestHelper.CreateBrand(); var player = _playerTestHelper.CreatePlayer(); var paymentLevel = _paymentTestHelper.CreatePaymentLevel(brand.Id, player.CurrencyCode); //act _playerCommands.ChangePaymentLevel(new ChangePaymentLevelData { PlayerId = player.Id, PaymentLevelId = paymentLevel.Id, Remarks = "test" }); //assert var playerData = _playerRepository.Players.FirstOrDefault(x => x.Id == player.Id); playerData.PaymentLevelId.Should().Be(paymentLevel.Id); var playerPaymentLevel = _paymentRepository.PlayerPaymentLevels.FirstOrDefault(x => x.PlayerId == player.Id); playerPaymentLevel.PaymentLevel.Id.Should().Be(paymentLevel.Id); var eventRepository = Container.Resolve <IEventRepository>(); eventRepository.Events.Where(x => x.DataType == typeof(PlayerPaymentLevelChanged).Name).Should().NotBeEmpty(); }