mybuddy/babybuddy/tests/tests_commands.py

70 lines
2.3 KiB
Python
Raw Normal View History

2017-11-11 22:25:28 +00:00
# -*- coding: utf-8 -*-
from django.test import TransactionTestCase
from django.contrib.auth import get_user_model
2017-11-11 22:25:28 +00:00
from django.core.management import call_command
from core.models import Child
class CommandsTestCase(TransactionTestCase):
2017-11-11 22:25:28 +00:00
def test_migrate(self):
2022-02-10 00:00:30 +00:00
call_command("migrate", verbosity=0)
2023-02-08 04:29:15 +00:00
self.assertIsInstance(
get_user_model().objects.get(username="admin"), get_user_model()
)
2017-11-11 22:25:28 +00:00
def test_fake(self):
2022-02-10 00:00:30 +00:00
call_command("migrate", verbosity=0)
call_command("fake", children=1, days=7, verbosity=0)
2017-11-11 22:25:28 +00:00
self.assertEqual(Child.objects.count(), 1)
2022-02-10 00:00:30 +00:00
call_command("fake", children=2, days=7, verbosity=0)
2017-11-11 22:25:28 +00:00
self.assertEqual(Child.objects.count(), 3)
def test_reset(self):
2022-02-10 00:00:30 +00:00
call_command("reset", verbosity=0, interactive=False)
2023-02-08 04:29:15 +00:00
self.assertIsInstance(
get_user_model().objects.get(username="admin"), get_user_model()
)
self.assertEqual(Child.objects.count(), 1)
def test_createuser(self):
call_command(
"createuser",
2023-02-09 03:33:22 +00:00
username="regularuser",
email="regularuser@test.test",
password="test",
verbosity=0,
)
2023-02-09 03:33:22 +00:00
user = get_user_model().objects.get(username="regularuser")
self.assertIsInstance(user, get_user_model())
self.assertTrue(user.is_superuser)
self.assertFalse(user.is_staff)
self.assertEqual(user.email, "regularuser@test.test")
call_command(
"createuser",
"--is-staff",
2023-02-09 03:33:22 +00:00
username="staffuser",
email="staffuser@test.test",
password="test",
verbosity=0,
)
2023-02-09 03:33:22 +00:00
user = get_user_model().objects.get(username="staffuser")
self.assertIsInstance(user, get_user_model())
self.assertTrue(user.is_superuser)
self.assertTrue(user.is_staff)
call_command(
"createuser",
"--read-only",
username="readonlyuser",
email="readonlyuser@test.test",
password="test",
verbosity=0,
)
2023-02-09 03:33:22 +00:00
user = get_user_model().objects.get(username="readonlyuser")
self.assertIsInstance(user, get_user_model())
self.assertFalse(user.is_superuser)
self.assertFalse(user.is_staff)
self.assertTrue(user.groups.filter(name="read_only").exists())