scieloorg / kernel

É o componente central da nova arquitetura de sistemas de informação da Metodologia SciELO, ainda em fase de desenvolvimento.
https://docs.google.com/document/d/14YBl7--4ouaWBQhxzUYWRuhmegwnSYrDgupsED6rhvM/edit?usp=sharing
BSD 2-Clause "Simplified" License
6 stars 11 forks source link

Especializa respostas da API RESTfull e implementa atualização em massa de relacionamentos #165

Closed joffilyfe closed 5 years ago

joffilyfe commented 5 years ago

O que esse PR faz?

Este PR tem o propósito de implementar parte da solução exigida pela issue #163. Foi implementada a atualização em lote da lista de issues de um journal.

Onde a revisão poderia começar?

  1. Criar um journal;

    curl -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' http://0.0.0.0:6543/journals/example  -d  '{"title": "journal-example"}'
  2. Enviar um PUT com uma lista de issues;

    curl -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' http://0.0.0.0:6543/journals/example/issues -d '["jligwbsvcfakvoapacjvfec", "ndqbgyrmopjtdkiruviwadk"]' -v
  3. Verificar que o código de status é 204;

  4. Verificar que as issues realmente foram atualizadas no registro do journal;

    curl -X GET -H 'Accept: application/json' -H 'Content-Type: application/json' http://0.0.0.0:6543/journals/example
  5. Enviar uma PUT para zerar a lista de issues e verificar que o código de status é 204

    curl -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' http://0.0.0.0:6543/journals/example/issues -d '[]' -v
  6. Enviar um PUT com itens duplicados

    curl -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' http://0.0.0.0:6543/journals/example/issues -d '["a", "a"]' -v
  7. Verificar que não houve atualização da lista de itens e que o status de status é 422;

Algum cenário de contexto que queira dar?

N/A

Screenshots

N/A

Quais são tickets relevantes?

163

Referências

RFC HTTP - 422 Código de resposta para dados inválidos Response code for invalid data