95 lines
3.3 KiB
Python
95 lines
3.3 KiB
Python
from django.test import TestCase
|
|
|
|
from vbv_lernwelt.core.models import User
|
|
from vbv_lernwelt.importer.services import create_or_update_user
|
|
|
|
|
|
class CreateOrUpdateUserTestCase(TestCase):
|
|
def test_create_user(self):
|
|
u = create_or_update_user(
|
|
email="daniel@example.com",
|
|
first_name="Daniel",
|
|
last_name="Egger",
|
|
sso_id="12229620-81ea-483d-8d96-6ba8be5f9eb7",
|
|
)
|
|
|
|
saved_user = User.objects.get(id=u.id)
|
|
|
|
self.assertEqual(saved_user.email, "daniel@example.com")
|
|
self.assertEqual(saved_user.username, "daniel@example.com")
|
|
self.assertEqual(saved_user.first_name, "Daniel")
|
|
self.assertEqual(saved_user.last_name, "Egger")
|
|
self.assertEqual(str(saved_user.sso_id), "12229620-81ea-483d-8d96-6ba8be5f9eb7")
|
|
|
|
def test_update_existing_user_with_oid(self):
|
|
User.objects.create(
|
|
email="daniel@example.com",
|
|
username="daniel@example.com",
|
|
first_name="Daniel",
|
|
last_name="Egger",
|
|
)
|
|
|
|
create_or_update_user(
|
|
email="daniel@example.com",
|
|
last_name="Egger",
|
|
sso_id="12229620-81ea-483d-8d96-6ba8be5f9eb7",
|
|
)
|
|
|
|
self.assertEqual(1, User.objects.count())
|
|
user = User.objects.first()
|
|
|
|
self.assertEqual(user.email, "daniel@example.com")
|
|
self.assertEqual(user.username, "daniel@example.com")
|
|
self.assertEqual(user.first_name, "Daniel")
|
|
self.assertEqual(user.last_name, "Egger")
|
|
self.assertEqual(str(user.sso_id), "12229620-81ea-483d-8d96-6ba8be5f9eb7")
|
|
|
|
def test_update_existing_user_with_new_last_name(self):
|
|
User.objects.create(
|
|
email="daniel@example.com",
|
|
username="daniel@example.com",
|
|
first_name="Daniel",
|
|
last_name="Egger",
|
|
sso_id="12229620-81ea-483d-8d96-6ba8be5f9eb7",
|
|
)
|
|
|
|
create_or_update_user(
|
|
email="daniel@example.com",
|
|
first_name="Daniel",
|
|
last_name="Marro",
|
|
)
|
|
|
|
self.assertEqual(1, User.objects.count())
|
|
user = User.objects.first()
|
|
|
|
self.assertEqual(user.email, "daniel@example.com")
|
|
self.assertEqual(user.username, "daniel@example.com")
|
|
self.assertEqual(user.first_name, "Daniel")
|
|
self.assertEqual(user.last_name, "Marro")
|
|
self.assertEqual(str(user.sso_id), "12229620-81ea-483d-8d96-6ba8be5f9eb7")
|
|
|
|
def test_update_existing_user_with_new_email(self):
|
|
User.objects.create(
|
|
email="daniel@example.com",
|
|
username="daniel@example.com",
|
|
first_name="Daniel",
|
|
last_name="Egger",
|
|
sso_id="12229620-81ea-483d-8d96-6ba8be5f9eb7",
|
|
)
|
|
|
|
create_or_update_user(
|
|
email="danu@example.com",
|
|
first_name="Daniel",
|
|
last_name="Egger",
|
|
sso_id="12229620-81ea-483d-8d96-6ba8be5f9eb7",
|
|
)
|
|
|
|
self.assertEqual(1, User.objects.count())
|
|
user = User.objects.first()
|
|
|
|
self.assertEqual(user.email, "danu@example.com")
|
|
self.assertEqual(user.username, "danu@example.com")
|
|
self.assertEqual(user.first_name, "Daniel")
|
|
self.assertEqual(user.last_name, "Egger")
|
|
self.assertEqual(str(user.sso_id), "12229620-81ea-483d-8d96-6ba8be5f9eb7")
|