public async Task Atualizar_Produto_Com_Imagem_Base64_Com_Sucesso()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "49157344043");
            ProdutoViewModel    produtoVM    = ProdutoViewModelTestsHelper.ObterInstancia(fornecedorVM, $"{base.Factory.Env.WebRootPath}/img");

            await AdicionarObjsParaTestes(fornecedorVM, produtoVM);

            produtoVM.Nome      = "Produto de teste com atualização";
            produtoVM.Valor     = 321.43M;
            produtoVM.Descricao = "É o produto teste não um lorem";
            produtoVM.Ativo     = false;

            HttpContent dataRequest = ContentHelper.CreateJsonContent(produtoVM);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/{produtoVM.Id}", dataRequest);

            // Assert
            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            // Clean up
            await DeletarImagemProduto(produtoVM.Id);
        }
        public async Task Adicionar_Produto_Com_Imagem_Base64_Com_Erro_Por_Propriedades_Invalidas()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "49157344043");

            await AdicionarObjsParaTestes(fornecedorVM);

            ProdutoViewModel produtoVM = ProdutoViewModelTestsHelper.ObterInstancia(fornecedorVM);

            produtoVM.Descricao = string.Empty;
            produtoVM.Nome      = string.Empty;

            HttpContent dataRequest = ContentHelper.CreateJsonContent(produtoVM);

            // Act
            HttpResponseMessage response = await base.Client.PostAsync(CommonUri, dataRequest);

            // Assert
            var result = await ContentHelper.ExtractObject <ResponseViewModel>(response.Content);

            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.NotEmpty(result.Errors);
            Assert.Equal(4, result.Errors.Length);

            // Clean up image
            await DeletarImagemProduto(produtoVM.Id);
        }
        public async Task Adicionar_Produto_Com_Imagem_Base64_Invalida()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "49157344043");

            await AdicionarObjsParaTestes(fornecedorVM);

            ProdutoViewModel produtoVM = ProdutoViewModelTestsHelper.ObterInstancia(fornecedorVM);

            produtoVM.ImagemUpload = string.Empty;

            HttpContent dataRequest = ContentHelper.CreateJsonContent(produtoVM);

            // Act
            HttpResponseMessage response = await base.Client.PostAsync(CommonUri, dataRequest);

            // Assert
            var result = await ContentHelper.ExtractObject <ResponseViewModel>(response.Content);

            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.Single(result.Errors);
            Assert.Contains("Favor fornecer uma imagem para este produto!", result.Errors);

            // Clean up image
            await DeletarImagemProduto(produtoVM.Id);
        }
예제 #4
0
        public async Task Atualizar_Endereco_Com_Sucesso()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "27552509090");

            await AdicionarObjsParaTestes(fornecedorVM);

            EnderecoViewModel enderecoVM = fornecedorVM.Endereco;

            enderecoVM.Cep         = "77405060";
            enderecoVM.Logradouro  = "Rua Eurídice Rodrigues Brito";
            enderecoVM.Bairro      = "Setor Central";
            enderecoVM.Cidade      = "Gurupi";
            enderecoVM.Estado      = "TO";
            enderecoVM.Numero      = "542";
            enderecoVM.Complemento = "Em algum local de Tocantins";

            HttpContent dataRequest = ContentHelper.CreateJsonContent(enderecoVM);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/atualizar-endereco/{enderecoVM.Id}", dataRequest);

            // Assert
            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
        public async Task Atualizar_Produto_Com_Imagem_Grande_Com_Erro_Por_Id_Rota_Diferente()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(2, "40405549000180");

            (ProdutoImagemViewModel produtoVM, Stream imageStream) = ProdutoViewModelTestsHelper.ObterInstanciaParaImagemGrande(fornecedorVM);
            Guid rotaId = Guid.NewGuid();

            HttpContent dataRequest = CriarFormDataRequest(produtoVM, imageStream);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/atualizar-produto-imagem/{rotaId}", dataRequest);

            // Assert
            var result = await ContentHelper.ExtractObject <ResponseViewModel>(response.Content);

            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.Contains("O ID informado não é o mesmo que foi passado na rota!", result.Errors);

            // Clean up
            await DeletarImagemProduto(produtoVM.Id);

            await imageStream.DisposeAsync();

            dataRequest.Dispose();
        }
