mirror of https://github.com/snachodog/mybuddy.git
Add basic model tagging tests
This commit is contained in:
parent
55a355f8af
commit
4445faeeac
|
@ -181,16 +181,16 @@ class PumpingTestCase(TestCase):
|
||||||
self.child = models.Child.objects.create(
|
self.child = models.Child.objects.create(
|
||||||
first_name="First", last_name="Last", birth_date=timezone.localdate()
|
first_name="First", last_name="Last", birth_date=timezone.localdate()
|
||||||
)
|
)
|
||||||
self.temp = models.Pumping.objects.create(
|
self.pumping = models.Pumping.objects.create(
|
||||||
child=self.child,
|
child=self.child,
|
||||||
time=timezone.localtime() - timezone.timedelta(days=1),
|
time=timezone.localtime() - timezone.timedelta(days=1),
|
||||||
amount=98.6,
|
amount=98.6,
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_pumping_create(self):
|
def test_pumping_create(self):
|
||||||
self.assertEqual(self.temp, models.Pumping.objects.first())
|
self.assertEqual(self.pumping, models.Pumping.objects.first())
|
||||||
self.assertEqual(str(self.temp), "Pumping")
|
self.assertEqual(str(self.pumping), "Pumping")
|
||||||
self.assertEqual(self.temp.amount, 98.6)
|
self.assertEqual(self.pumping.amount, 98.6)
|
||||||
|
|
||||||
|
|
||||||
class SleepTestCase(TestCase):
|
class SleepTestCase(TestCase):
|
||||||
|
@ -211,6 +211,39 @@ class SleepTestCase(TestCase):
|
||||||
self.assertEqual(sleep.duration, sleep.end - sleep.start)
|
self.assertEqual(sleep.duration, sleep.end - sleep.start)
|
||||||
|
|
||||||
|
|
||||||
|
class TagTestCase(TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
call_command("migrate", verbosity=0)
|
||||||
|
self.child = models.Child.objects.create(
|
||||||
|
first_name="First", last_name="Last", birth_date=timezone.localdate()
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_create_tag(self):
|
||||||
|
tag1 = models.Tag.objects.create(name="Tag 1")
|
||||||
|
self.assertEqual(tag1, models.Tag.objects.first())
|
||||||
|
|
||||||
|
tag2 = models.Tag.objects.create(name="Tag 2")
|
||||||
|
self.assertEqual(tag2, models.Tag.objects.filter(name="Tag 2").get())
|
||||||
|
|
||||||
|
def test_tag_complementary_color(self):
|
||||||
|
light_tag = models.Tag.objects.create(name="Light Tag", color="#ffffff")
|
||||||
|
self.assertEqual(light_tag.complementary_color, models.Tag.DARK_COLOR)
|
||||||
|
|
||||||
|
dark_tag = models.Tag.objects.create(name="Dark Tag", color="#000000")
|
||||||
|
self.assertEqual(dark_tag.complementary_color, models.Tag.LIGHT_COLOR)
|
||||||
|
|
||||||
|
def test_model_tagging(self):
|
||||||
|
temp = models.Temperature.objects.create(
|
||||||
|
child=self.child,
|
||||||
|
time=timezone.localtime() - timezone.timedelta(days=1),
|
||||||
|
temperature=98.6,
|
||||||
|
)
|
||||||
|
temp.tags.add("Tag 1")
|
||||||
|
self.assertEqual(
|
||||||
|
temp.tags.all().get(), models.Tag.objects.filter(name="Tag 1").get()
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class TemperatureTestCase(TestCase):
|
class TemperatureTestCase(TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
call_command("migrate", verbosity=0)
|
call_command("migrate", verbosity=0)
|
||||||
|
|
|
@ -2,18 +2,25 @@
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
from core.utils import duration_string, duration_parts
|
from core import utils
|
||||||
|
|
||||||
|
|
||||||
class UtilsTestCase(TestCase):
|
class UtilsTestCase(TestCase):
|
||||||
def test_duration_string(self):
|
def test_duration_string(self):
|
||||||
duration = timezone.timedelta(hours=1, minutes=30, seconds=45)
|
duration = timezone.timedelta(hours=1, minutes=30, seconds=45)
|
||||||
self.assertEqual(duration_string(duration), "1 hour, 30 minutes, 45 seconds")
|
self.assertEqual(
|
||||||
self.assertEqual(duration_string(duration, "m"), "1 hour, 30 minutes")
|
utils.duration_string(duration), "1 hour, 30 minutes, 45 seconds"
|
||||||
self.assertEqual(duration_string(duration, "h"), "1 hour")
|
)
|
||||||
self.assertRaises(TypeError, lambda: duration_string("1 hour"))
|
self.assertEqual(utils.duration_string(duration, "m"), "1 hour, 30 minutes")
|
||||||
|
self.assertEqual(utils.duration_string(duration, "h"), "1 hour")
|
||||||
|
self.assertRaises(TypeError, lambda: utils.duration_string("1 hour"))
|
||||||
|
|
||||||
def test_duration_parts(self):
|
def test_duration_parts(self):
|
||||||
duration = timezone.timedelta(hours=1, minutes=30, seconds=45)
|
duration = timezone.timedelta(hours=1, minutes=30, seconds=45)
|
||||||
self.assertEqual(duration_parts(duration), (1, 30, 45))
|
self.assertEqual(utils.duration_parts(duration), (1, 30, 45))
|
||||||
self.assertRaises(TypeError, lambda: duration_parts("1 hour"))
|
self.assertRaises(TypeError, lambda: utils.duration_parts("1 hour"))
|
||||||
|
|
||||||
|
def test_random_color(self):
|
||||||
|
color = utils.random_color()
|
||||||
|
self.assertIsInstance(color, str)
|
||||||
|
self.assertIn(color, utils.COLORS)
|
||||||
|
|
Loading…
Reference in New Issue