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);
        }
Exemple #2
0
        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));
        }