public async void ValidarFiltroCpf(string cpf, int responsavelIdEsperado)
        {
            // Arrange
            var query = new ObterResponsaveisQuery {
                Cpf = cpf
            };

            query.ConfigurarPaginacao(1, 10);

            this.mockResponsavelRepository
            .Setup(r => r.Query())
            .Returns(this.responsaveis.AsQueryable());

            this.mockValidator
            .Setup(v => v.ValidateModelAsync(It.IsNotNull <ObterResponsaveisQuery>()))
            .Returns(Task.FromResult(true));

            // Act
            var result = await sut.Handle(query, default);

            // Assert
            result.Success.Should().BeTrue();
            result.Value.Should().HaveCount(1);
            result.Value[0].Id.Should().Be(responsavelIdEsperado);
        }
        public async void ValidarFiltroNumeroProcesso(string numeroProcesso, int responsaveisCountEsperado, int[] responsaveisIdsEsperados)
        {
            // Arrange
            var query = new ObterResponsaveisQuery {
                NumeroProcesso = numeroProcesso
            };

            query.ConfigurarPaginacao(1, 10);

            this.mockResponsavelRepository
            .Setup(r => r.Query())
            .Returns(this.responsaveis.AsQueryable());

            this.mockValidator
            .Setup(v => v.ValidateModelAsync(It.IsNotNull <ObterResponsaveisQuery>()))
            .Returns(Task.FromResult(true));

            // Act
            var result = await sut.Handle(query, default);

            // Assert
            result.Success.Should().BeTrue();
            result.Value.Should().HaveCount(responsaveisCountEsperado);
            result.Value.Select(r => r.Id).Should().Equal(responsaveisIdsEsperados);
        }
        public Task <IActionResult> ObterResponsaveisAsync([FromBody] ObterResponsaveisQuery query, [FromQuery] ObterResponsaveisParameter parameters)
        {
            query.ConfigurarPaginacao(parameters.PageNumber, parameters.PageSize);

            return(this.ExecAndHandleAsync(
                       action: () => this.responsavelService.ObterResponsaveisAsync(query),
                       onSuccessActionResultHandler: (result) =>
            {
                this.EnsurePaginationMetadata(result, "ObterResponsaveis");
                return this.Ok(result);
            }));
        }
        public async void ValidarObterResponsaveis()
        {
            // Arrange
            var query = new ObterResponsaveisQuery();

            var parameters = new ObterResponsaveisParameter
            {
                PageNumber = 1,
                PageSize   = 30
            };

            var pagedList = PagedList <ResponsavelDto> .Create(
                source : new List <ResponsavelDto>()
            {
                new ResponsavelDto
                {
                    Id    = 1,
                    Nome  = "Nome1",
                    Cpf   = "Cpf1",
                    Email = "Email1",
                    Foto  = new byte[1]
                },
                new ResponsavelDto
                {
                    Id    = 2,
                    Nome  = "Nome2",
                    Cpf   = "Cpf2",
                    Email = "Email2",
                    Foto  = new byte[1]
                }
            }.AsQueryable(),
                pageNumber : parameters.PageNumber,
                pageSize : parameters.PageSize);

            mockResponsavelService
            .Setup(rs => rs.ObterResponsaveisAsync(It.IsAny <ObterResponsaveisQuery>()))
            .Returns(Task.FromResult(pagedList));

            mockApiResultHandler
            .Setup(rh => rh.Handle(sut, pagedList))
            .Returns(sut.Ok(pagedList));

            // Act
            IActionResult actionResult = await sut.ObterResponsaveisAsync(query, parameters);

            // Assert
            actionResult.Should().BeOfType <OkObjectResult>().Subject.Value.Should().BeEquivalentTo(pagedList);
        }
Beispiel #5
0
        public async void ValidarObterResponsaveis()
        {
            // Arrange
            var query        = new ObterResponsaveisQuery();
            var responsaveis = PagedList <ResponsavelDto> .Create(new List <ResponsavelDto>
            {
                new ResponsavelDto
                {
                    Id    = 1,
                    Nome  = "Nome",
                    Cpf   = "Cpf",
                    Email = "Email",
                    Foto  = new byte[1]
                },
                new ResponsavelDto
                {
                    Id    = 2,
                    Nome  = "Nome2",
                    Cpf   = "Cpf2",
                    Email = "Email2",
                    Foto  = new byte[1]
                }
            }.AsQueryable(),
                                                                  pageNumber : 1,
                                                                  pageSize : 30);

            this.mockMediator
            .Setup(m => m.Send(query, default))
            .Returns(Task.FromResult(new RequestResponseWrapper <PagedList <ResponsavelDto> >(true, responsaveis)));

            // Act
            var response = await this.sut.ObterResponsaveisAsync(query);

            // Assert
            response.Should().BeEquivalentTo(responsaveis);
            this.mockMediator.Verify(mockMediator => mockMediator.Send(It.IsNotNull <ObterResponsaveisQuery>(), default), Times.Once);
        }
        public async void ValidarRetornoPaginado(int pageNumber, int pageSize, int expectedItemsCount, int expectedTotalPages, int expectedTotalCount)
        {
            // Arrange
            var query = new ObterResponsaveisQuery();

            query.ConfigurarPaginacao(pageNumber, pageSize);

            this.mockResponsavelRepository
            .Setup(r => r.Query())
            .Returns(this.responsaveis.AsQueryable());

            this.mockValidator
            .Setup(v => v.ValidateModelAsync(It.IsNotNull <ObterResponsaveisQuery>()))
            .Returns(Task.FromResult(true));

            // Act
            var result = await sut.Handle(query, default);

            // Assert
            result.Success.Should().BeTrue();
            result.Value.Should().HaveCount(expectedItemsCount);
            result.Value.TotalPages.Should().Be(expectedTotalPages);
            result.Value.TotalCount.Should().Be(expectedTotalCount);
        }
        public async Task <PagedList <ResponsavelDto> > ObterResponsaveisAsync(ObterResponsaveisQuery query)
        {
            var result = await this.mediator.Send(query);

            return(result.Value);
        }