Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Teste do POST: explicitando o formato da requisição com o argumento `format='json'`

Buenas!

Estou compartilhando minha solução, caso alguém tenha o mesmo problema.

Tive o mesmo problema do Anderson: o teste com POST não estava passando porque o XML estava habilitado no meu settings.py:

REST_FRAMEWORK = {
    ...
    'DEFAULT_PARSER_CLASSES': [
        'rest_framework.parsers.JSONParser',
        'rest_framework_xml.parsers.XMLParser',
    ],
    'DEFAULT_RENDERER_CLASSES': [
        'rest_framework.renderers.JSONRenderer',
        'rest_framework_xml.renderers.XMLRenderer',
    ],
}

Uma solução mais simples do que comentar o XMLParser e o XMLRenderer no settings.py é modificar o próprio teste informando que os dados estão sendo passados em formato JSON através do argumento format='json':

def test_requisicao_post_para_criar_curso():
    ...
    response = self.client.post(self.list_url, data=data, format='json')
    ...

Assim, adaptamos o teste ao código ao invés de adaptar o código ao teste. ;)

1 resposta
solução!

Olá, tudo bem? Espero que sim!

Agradeço sua sugestão! Espero que continue se dedicando e praticando.

Caso tenha dúvidas, fico à disposição.

Abraços e bons estudos!