예제 #6
0
        public async Task Atualizar_Endereco_Com_Erro_Bad_Request_Por_Propriedades_Validas()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "92076602020");

            await AdicionarObjsParaTestes(fornecedorVM);

            EnderecoViewModel enderecoVM = fornecedorVM.Endereco;

            enderecoVM.Cep         = "432";
            enderecoVM.Logradouro  = string.Empty;
            enderecoVM.Bairro      = string.Empty;
            enderecoVM.Cidade      = string.Empty;
            enderecoVM.Estado      = string.Empty;
            enderecoVM.Numero      = string.Empty;
            enderecoVM.Complemento = string.Empty;

            HttpContent dataRequest = ContentHelper.CreateJsonContent(enderecoVM);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/atualizar-endereco/{enderecoVM.Id}", dataRequest);

            // Assert
            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
        }
        public async Task Atualizar_Produto_Com_Imagem_Grande_Com_Erro_Por_Propriedades_Invalidas()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(2, "40405549000180");

            (ProdutoImagemViewModel produtoVM, Stream imageStream) = ProdutoViewModelTestsHelper.ObterInstanciaParaImagemGrande(fornecedorVM, $"{base.Factory.Env.WebRootPath}/img");

            await AdicionarObjsParaTestes(fornecedorVM, ProdutoViewModelTestsHelper.ObterInstanciaPorTransformacao(produtoVM));

            produtoVM.Nome      = string.Empty;
            produtoVM.Valor     = 999.43M;
            produtoVM.Descricao = string.Empty;

            HttpContent dataRequest = CriarFormDataRequest(produtoVM, imageStream);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/atualizar-produto-imagem/{produtoVM.Id}", dataRequest);

            // Assert
            var result = await ContentHelper.ExtractObject <ResponseViewModel>(response.Content);

            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.NotEmpty(result.Errors);

            // Clean up
            await DeletarImagemProduto(produtoVM.Id);

            await imageStream.DisposeAsync();

            dataRequest.Dispose();
        }
        public async Task Atualizar_Produto_Com_Imagem_Grande_Com_Sucesso()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(2, "40405549000180");

            (ProdutoImagemViewModel produtoVM, Stream imageStream) = ProdutoViewModelTestsHelper.ObterInstanciaParaImagemGrande(fornecedorVM, $"{base.Factory.Env.WebRootPath}/img");

            await AdicionarObjsParaTestes(fornecedorVM, ProdutoViewModelTestsHelper.ObterInstanciaPorTransformacao(produtoVM));

            produtoVM.Nome      = "Produto de teste com atualização para imagem grande";
            produtoVM.Valor     = 999.43M;
            produtoVM.Descricao = "É o produto teste não um lorem para imagem grande!";
            produtoVM.Ativo     = false;

            HttpContent dataRequest = CriarFormDataRequest(produtoVM, imageStream);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/atualizar-produto-imagem/{produtoVM.Id}", dataRequest);

            // Assert
            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            // Clean up
            await DeletarImagemProduto(produtoVM.Id);

            await imageStream.DisposeAsync();

            dataRequest.Dispose();
        }
예제 #9
0
        public async Task Remover_Fornecedor_Com_Erro_Not_Found()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "34446436082");

            // Act
            HttpResponseMessage response = await base.Client.DeleteAsync($"{CommonUri}/{fornecedorVM.Id}");

            // Assert
            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
예제 #10
0
        public async Task Adicionar_Fornecedor_Com_Erro_Bad_Request(string documento)
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, documento);
            HttpContent         dataRequest  = ContentHelper.CreateJsonContent(fornecedorVM);

            // Act
            HttpResponseMessage response = await base.Client.PostAsync(CommonUri, dataRequest);

            // Assert
            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
        }
예제 #11
0
        public async Task Atualizar_Fornecedor_Com_Erro_Not_Found()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "92076602020");
            HttpContent         dataRequest  = ContentHelper.CreateJsonContent(fornecedorVM);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/{fornecedorVM.Id}", dataRequest);

            // Assert
            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
예제 #12
0
        public async Task Atualizar_Endereco_Com_Erro_Not_Found()
        {
            // Arrange
            EnderecoViewModel enderecoVM  = FornecedorViewModelTestsHelper.ObterInstancia(1, "64248979098").Endereco;
            HttpContent       dataRequest = ContentHelper.CreateJsonContent(enderecoVM);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/atualizar-endereco/{enderecoVM.Id}", dataRequest);

            // Assert
            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
예제 #13
0
        public async Task Adicionar_Fornecedor_Com_Sucesso()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "64307756070");
            HttpContent         dataRequest  = ContentHelper.CreateJsonContent(fornecedorVM);

            // Act
            HttpResponseMessage response = await base.Client.PostAsync(CommonUri, dataRequest);

            // Assert
            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
예제 #14
0
        public async Task Remover_Fornecedor_Com_Sucesso()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "34446436082");

            await AdicionarObjsParaTestes(fornecedorVM);

            // Act
            HttpResponseMessage response = await base.Client.DeleteAsync($"{CommonUri}/{fornecedorVM.Id}");

            // Assert
            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
예제 #15
0
        public async Task Atualizar_Fornecedor_Com_Erro_Bad_Request_Por_Id_Rota_Diferente(string rotaId)
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "92076602020");
            HttpContent         dataRequest  = ContentHelper.CreateJsonContent(fornecedorVM);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/{rotaId}", dataRequest);

            // Assert
            var result = await ContentHelper.ExtractObject <ResponseViewModel>(response.Content);

            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.Contains("O ID informado não é o mesmo que foi passado na rota!", result.Errors);
        }
예제 #16
0
        public async Task Obter_Fornecedor_Por_Id_Com_Sucesso()
        {
            // Arrange
            var  fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(2, "10821757000108");
            Guid fornecedorId = fornecedorVM.Id;

            await AdicionarObjsParaTestes(fornecedorVM);

            var request = new HttpRequestMessage(HttpMethod.Get, $"{CommonUri}/{fornecedorId}");

            // Act
            HttpResponseMessage response = await base.Client.SendAsync(request);

            // Assert
            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
        public async Task Atualizar_Produto_Com_Imagem_Base64_Nao_Encontrado()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "49157344043");
            ProdutoViewModel    produtoVM    = ProdutoViewModelTestsHelper.ObterInstancia(fornecedorVM);

            HttpContent dataRequest = ContentHelper.CreateJsonContent(produtoVM);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/{produtoVM.Id}", dataRequest);

            // Assert
            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);

            // Clean up
            await DeletarImagemProduto(produtoVM.Id);
        }
예제 #18
0
        public async Task Obter_Endereco_Por_Id_Com_Sucesso()
        {
            // Arrange
            var  fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "67701372083");
            Guid fornecedorId = fornecedorVM.Id;

            await AdicionarObjsParaTestes(fornecedorVM);

            // Act
            HttpResponseMessage response = await base.Client.GetAsync($"{CommonUri}/obter-endereco/{fornecedorId}");

            // Assert
            var result = await ContentHelper.ExtractObject <ResponseViewModel>(response.Content);

            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.NotNull(result.Data);
        }
        public async Task Remover_Produto_Nao_Encontrado()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "86710738078");
            ProdutoViewModel    produtoVM    = ProdutoViewModelTestsHelper.ObterInstancia(fornecedorVM);

            // Act
            HttpResponseMessage response = await base.Client.DeleteAsync($"{CommonUri}/{produtoVM.Id}");

            // Assert
            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);

            // Clean up
            await DeletarImagemProduto(produtoVM.Id);

            response.Dispose();
        }
        public async Task Obter_Produto_Por_Id_Com_Sucesso()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(2, "17839729000159");
            ProdutoViewModel    produtoVM    = ProdutoViewModelTestsHelper.ObterInstancia(fornecedorVM);

            await AdicionarObjsParaTestes(fornecedorVM, produtoVM);

            // Act
            HttpResponseMessage response = await base.Client.GetAsync($"{CommonUri}/{produtoVM.Id}");

            // Assert
            var result = await ContentHelper.ExtractObject <ResponseViewModel>(response.Content);

            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.NotNull(result.Data);
        }
예제 #21
0
        public async Task Obter_Todos_Fornecedores_Com_Sucesso()
        {
            // Arrange
            await AdicionarObjsParaTestes(
                FornecedorViewModelTestsHelper.ObterInstancia(1, "70169374025"),
                FornecedorViewModelTestsHelper.ObterInstancia(2, "44249780000183")
                );

            var request = new HttpRequestMessage(HttpMethod.Get, CommonUri);

            // Act
            HttpResponseMessage response = await base.Client.SendAsync(request);

            // Assert
            var result = await ContentHelper.ExtractObject <ResponseViewModel>(response.Content);

            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.NotNull(result.Data);
        }
        public async Task Remover_Produto_Com_Sucesso()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "86710738078");
            ProdutoViewModel    produtoVM    = ProdutoViewModelTestsHelper.ObterInstancia(fornecedorVM, $"{base.Factory.Env.WebRootPath}/img");

            await AdicionarObjsParaTestes(fornecedorVM, produtoVM);

            // Act
            HttpResponseMessage response = await base.Client.DeleteAsync($"{CommonUri}/{produtoVM.Id}");

            // Assert
            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            // Clean up
            await DeletarImagemProduto(produtoVM.Id);

            response.Dispose();
        }
예제 #23
0
        public async Task Atualizar_Fornecedor_Com_Erro_Bad_Request_Por_Propriedades_Validas(string documento)
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "92076602020");

            await AdicionarObjsParaTestes(fornecedorVM);

            fornecedorVM.Nome           = "Produto Teste com proriedades inválidas";
            fornecedorVM.Documento      = documento;
            fornecedorVM.TipoFornecedor = 2;

            HttpContent dataRequest = ContentHelper.CreateJsonContent(fornecedorVM);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/{fornecedorVM.Id}", dataRequest);

            // Assert
            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
        }
        public async Task Adicionar_Produto_Com_Imagem_Base64_Com_Sucesso()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "49157344043");

            await AdicionarObjsParaTestes(fornecedorVM);

            ProdutoViewModel produtoVM   = ProdutoViewModelTestsHelper.ObterInstancia(fornecedorVM);
            HttpContent      dataRequest = ContentHelper.CreateJsonContent(produtoVM);

            // Act
            HttpResponseMessage response = await base.Client.PostAsync(CommonUri, dataRequest);

            // Assert
            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            // Clean up image
            await DeletarImagemProduto(produtoVM.Id);
        }
        public async Task Obter_Todos_Produtos_Com_Sucesso()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(2, "34477026000147");

            await AdicionarObjsParaTestes(fornecedorVM,
                                          ProdutoViewModelTestsHelper.ObterInstancia(fornecedorVM),
                                          ProdutoViewModelTestsHelper.ObterInstancia(fornecedorVM),
                                          ProdutoViewModelTestsHelper.ObterInstancia(fornecedorVM)
                                          );

            // Act
            HttpResponseMessage response = await base.Client.GetAsync(CommonUri);

            // Assert
            var result = await ContentHelper.ExtractObject <ResponseViewModel>(response.Content);

            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.NotNull(result.Data);
        }
예제 #26
0
        public async Task Atualizar_Fornecedor_Com_Sucesso()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "92076602020");
            Guid fornecedorId = fornecedorVM.Id;

            await AdicionarObjsParaTestes(fornecedorVM);

            fornecedorVM.Nome           = "Produto Teste 2.0";
            fornecedorVM.Documento      = "34065310000106";
            fornecedorVM.TipoFornecedor = 2;
            fornecedorVM.Ativo          = false;

            HttpContent dataRequest = ContentHelper.CreateJsonContent(fornecedorVM);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/{fornecedorId}", dataRequest);

            // Assert
            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
        public async Task Atualizar_Produto_Com_Imagem_Base64_Com_Erro_Por_Id_Rota_Diferente()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "49157344043");
            ProdutoViewModel    produtoVM    = ProdutoViewModelTestsHelper.ObterInstancia(fornecedorVM);
            Guid rotaId = Guid.NewGuid();

            HttpContent dataRequest = ContentHelper.CreateJsonContent(produtoVM);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/{rotaId}", dataRequest);

            // Assert
            var result = await ContentHelper.ExtractObject <ResponseViewModel>(response.Content);

            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.Contains("O ID informado não é o mesmo que foi passado na rota!", result.Errors);

            // Clean up
            await DeletarImagemProduto(produtoVM.Id);
        }
        public async Task Atualizar_Produto_Com_Imagem_Grande_Nao_Encontrado()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(2, "40405549000180");

            (ProdutoImagemViewModel produtoVM, Stream imageStream) = ProdutoViewModelTestsHelper.ObterInstanciaParaImagemGrande(fornecedorVM);

            HttpContent dataRequest = CriarFormDataRequest(produtoVM, imageStream);

            // Act
            HttpResponseMessage response = await base.Client.PutAsync($"{CommonUri}/atualizar-produto-imagem/{produtoVM.Id}", dataRequest);

            // Assert
            Assert.False(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);

            // Clean up
            await DeletarImagemProduto(produtoVM.Id);

            await imageStream.DisposeAsync();

            dataRequest.Dispose();
            response.Dispose();
        }
        public async Task Adicionar_Produto_Com_Imagem_Grande_Com_Sucesso()
        {
            // Arrange
            FornecedorViewModel fornecedorVM = FornecedorViewModelTestsHelper.ObterInstancia(1, "49157344043");

            await AdicionarObjsParaTestes(fornecedorVM);

            (ProdutoImagemViewModel produtoVM, Stream imageStream) = ProdutoViewModelTestsHelper.ObterInstanciaParaImagemGrande(fornecedorVM);
            HttpContent dataRequest = CriarFormDataRequest(produtoVM, imageStream);

            // Act
            HttpResponseMessage response = await base.Client.PostAsync($"{CommonUri}/adicionar-produto-imagem", dataRequest);

            // Assert
            Assert.True(response.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            // Clean up
            await DeletarImagemProduto(produtoVM.Id);

            await imageStream.DisposeAsync();

            dataRequest.Dispose();
        }