test_usuario.py
2.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import pytest
from django.contrib.auth import get_user_model
from core.tests.fixtures import create_user, CONTENT_TYPE_JSON
from core.tests.utils import post, get, JSON_CONTENT_TYPE, patch
@pytest.mark.django_db
def test_usuario_cambio_password_satisfactoriamente():
usuario_autenticado = create_user(username='mbarrera')
usuario_autenticado.set_password('ultima_contraseña')
data = {
"clave": "ultima_contraseña",
"clave_nueva": "nueva_contraseña",
"clave_nueva_2": "nueva_contraseña"
}
endpoint = "/api/v1/usuario/cambiar-clave-secreta/"
response = patch(endpoint, data=data, content_type=CONTENT_TYPE_JSON, user_logged=usuario_autenticado)
assert response.status_code == 200
debianitram = get_user_model().objects.get(username='mbarrera')
assert debianitram.check_password('nueva_contraseña')
@pytest.mark.django_db
def test_usuario_cambio_password_falla_con_clave():
usuario_autenticado = create_user(username='mbarrera')
usuario_autenticado.set_password('ultima_contraseña')
data = {
"clave": "ultima.-.",
"clave_nueva": "nueva_contraseña",
"clave_nueva_2": "nueva_contraseña"
}
endpoint = "/api/v1/usuario/cambiar-clave-secreta/"
response = patch(endpoint, data=data, content_type=CONTENT_TYPE_JSON, user_logged=usuario_autenticado)
assert response.status_code == 400
errors = response.json()['errors']
assert errors[0]['detail'] == 'La contraseña anterior no es válida. ¡Intentalo nuevamente!'
@pytest.mark.django_db
def test_usuario_cambio_password_falla_no_coinciden_nuevas_password():
usuario_autenticado = create_user(username='mbarrera')
usuario_autenticado.set_password('ultima_contraseña')
data = {
"clave": "ultima_contraseña",
"clave_nueva": "NuevaContraseña",
"clave_nueva_2": "nueva_contraseña"
}
endpoint = "/api/v1/usuario/cambiar-clave-secreta/"
response = patch(endpoint, data=data, content_type=CONTENT_TYPE_JSON, user_logged=usuario_autenticado)
assert response.status_code == 400
errors = response.json()['errors']
assert errors[0]['detail'] == 'Los nuevos campos de contraseñas no coinciden'