Add model Libros y serializadores
This commit is contained in:
29
tests/libros/test_create_model.py
Normal file
29
tests/libros/test_create_model.py
Normal file
@ -0,0 +1,29 @@
|
||||
# tests/libros/test_create_model.py
|
||||
|
||||
import pytest
|
||||
|
||||
from app.libros.models import Libros
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_libros_model():
|
||||
|
||||
## Given
|
||||
# Creamos un nuevo libro en la base de datos
|
||||
libro = Libros(
|
||||
title="La fundación",
|
||||
genre="Ciencia ficción",
|
||||
year="1951",
|
||||
author="Isaac Asimov",
|
||||
)
|
||||
libro.save()
|
||||
|
||||
## When
|
||||
|
||||
## Then
|
||||
assert libro.title == "La fundación"
|
||||
assert libro.genre == "Ciencia ficción"
|
||||
assert libro.year == "1951"
|
||||
assert libro.author == "Isaac Asimov"
|
||||
assert libro.created_at
|
||||
assert libro.updated_at
|
||||
assert str(libro) == libro.title
|
31
tests/libros/test_serializers.py
Normal file
31
tests/libros/test_serializers.py
Normal file
@ -0,0 +1,31 @@
|
||||
# tests/libros/test_serializers.py
|
||||
|
||||
from app.libros.serializers import LibroSerializer
|
||||
|
||||
def test_valid_libro_serializer():
|
||||
valid_serializer_data = {
|
||||
"title": "Raising Arizona",
|
||||
"genre": "comedy",
|
||||
"year": "1987",
|
||||
"author": "Ray Bradbury",
|
||||
}
|
||||
serializer = LibroSerializer(data=valid_serializer_data)
|
||||
assert serializer.is_valid()
|
||||
assert serializer.validated_data == valid_serializer_data
|
||||
assert serializer.data == valid_serializer_data
|
||||
assert serializer.errors == {}
|
||||
|
||||
|
||||
def test_invalid_libro_serializer():
|
||||
invalid_serializer_data = {
|
||||
"title": "Soy Leyenda",
|
||||
"author": "Richard Matheson",
|
||||
}
|
||||
serializer = LibroSerializer(data=invalid_serializer_data)
|
||||
assert not serializer.is_valid()
|
||||
assert serializer.validated_data == {}
|
||||
assert serializer.data == invalid_serializer_data
|
||||
assert serializer.errors == {
|
||||
"year": ["This field is required."],
|
||||
"genre": ["This field is required."],
|
||||
}
|
Reference in New Issue
Block a user