public UserGetAllOperationTest() { _fixture = new Fixture(); _fixture.Behaviors.Remove(new ThrowingRecursionBehavior()); _fixture.Behaviors.Add(new OmitOnRecursionBehavior()); _repository = Substitute.For <IReadOnlyUserRepository>(); _logger = Substitute.For <ILogger <UserGetAllOperation> >(); _mapper = Substitute.For <IMapper <Domain.Common.User, User> >(); _operation = new UserGetAllOperation(_repository, _logger, _mapper); }
public async Task <IActionResult> GetAllUser([FromQuery] int?skip, [FromQuery] int?take, [FromServices] UserGetAllOperation operation) { var result = await operation.ExecuteAsync(new UserGetAll { Skip = skip ?? 0, Take = take ?? 0 }); if (result is OkResult <IEnumerable <UserResponse> > ok) { return(Ok(ok.Value)); } if (result is ErrorResult error && error.ErrorCode.StartsWith("USR")) { return(UnprocessableEntity(error)); } return(BadRequest(result)); }