Commit 1dc1a740 authored by Ilham Maulana's avatar Ilham Maulana 💻

fix: unit test book loans

parent 91591bbd
from django.test import TestCase
from django.utils import timezone
from django.contrib.auth.models import User
from django.core.exceptions import ValidationError
from .models import BookLoan, Book, Member
class BookLoanModelTest(TestCase):
def setUp(self):
self.book = Book.objects.create(
title="Test Book",
author="Test Author",
publish_date=timezone.now(),
rating=5,
)
self.user = User.objects.create_user(
username="Test User", password="secret", is_staff=False
)
self.member = Member.objects.create(user=self.user)
self.loan_date = timezone.now()
self.due_date = self.loan_date + timezone.timedelta(days=14)
def test_book_loan_creation(self):
book_loan = BookLoan.objects.create(
book=self.book,
member=self.member,
loan_date=self.loan_date,
due_date=self.due_date,
)
self.assertEqual(book_loan.book, self.book)
self.assertEqual(book_loan.member, self.member)
self.assertEqual(book_loan.due_date, self.due_date)
def test_cascading_delete(self):
book_loan = BookLoan.objects.create(
book=self.book,
member=self.member,
loan_date=self.loan_date,
due_date=self.due_date,
)
book_loan_id = book_loan.id
self.book.delete()
with self.assertRaises(BookLoan.DoesNotExist):
BookLoan.objects.get(id=book_loan_id)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment