mirror of https://github.com/snachodog/mybuddy.git
76 lines
2.5 KiB
Python
76 lines
2.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
from django.test import TransactionTestCase
|
|
from django.conf import settings
|
|
from django.contrib.auth import get_user_model
|
|
from django.core.management import call_command
|
|
|
|
from core.models import Child
|
|
|
|
|
|
class CommandsTestCase(TransactionTestCase):
|
|
def test_migrate(self):
|
|
call_command("migrate", verbosity=0)
|
|
self.assertIsInstance(
|
|
get_user_model().objects.get(username="admin"), get_user_model()
|
|
)
|
|
|
|
def test_fake(self):
|
|
call_command("migrate", verbosity=0)
|
|
call_command("fake", children=1, days=7, verbosity=0)
|
|
self.assertEqual(Child.objects.count(), 1)
|
|
call_command("fake", children=2, days=7, verbosity=0)
|
|
self.assertEqual(Child.objects.count(), 3)
|
|
|
|
def test_reset(self):
|
|
call_command("reset", verbosity=0, interactive=False)
|
|
self.assertIsInstance(
|
|
get_user_model().objects.get(username="admin"), get_user_model()
|
|
)
|
|
self.assertEqual(Child.objects.count(), 1)
|
|
|
|
def test_createuser(self):
|
|
call_command("migrate", verbosity=0)
|
|
call_command(
|
|
"createuser",
|
|
username="regularuser",
|
|
email="regularuser@test.test",
|
|
password="test",
|
|
verbosity=0,
|
|
)
|
|
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",
|
|
username="staffuser",
|
|
email="staffuser@test.test",
|
|
password="test",
|
|
verbosity=0,
|
|
)
|
|
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,
|
|
)
|
|
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=settings.BABY_BUDDY["READ_ONLY_GROUP_NAME"]
|
|
).exists()
|
|
)
|