public AddressRemoveOperationTest()
 {
     _fixture   = new Fixture();
     _store     = Substitute.For <IUserAggregateStore>();
     _logger    = Substitute.For <ILogger <AddressRemoveOperation> >();
     _operation = new AddressRemoveOperation(_store, _logger);
 }
예제 #2
0
        public async Task <IActionResult> DeleteAddress([FromRoute] Guid id, [FromBody] Guid addressId, [FromServices] AddressRemoveOperation operation)
        {
            var result = await operation.ExecuteAsync(new AddressRemove
            {
                UserId = id,
                Id     = addressId
            });

            if (result is Domain.OkResult)
            {
                return(NoContent());
            }

            if (result is ErrorResult error && error.ErrorCode.StartsWith("USR"))
            {
                if (error.ErrorCode == DomainError.UserError.UserNotFound.ErrorCode)
                {
                    return(NotFound(error));
                }

                return(UnprocessableEntity(error));
            }

            return(BadRequest(result));
        }