Skip to content
Snippets Groups Projects
Unverified Commit 4fa970f9 authored by Awais Qureshi's avatar Awais Qureshi Committed by GitHub
Browse files

Merge pull request #23704 from edx/awais786/BOM-1515

BOM-1515
parents ca3012c0 aefafab4
No related merge requests found
......@@ -95,7 +95,7 @@ class BulkChangeEnrollmentTests(SharedModuleStoreTestCase):
self._enroll_users(self.course, self.users, 'audit')
CourseModeFactory(course_id=self.course.id, mode_slug='no-id-professional')
with self.assertRaises(CommandError):
with self.assertRaises(CommandError) as err:
call_command(
'bulk_change_enrollment',
org=self.org,
......@@ -105,6 +105,8 @@ class BulkChangeEnrollmentTests(SharedModuleStoreTestCase):
commit=True,
)
self.assertEqual('Error: one of the arguments -c/--course -o/--org is required', text_type(err.exception))
@patch('student.models.tracker')
def test_with_org_and_invalid_to_mode(self, mock_tracker):
"""Verify that enrollments are changed correctly when org was given."""
......@@ -149,7 +151,7 @@ class BulkChangeEnrollmentTests(SharedModuleStoreTestCase):
self._enroll_users(self.course, self.users, 'audit')
CourseModeFactory(course_id=self.course.id, mode_slug='no-id-professional')
with self.assertRaises(CommandError):
with self.assertRaises(CommandError) as err:
args = '--org {org} --from_mode {from_mode} --to_mode {to_mode} --commit'.format(
org='fakeX',
from_mode='audit',
......@@ -157,10 +159,11 @@ class BulkChangeEnrollmentTests(SharedModuleStoreTestCase):
)
call_command(
'bulk_change_enrollment',
*args.split(' ')
'bulk_change_enrollment', *args.split(' ')
)
self.assertEqual('No courses exist for the org "fakeX".', text_type(err.exception))
def test_without_commit(self):
"""Verify that nothing happens when the `commit` flag is not given."""
self._enroll_users(self.course, self.users, 'audit')
......@@ -185,13 +188,19 @@ class BulkChangeEnrollmentTests(SharedModuleStoreTestCase):
self._enroll_users(self.course, self.users, 'audit')
CourseModeFactory(course_id=self.course.id, mode_slug='audit')
with self.assertRaises(CommandError):
args = '--course {course} --from_mode {from_mode}'.format(
course='yolo',
from_mode='audit'
)
with self.assertRaises(CommandError) as err:
call_command(
'bulk_change_enrollment',
course=text_type(self.course.id),
from_mode='audit',
*args.split(' ')
)
self.assertEqual('Error: the following arguments are required: -t/--to_mode', text_type(err.exception))
@ddt.data('from_mode', 'to_mode', 'course')
def test_without_options(self, option):
"""Verify that the command fails when some options are not given."""
......@@ -207,19 +216,31 @@ class BulkChangeEnrollmentTests(SharedModuleStoreTestCase):
def test_bad_course_id(self):
"""Verify that the command fails when the given course ID does not parse."""
with self.assertRaises(CommandError):
call_command('bulk_change_enrollment', from_mode='audit', to_mode='honor', course='yolo', commit=True)
args = '--course {course} --from_mode {from_mode} --to_mode {to_mode}'.format(
course='yolo',
from_mode='audit',
to_mode='honor'
)
with self.assertRaises(CommandError) as err:
call_command('bulk_change_enrollment', *args.split(' '))
self.assertEqual('Course ID yolo is invalid.', text_type(err.exception))
def test_nonexistent_course_id(self):
"""Verify that the command fails when the given course does not exist."""
with self.assertRaises(CommandError):
args = '--course {course} --from_mode {from_mode} --to_mode {to_mode}'.format(
course='course-v1:testX+test+2016',
from_mode='audit',
to_mode='honor'
)
with self.assertRaises(CommandError) as err:
call_command(
'bulk_change_enrollment',
from_mode='audit',
to_mode='honor',
course='course-v1:testX+test+2016',
commit=True
*args.split(' ')
)
self.assertEqual('The given course course-v1:testX+test+2016 does not exist.', text_type(err.exception))
def _assert_mode_changed(self, mock_tracker, course, user, to_mode):
"""Confirm the analytics event was emitted."""
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment