Problema 3: Inserir produto
Atualizado
Atualizado
Implemente os testes de API usando RestAssured para inserção de produto (método POST do ProductController), considerando os seguintes cenários. Lembre-se de inserir o token no cabeçalho da requisição.
Se olharmos uma requisição Postman, nós passamos no body os dados a serem inseridos, correto?
Se repararmos bem, o lado esquerdo (parâmetro) é sempre uma String. Já o valor inserido é variável, pode ser String, Double (float). Já nas categorias, temos uma lista de objetos.
Logo, é exatamente o que já estudamos antes do Map que recebe dois tipos de dados, veja:
Nós vamos dando um put até chegar em categories. Veja na imagem do Postman acima, que é inserido uma lista de categorias. Essa lista do postman é a mesma coisa do primeiro Map criado, possui uma Key ("id, String") e um valor de qualquer tipo.
Portanto, criaremos uma Lista, que conterá um Map de <String, Object>
, igual a de cima.
Instanciaremos dois maps "category1 e category2", se tivesse a terceira, continuaríamos. Iremos inserir manualmente o "id" e o valor que está no PUT.
Após isso, alocamos esses Map's dentro da lista e por fim, daremos o PUT no Map inicial criado.
Ok, e para transformar esse Map criado em um objeto JSON?
Dentro dos métodos, faremos o seguinte:
Essa requisição é diferente, pois precisamos passar o token (admin ou client), ela é a PRIMEIRA coisa a ser passada no given, veja ➡️