Skip to content

Commit 6e48ffd

Browse files
Merge pull request #28547 from eduNEXT/MJG/fix_missing_profile_for_tests
refactor: replace User.objects.create_user for UserFactory p2
2 parents ca6ef04 + 54627e1 commit 6e48ffd

7 files changed

Lines changed: 19 additions & 17 deletions

File tree

cms/djangoapps/contentstore/views/tests/test_entrance_exam.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
from unittest.mock import patch
88

99
from django.conf import settings
10-
from django.contrib.auth.models import User # lint-amnesty, pylint: disable=imported-auth-user
1110
from django.test.client import RequestFactory
1211
from milestones.tests.utils import MilestonesTestCaseMixin
1312
from opaque_keys.edx.keys import UsageKey
@@ -173,7 +172,7 @@ def test_contentstore_views_entrance_exam_delete(self):
173172
resp = self.client.get(self.exam_url)
174173
self.assertEqual(resp.status_code, 404)
175174

176-
user = User.objects.create(
175+
user = UserFactory.create(
177176
username='test_user',
178177
email='test_user@edx.org',
179178
is_active=True,
@@ -287,7 +286,7 @@ def test_contentstore_views_entrance_exam_get_invalid_user(self):
287286
"""
288287
Unit Test: test_contentstore_views_entrance_exam_get_invalid_user
289288
"""
290-
user = User.objects.create(
289+
user = UserFactory.create(
291290
username='test_user',
292291
email='test_user@edx.org',
293292
is_active=True,

common/djangoapps/student/management/tests/test_change_enterprise_user_username.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
from enterprise.models import EnterpriseCustomer, EnterpriseCustomerUser
1313
from pytest import mark
1414

15+
from common.djangoapps.student.tests.factories import UserFactory
16+
1517

1618
@mark.django_db
1719
class ChangeEnterpriseUserUsernameCommandTests(TestCase):
@@ -25,7 +27,7 @@ def test_user_not_enterprise(self, logger_mock):
2527
"""
2628
Test that the command does not update a user's username if it is not linked to an Enterprise.
2729
"""
28-
user = User.objects.create(is_active=True, username='old_username', email='test@example.com')
30+
user = UserFactory.create(is_active=True, username='old_username', email='test@example.com')
2931
new_username = 'new_username'
3032

3133
post_save_handler = mock.MagicMock()
@@ -41,7 +43,7 @@ def test_username_updated_successfully(self, logger_mock):
4143
"""
4244
Test that the command updates the user's username when the user is linked to an Enterprise.
4345
"""
44-
user = User.objects.create(is_active=True, username='old_username', email='test@example.com')
46+
user = UserFactory.create(is_active=True, username='old_username', email='test@example.com')
4547
site, _ = Site.objects.get_or_create(domain='example.com')
4648
enterprise_customer = EnterpriseCustomer.objects.create(
4749
name='Test EnterpriseCustomer',

common/djangoapps/student/tests/tests.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,7 @@ def test_enrollment(self):
763763

764764
def test_enrollment_non_existent_user(self):
765765
# Testing enrollment of newly unsaved user (i.e. no database entry)
766-
user = User(username="rusty", email="rusty@fake.edx.org")
766+
user = UserFactory(username="rusty", email="rusty@fake.edx.org")
767767
course_id = CourseLocator("edX", "Test101", "2013")
768768
course = CourseOverviewFactory.create(id=course_id)
769769

@@ -781,7 +781,7 @@ def test_enrollment_non_existent_user(self):
781781

782782
@unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
783783
def test_enrollment_by_email(self):
784-
user = User.objects.create(username="jack", email="jack@fake.edx.org")
784+
user = UserFactory.create(username="jack", email="jack@fake.edx.org")
785785
course_id = CourseLocator("edX", "Test101", "2013")
786786
course = CourseOverviewFactory.create(id=course_id)
787787

@@ -818,7 +818,7 @@ def test_enrollment_by_email(self):
818818

819819
@unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
820820
def test_enrollment_multiple_classes(self):
821-
user = User(username="rusty", email="rusty@fake.edx.org")
821+
user = UserFactory(username="rusty", email="rusty@fake.edx.org")
822822
course_id1 = CourseLocator("edX", "Test101", "2013")
823823
course_id2 = CourseLocator("MITx", "6.003z", "2012")
824824
course1 = CourseOverviewFactory.create(id=course_id1)
@@ -843,7 +843,7 @@ def test_enrollment_multiple_classes(self):
843843

844844
@unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
845845
def test_activation(self):
846-
user = User.objects.create(username="jack", email="jack@fake.edx.org")
846+
user = UserFactory.create(username="jack", email="jack@fake.edx.org")
847847
course_id = CourseLocator("edX", "Test101", "2013")
848848
course = CourseOverviewFactory.create(id=course_id)
849849
assert not CourseEnrollment.is_enrolled(user, course_id)
@@ -881,7 +881,7 @@ def test_activation(self):
881881
self.assert_enrollment_event_was_emitted(user, course_id, course, enrollment)
882882

883883
def test_change_enrollment_modes(self):
884-
user = User.objects.create(username="justin", email="jh@fake.edx.org")
884+
user = UserFactory.create(username="justin", email="jh@fake.edx.org")
885885
course_id = CourseLocator("edX", "Test101", "2013")
886886
course = CourseOverviewFactory.create(id=course_id)
887887

common/lib/xmodule/xmodule/modulestore/tests/django_utils.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from unittest.mock import patch
1212

1313
from django.conf import settings
14-
from django.contrib.auth.models import AnonymousUser, User # lint-amnesty, pylint: disable=imported-auth-user
14+
from django.contrib.auth.models import AnonymousUser
1515
from django.db import connections
1616
from django.test import TestCase
1717
from django.test.utils import override_settings
@@ -525,7 +525,7 @@ def setUp(self):
525525

526526
if self.CREATE_USER:
527527
# Create the user so we can log them in.
528-
self.user = User.objects.create_user(uname, email, self.user_password)
528+
self.user = UserFactory.create(username=uname, email=email, password=self.user_password)
529529

530530
# Note that we do not actually need to do anything
531531
# for registration if we directly mark them active.
@@ -542,7 +542,7 @@ def create_non_staff_user(self):
542542
"""
543543
uname = 'teststudent'
544544
password = 'foo'
545-
nonstaff_user = User.objects.create_user(uname, 'test+student@edx.org', password)
545+
nonstaff_user = UserFactory.create(username=uname, email='test+student@edx.org', password=password)
546546

547547
# Note that we do not actually need to do anything
548548
# for registration if we directly mark them active.

lms/djangoapps/grades/management/commands/tests/test_compute_grades.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
import ddt
99
import pytest
10-
from django.contrib.auth import get_user_model
1110
from django.core.management import CommandError, call_command
1211

12+
from common.djangoapps.student.tests.factories import UserFactory
1313
from common.djangoapps.student.models import CourseEnrollment
1414
from lms.djangoapps.grades.config.models import ComputeGradesSetting
1515
from lms.djangoapps.grades.management.commands import compute_grades
@@ -32,7 +32,7 @@ def setUpClass(cls):
3232

3333
cls.courses = [CourseFactory.create() for _ in range(cls.num_courses)]
3434
cls.course_keys = [str(course.id) for course in cls.courses]
35-
cls.users = [get_user_model().objects.create(username=f'user{idx}') for idx in range(cls.num_users)]
35+
cls.users = [UserFactory.create(username=f'user{idx}') for idx in range(cls.num_users)]
3636

3737
for user in cls.users:
3838
for course in cls.courses:

openedx/core/djangoapps/credit/tests/test_services.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ def setUp(self):
2626
self.service = CreditService()
2727
self.course = CourseFactory.create(org='edX', number='DemoX', display_name='Demo_Course')
2828
self.credit_course = CreditCourse.objects.create(course_key=self.course.id, enabled=True)
29-
self.profile = UserProfile.objects.create(user_id=self.user.id, name='Foo Bar')
29+
self.user.profile.name = 'Foo Bar'
30+
self.user.profile.save()
3031

3132
def enroll(self, course_id=None, mode=CourseMode.VERIFIED):
3233
"""

openedx/core/djangoapps/user_authn/views/tests/test_login.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def setUp(self):
7070
self.url = reverse('login_api')
7171

7272
def _create_user(self, username, user_email):
73-
user = UserFactory.build(username=username, email=user_email)
73+
user = UserFactory.create(username=username, email=user_email)
7474
user.set_password(self.password)
7575
user.save()
7676
return user

0 commit comments

Comments
 (0)