Add model Libros y serializadores

This commit is contained in:
Andros Fenollosa
2021-07-09 19:09:31 +02:00
parent 964053e51c
commit d0a2dfeddc
5 changed files with 126 additions and 2 deletions

View 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

View 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."],
}