From fa6c6d531a39aac87ea13c54564cf6b554a85c9c Mon Sep 17 00:00:00 2001 From: Fred Date: Tue, 22 Jun 2021 19:13:34 +0200 Subject: [PATCH] 100% test coverage on location/models.py --- src/location/models.py | 10 +++--- src/location/tests/__init__.py | 0 src/location/tests/test_models.py | 52 +++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 src/location/tests/__init__.py create mode 100644 src/location/tests/test_models.py diff --git a/src/location/models.py b/src/location/models.py index 3308ba5..a475259 100644 --- a/src/location/models.py +++ b/src/location/models.py @@ -4,8 +4,10 @@ from django.db import models class Country(models.Model): - """ - Classe représentant les pays (basée sur la liste ISO 3166 de 2015). + """Classe représentant les pays (basée sur la liste ISO 3166 de 2015). + + References: + https://fr.wikipedia.org/wiki/ISO_3166 """ class Meta: @@ -46,7 +48,7 @@ class Place(models.Model): active = models.BooleanField(default=1, verbose_name="Active") def __str__(self): - return "%s (%s)" % (self.name, self.city) + return "%s (%s)" % (self.name, self.city if self.city else "?") class Club(models.Model): @@ -70,4 +72,4 @@ class Club(models.Model): active = models.BooleanField(default=1, verbose_name="Active") def __str__(self): - return "%s (à %s)" % (self.name, self.place.city) + return "%s (à %s)" % (self.name, self.place.city if self.place.city else "?") diff --git a/src/location/tests/__init__.py b/src/location/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/location/tests/test_models.py b/src/location/tests/test_models.py new file mode 100644 index 0000000..d404631 --- /dev/null +++ b/src/location/tests/test_models.py @@ -0,0 +1,52 @@ +"""Tests liés au modèle des localisations, places, etc.""" + +from django.test import TestCase + +from ..models import Club, Country, Place + + +class TestCountry(TestCase): + def test_str_should_contain_name_and_iso2(self): + country = Country.objects.create( + nameus="Belgium", + namefr="Belgique", + isonum=56, + iso2="BE" + ) + + self.assertEqual(str(country), "Belgique (BE)") + + +class TestPlace(TestCase): + def test_str_should_contain_name_and_city(self): + place = Place.objects.create( + name="Heaven", + postal=1080, + country=Country.objects.create( + nameus="Belgium", + namefr="Belgique", + isonum=56, + iso2="BE" + ) + ) + + self.assertEqual(str(place), "Heaven (?)") + + +class TestClub(TestCase): + def test_str_should_contain_name_and_location(self): + club = Club.objects.create( + name="RSCA", + place=Place.objects.create( + name="Heaven", + postal=1080, + country=Country.objects.create( + nameus="Belgium", + namefr="Belgique", + isonum=56, + iso2="BE" + ) + ) + ) + + self.assertEqual(str(club), "RSCA (à ?)") \ No newline at end of file