Ejemplo n.º 1
0
        public async Task Deve_Inserir_Produto()
        {
            ComandoInserirProduto novoProduto = GeradorProduto.ComandoNovoProduto();
            var response = await _testContext.Client.PostAsJsonAsync("api/produto/", novoProduto);

            var responseProduto = await response.Content.ReadAsAsync <Produto>();

            var produtoFake = ProdutoFake(novoProduto.Codigo, novoProduto.Descricao, novoProduto.Preco);

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            responseProduto.Should().BeEquivalentTo(produtoFake, option => option.Excluding(x => x.Id));
        }
Ejemplo n.º 2
0
        public async Task Deve_Retornar_Produto()
        {
            Produto produto = GeradorProduto.NovoProduto();

            repositorio.Inserir(produto);

            var response = await _testContext.Client.GetAsync($"api/produto/{produto.Id}");

            var responseProduto = await response.Content.ReadAsAsync <Produto>();

            responseProduto.Should().BeEquivalentTo(produto);
        }
Ejemplo n.º 3
0
        public async Task Deve_Remover_Produto()
        {
            Produto produto = GeradorProduto.NovoProduto();

            repositorio.Inserir(produto);

            var response = await _testContext.Client.DeleteAsync($"api/produto/{produto.Id}");

            var produtoExcluido = repositorio.Obter(produto.Id);

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            produtoExcluido.Should().BeNull();
        }
Ejemplo n.º 4
0
        public async Task Deve_Atualizar_Produto()
        {
            Produto produtoInserir = GeradorProduto.NovoProduto();

            repositorio.Inserir(produtoInserir);

            var produto = repositorio.Obter(produtoInserir.Id);

            produto.Codigo    += 1;
            produto.Descricao += "-Atualizar";
            produto.Preco     += produto.Preco;

            var response = await _testContext.Client.PutAsJsonAsync("api/produto/", produto);

            var responseProduto = await response.Content.ReadAsAsync <Produto>();

            var produtoFake = ProdutoFake(produto.Codigo, produto.Descricao, produto.Preco);

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            responseProduto.Should().BeEquivalentTo(produtoFake, option => option.Excluding(x => x.Id));
        }