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