3fefc550fe
- Django backend with DRF (clubs, wrestlers, trainers, exercises, templates, trainings, homework, locations, leistungstest) - Next.js 16 frontend with React, Shadcn UI, Tailwind - JWT authentication - Full CRUD for all entities - Calendar view for trainings - Homework management system - Leistungstest tracking
68 lines
2.2 KiB
Python
68 lines
2.2 KiB
Python
from django.test import TestCase
|
|
from datetime import date
|
|
from clubs.models import Club
|
|
from wrestlers.models import Wrestler
|
|
|
|
|
|
class WrestlerModelTest(TestCase):
|
|
@classmethod
|
|
def setUpTestData(cls):
|
|
cls.club = Club.objects.create(name="Test Club")
|
|
cls.wrestler = Wrestler.objects.create(
|
|
first_name="Max",
|
|
last_name="Mustermann",
|
|
club=cls.club,
|
|
group="youth"
|
|
)
|
|
|
|
def test_wrestler_creation(self):
|
|
self.assertEqual(self.wrestler.first_name, "Max")
|
|
self.assertEqual(self.wrestler.last_name, "Mustermann")
|
|
self.assertEqual(self.wrestler.group, "youth")
|
|
self.assertTrue(self.wrestler.is_active)
|
|
|
|
def test_wrestler_str(self):
|
|
self.assertEqual(str(self.wrestler), "Max Mustermann")
|
|
|
|
def test_wrestler_ordering(self):
|
|
w2 = Wrestler.objects.create(
|
|
first_name="Anna",
|
|
last_name="Schmidt",
|
|
club=self.club,
|
|
group="kids"
|
|
)
|
|
wrestlers = list(Wrestler.objects.all())
|
|
self.assertEqual(wrestlers[0].last_name, "Mustermann")
|
|
self.assertEqual(wrestlers[1].last_name, "Schmidt")
|
|
|
|
def test_calculate_age_with_birthdate(self):
|
|
self.wrestler.date_of_birth = date(2015, 1, 15)
|
|
self.wrestler.save()
|
|
age = self.wrestler.calculate_age()
|
|
self.assertIsNotNone(age)
|
|
self.assertIsInstance(age, int)
|
|
|
|
def test_calculate_age_without_birthdate(self):
|
|
self.wrestler.date_of_birth = None
|
|
self.wrestler.save()
|
|
self.assertIsNone(self.wrestler.calculate_age())
|
|
|
|
def test_wrestler_club_relationship(self):
|
|
self.assertEqual(self.wrestler.club.name, "Test Club")
|
|
self.assertEqual(self.club.wrestlers.count(), 1)
|
|
|
|
def test_wrestler_default_active(self):
|
|
new_wrestler = Wrestler.objects.create(
|
|
first_name="New",
|
|
last_name="Wrestler",
|
|
club=self.club,
|
|
group="kids"
|
|
)
|
|
self.assertTrue(new_wrestler.is_active)
|
|
|
|
def test_wrestler_group_choices(self):
|
|
self.assertEqual(self.wrestler.group, "youth")
|
|
self.wrestler.group = "adults"
|
|
self.wrestler.save()
|
|
self.assertEqual(self.wrestler.group, "adults")
|