public async Task <IAccountModel?> EvaluateAccountPendingAsync(IAccountModel accountCheckCommand) { if ( string.IsNullOrEmpty(accountCheckCommand.ProfileId) || string.IsNullOrEmpty(accountCheckCommand.Id) ) { return(null); } var isCreationAllowed = await _licenseManager.EvaluateNewEntityAsync(accountCheckCommand); if (isCreationAllowed) { accountCheckCommand.SetApproval(); } else { accountCheckCommand.SetDenial(); } var approvedEntity = await _approvalsService.CreateApprovalAsync( accountCheckCommand.ToApprovalEntity() ); if (approvedEntity != null) { var accountIsCheckedEvent = approvedEntity.ToAccountModel <AccountIsCheckedEvent>(accountCheckCommand); await _publishEndpoint.Publish(accountIsCheckedEvent); return(accountIsCheckedEvent); } return(null); }
public async void Should_CreateApprovalAsync_Valid() { var newAccountEntity = new ApprovalEntity { AccountId = Guid.NewGuid() }; var newCreatedAccountEntity = await _service.CreateApprovalAsync(newAccountEntity); Assert.NotNull(newCreatedAccountEntity); }