Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como escrever um teste para o PUT?

Estou tentando criar um teste para o método para o método de PUT na minha aplicação mas não consigo passar o 'id' na hora de atualizar os dados.

É um long mas todos os jeitos que tentei até agora seja com new Long(valor), 1L,pessoa.getId() nenhum funcionou.

 @Test
    void deveriaEditarOsDadosDeUmaPessoa() {

        EnderecoDTO endereco = new EnderecoDTO("Rua dos testes", "0424-004", "1020", "São José dos Testes");

        CriarPessoasDTO newPessoa = new CriarPessoasDTO("Testinho", LocalDate.now(), endereco);
        Pessoa pessoa = new Pessoa(newPessoa);
        pessoasService.save(new Pessoa(newPessoa));

        EditarPessoaDTO pessoaAtualizada = new EditarPessoaDTO(1L,"TestinhA", LocalDate.now());

    }
2 respostas
solução!

Oi Matheus!

Você pode fazer sua service devolver o objeto Pessoa salvo e o utilizar para recuperar o id:

EnderecoDTO endereco = new EnderecoDTO("Rua dos testes", "0424-004", "1020", "São José dos Testes");

CriarPessoasDTO newPessoa = new CriarPessoasDTO("Testinho", LocalDate.now(), endereco);

//aqui:
Pessoa pessoa = new Pessoa(newPessoa);
pessoa = pessoasService.save(pessoa);

//puxa o id da pessoa recem salva:
EditarPessoaDTO pessoaAtualizada = new EditarPessoaDTO(pessoa.getId(), "TestinhA", LocalDate.now());

Opa valeu Rodrigo!! Eu também estava simplesmente esquecendo de passar o endereço por isso não conseguia compilar kkkk

Agora deu tudo certo!