Ejemplo n.º 1
0
        public async Task UpdateBadRequest()
        {
            var serviceMock = new Mock <IContaService>();

            serviceMock.Setup(m => m.Put(It.IsAny <ContaDtoUpdate>())).ReturnsAsync(
                new ContaDtoUpdateResult
            {
                Id          = Guid.NewGuid(),
                Name        = "PV Conta",
                Description = "Conta Corrente",
                Balance     = 0,
                Status      = true,
                UpdateAt    = DateTime.Now
            }
                );

            _controller = new ContasController(serviceMock.Object);
            _controller.ModelState.AddModelError("Id", "Formato Inválido");

            var contaDtoUpdate = new ContaDtoUpdate
            {
                Id          = Guid.NewGuid(),
                Name        = "PV Conta",
                Description = "Conta Corrente",
                Status      = true
            };

            var result = await _controller.Put(contaDtoUpdate);

            Assert.True(result is BadRequestObjectResult);
        }
Ejemplo n.º 2
0
        public async Task <ContaDtoUpdateResult> Put(ContaDtoUpdate conta)
        {
            var model  = _mapper.Map <ContaModel>(conta);
            var entity = _mapper.Map <ContaEntity>(model);
            var result = await _repository.UpdateAsync(entity);

            return(_mapper.Map <ContaDtoUpdateResult>(result));
        }
        public async Task <ActionResult> Put([FromBody] ContaDtoUpdate conta)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState)); // 400 bad request
                }

                var result = await _service.Put(conta);

                if (result != null)
                {
                    return(Ok(result));
                }

                return(BadRequest());
            }
            catch (ArgumentException ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Ejemplo n.º 4
0
        public ContaTestes()
        {
            Id          = Guid.NewGuid();
            Name        = Faker.Name.FullName();
            Description = "Conta Corrente";
            Balance     = 0;
            Status      = true;

            for (int i = 0; i < 10; i++)
            {
                var dto = new ContaDto()
                {
                    Id          = Guid.NewGuid(),
                    Name        = Faker.Name.FullName(),
                    Description = "Conta Corrente",
                    Balance     = 0,
                    Status      = true
                };
                listaContaDto.Add(dto);
            }

            contaDto = new ContaDto
            {
                Id          = Id,
                Name        = Name,
                Description = Description,
                Balance     = Balance,
                Status      = Status
            };

            contaDtoCreate = new ContaDtoCreate
            {
                Name        = Name,
                Description = Description,
                Status      = Status
            };

            contaDtoCreateResult = new ContaDtoCreateResult
            {
                Id          = Id,
                Name        = Name,
                Description = Description,
                Status      = Status,
                Balance     = Balance,
                CreateAt    = DateTime.UtcNow
            };

            contaDtoUpdate = new ContaDtoUpdate
            {
                Id          = Id,
                Name        = Name,
                Description = Description,
                Status      = Status,
            };

            contaDtoUpdateResult = new ContaDtoUpdateResult
            {
                Id          = Id,
                Name        = Name,
                Description = Description,
                Status      = Status,
                UpdateAt    = DateTime.UtcNow
            };
        }
        public async Task TestIntegrationConta()
        {
            var contaDtoCreate = new ContaDtoCreate()
            {
                Name        = Faker.Name.FullName(),
                Description = "Conta Corrente",
                Status      = true
            };

            //Post
            var response = await PostJsonAsync(contaDtoCreate, $"{hostApi}contas", client);

            var postResult = await response.Content.ReadAsStringAsync();

            var registroContaPost = JsonConvert.DeserializeObject <ContaDtoCreateResult>(postResult);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal(contaDtoCreate.Name, registroContaPost.Name);
            Assert.Equal(contaDtoCreate.Description, registroContaPost.Description);
            Assert.Equal(contaDtoCreate.Status, registroContaPost.Status);
            Assert.True(registroContaPost.Id != default(Guid));

            //Get All
            response = await client.GetAsync($"{hostApi}contas");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            var jsonResult = await response.Content.ReadAsStringAsync();

            var listaFromJson = JsonConvert.DeserializeObject <IEnumerable <ContaDto> >(jsonResult);

            Assert.NotNull(listaFromJson);
            Assert.True(listaFromJson.Count() > 0);
            Assert.True(listaFromJson.Where(r => r.Id == registroContaPost.Id).Count() == 1);

            var contaDtoUpdate = new ContaDtoUpdate()
            {
                Id          = registroContaPost.Id,
                Name        = Faker.Name.FullName(),
                Description = "Conta Corrente",
                Status      = true
            };

            //PUT
            var stringContent = new StringContent(JsonConvert.SerializeObject(contaDtoUpdate),
                                                  Encoding.UTF8, "application/json");

            response = await client.PutAsync($"{hostApi}contas", stringContent);

            jsonResult = await response.Content.ReadAsStringAsync();

            var registroAtualizado = JsonConvert.DeserializeObject <ContaDtoUpdateResult>(jsonResult);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.Equal(contaDtoUpdate.Name, registroAtualizado.Name);

            //GET Id
            response = await client.GetAsync($"{hostApi}contas/{registroAtualizado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            var registroSelecionado = JsonConvert.DeserializeObject <ContaDto>(jsonResult);

            Assert.NotNull(registroSelecionado);
            Assert.Equal(contaDtoUpdate.Id, registroSelecionado.Id);

            //DELETE
            response = await client.DeleteAsync($"{hostApi}contas/{registroSelecionado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            //GET ID depois do DELETE
            response = await client.GetAsync($"{hostApi}contas/{registroSelecionado.Id}");

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }